1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 #ifndef HYP_EVENT_FILE 4 # define __HYP_EVENT_FILE <asm/kvm_hypevents.h> 5 #else 6 # define __HYP_EVENT_FILE __stringify(HYP_EVENT_FILE) 7 #endif 8 9 #undef HYP_EVENT 10 #define HYP_EVENT(__name, __proto, __struct, __assign, __printk) \ 11 atomic_t __ro_after_init __name##_enabled = ATOMIC_INIT(0); \ 12 struct hyp_event_id hyp_event_id_##__name \ 13 __section(".hyp.event_ids." # __name) = { \ 14 .data = (void *)&__name##_enabled, \ 15 } 16 17 #define HYP_EVENT_MULTI_READ 18 #include __HYP_EVENT_FILE 19 #undef HYP_EVENT_MULTI_READ 20 21 #undef HYP_EVENT 22