KFD_SMI_EVENT_THERMAL_THROTTLE = 2,
        KFD_SMI_EVENT_GPU_PRE_RESET = 3,
        KFD_SMI_EVENT_GPU_POST_RESET = 4,
+       KFD_SMI_EVENT_MIGRATE_START = 5,
+       KFD_SMI_EVENT_MIGRATE_END = 6,
+       KFD_SMI_EVENT_PAGE_FAULT_START = 7,
+       KFD_SMI_EVENT_PAGE_FAULT_END = 8,
+       KFD_SMI_EVENT_QUEUE_EVICTION = 9,
+       KFD_SMI_EVENT_QUEUE_RESTORE = 10,
+       KFD_SMI_EVENT_UNMAP_FROM_GPU = 11,
+
+       /*
+        * max event number, as a flag bit to get events from all processes,
+        * this requires super user permission, otherwise will not be able to
+        * receive event from any process. Without this flag to receive events
+        * from same process.
+        */
+       KFD_SMI_EVENT_ALL_PROCESS = 64
+};
+
+enum KFD_MIGRATE_TRIGGERS {
+       KFD_MIGRATE_TRIGGER_PREFETCH,
+       KFD_MIGRATE_TRIGGER_PAGEFAULT_GPU,
+       KFD_MIGRATE_TRIGGER_PAGEFAULT_CPU,
+       KFD_MIGRATE_TRIGGER_TTM_EVICTION
+};
+
+enum KFD_QUEUE_EVICTION_TRIGGERS {
+       KFD_QUEUE_EVICTION_TRIGGER_SVM,
+       KFD_QUEUE_EVICTION_TRIGGER_USERPTR,
+       KFD_QUEUE_EVICTION_TRIGGER_TTM,
+       KFD_QUEUE_EVICTION_TRIGGER_SUSPEND,
+       KFD_QUEUE_EVICTION_CRIU_CHECKPOINT,
+       KFD_QUEUE_EVICTION_CRIU_RESTORE
+};
+
+enum KFD_SVM_UNMAP_TRIGGERS {
+       KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY,
+       KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY_MIGRATE,
+       KFD_SVM_UNMAP_TRIGGER_UNMAP_FROM_CPU
 };
 
 #define KFD_SMI_EVENT_MASK_FROM_INDEX(i) (1ULL << ((i) - 1))