Initiali support for CWSR on thunk

1. Add IOCTL defines to set trap handler
2. Add control stack size information on create queue argument.
3. Increase the total save&restore area size for carrizo to include the control stack size.

Signed-off-by: Shaoyun Liu <Shaoyun.liu@amd.com>

Change-Id: Iccf15e073b7db2519e96e7f7b46a89d57ab9a4df
Šī revīzija ir iekļauta:
shaoyunl
2015-09-21 17:33:23 -04:00
revīziju iesūtīja Gerrit Code Review
vecāks 1897acd78e
revīzija 2d63ee7b8f
2 mainīti faili ar 50 papildinājumiem un 4 dzēšanām
+13 -2
Parādīt failu
@@ -58,7 +58,8 @@ struct kfd_ioctl_create_queue_args {
uint64_t eop_buffer_address; /* to KFD */
uint64_t eop_buffer_size; /* to KFD */
uint64_t ctx_save_restore_address; /* to KFD */
uint64_t ctx_save_restore_size; /* to KFD */
uint32_t ctx_save_restore_size; /* to KFD */
uint32_t ctl_stack_size; /* to KFD */
};
struct kfd_ioctl_destroy_queue_args {
@@ -95,6 +96,13 @@ struct kfd_ioctl_set_memory_policy_args {
uint32_t pad;
};
struct kfd_ioctl_set_trap_handler_args {
uint64_t tba_addr;
uint64_t tma_addr;
uint32_t gpu_id; /* to KFD */
uint32_t pad;
};
/*
* All counters are monotonic. They are used for profiling of compute jobs.
* The profiling is done by userspace.
@@ -379,7 +387,10 @@ struct kfd_ioctl_alloc_memory_of_gpu_new_args {
AMDKFD_IOWR(0x19, struct kfd_ioctl_alloc_memory_of_gpu_new_args)
#define AMDKFD_IOC_SET_TRAP_HANDLER \
AMDKFD_IOW(0x1a, struct kfd_ioctl_set_trap_handler_args)
#define AMDKFD_COMMAND_START 0x01
#define AMDKFD_COMMAND_END 0x20
#define AMDKFD_COMMAND_END 0x1b
#endif