| /* SPDX-License-Identifier: GPL-2.0 */ |
| |
| #if !defined(__ARM64_KVM_HYPEVENTS_H_) || defined(HYP_EVENT_MULTI_READ) |
| #define __ARM64_KVM_HYPEVENTS_H_ |
| |
| #ifdef __KVM_NVHE_HYPERVISOR__ |
| #include <nvhe/trace.h> |
| #endif |
| |
| /* |
| * Hypervisor events definitions. |
| */ |
| |
| HYP_EVENT(hyp_enter, |
| HE_PROTO(void), |
| HE_STRUCT( |
| ), |
| HE_ASSIGN( |
| ), |
| HE_PRINTK(" ") |
| ); |
| |
| HYP_EVENT(hyp_exit, |
| HE_PROTO(void), |
| HE_STRUCT( |
| ), |
| HE_ASSIGN( |
| ), |
| HE_PRINTK(" ") |
| ); |
| |
| HYP_EVENT(host_hcall, |
| HE_PROTO(unsigned int id, u8 invalid), |
| HE_STRUCT( |
| he_field(unsigned int, id) |
| he_field(u8, invalid) |
| ), |
| HE_ASSIGN( |
| __entry->id = id; |
| __entry->invalid = invalid; |
| ), |
| HE_PRINTK("id=%u invalid=%u", |
| __entry->id, __entry->invalid) |
| ); |
| |
| HYP_EVENT(host_smc, |
| HE_PROTO(u64 id, u8 forwarded), |
| HE_STRUCT( |
| he_field(u64, id) |
| he_field(u8, forwarded) |
| ), |
| HE_ASSIGN( |
| __entry->id = id; |
| __entry->forwarded = forwarded; |
| ), |
| HE_PRINTK("id=%llu forwarded=%u", |
| __entry->id, __entry->forwarded) |
| ); |
| |
| |
| HYP_EVENT(host_mem_abort, |
| HE_PROTO(u64 esr, u64 addr), |
| HE_STRUCT( |
| he_field(u64, esr) |
| he_field(u64, addr) |
| ), |
| HE_ASSIGN( |
| __entry->esr = esr; |
| __entry->addr = addr; |
| ), |
| HE_PRINTK("esr=0x%llx addr=0x%llx", |
| __entry->esr, __entry->addr) |
| ); |
| |
| #ifdef CONFIG_PROTECTED_NVHE_TESTING |
| HYP_EVENT(selftest, |
| HE_PROTO(void), |
| HE_STRUCT(), |
| HE_ASSIGN(), |
| HE_PRINTK(" ") |
| ); |
| #endif |
| |
| #endif /* __ARM64_KVM_HYPEVENTS_H_ */ |