This adds SDEI case in hypercall tests. The added hypercalls are issued to mimic what guest kernel does: reset the shared and private events, unmask PE, register/enable/disable/unregister event, and then mask PE. Signed-off-by: Gavin Shan <gshan@xxxxxxxxxx> --- tools/testing/selftests/kvm/aarch64/hypercalls.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/kvm/aarch64/hypercalls.c b/tools/testing/selftests/kvm/aarch64/hypercalls.c index 41e0210b7a5e..1377d2ec8d4b 100644 --- a/tools/testing/selftests/kvm/aarch64/hypercalls.c +++ b/tools/testing/selftests/kvm/aarch64/hypercalls.c @@ -11,6 +11,7 @@ #include <errno.h> #include <linux/arm-smccc.h> +#include <linux/arm_sdei.h> #include <asm/kvm.h> #include <kvm_util.h> @@ -19,7 +20,7 @@ #define FW_REG_ULIMIT_VAL(max_feat_bit) (GENMASK(max_feat_bit, 0)) /* Last valid bits of the bitmapped firmware registers */ -#define KVM_REG_ARM_STD_BMAP_BIT_MAX 0 +#define KVM_REG_ARM_STD_BMAP_BIT_MAX 1 #define KVM_REG_ARM_STD_HYP_BMAP_BIT_MAX 0 #define KVM_REG_ARM_VENDOR_HYP_BMAP_BIT_MAX 1 @@ -68,6 +69,14 @@ static const struct test_hvc_info hvc_info[] = { TEST_HVC_INFO(ARM_SMCCC_TRNG_GET_UUID, 0), TEST_HVC_INFO(ARM_SMCCC_TRNG_RND32, 0), TEST_HVC_INFO(ARM_SMCCC_TRNG_RND64, 0), + TEST_HVC_INFO(SDEI_1_0_FN_SDEI_SHARED_RESET, 0), + TEST_HVC_INFO(SDEI_1_0_FN_SDEI_PRIVATE_RESET, 0), + TEST_HVC_INFO(SDEI_1_0_FN_SDEI_PE_UNMASK, 0), + TEST_HVC_INFO(SDEI_1_0_FN_SDEI_EVENT_REGISTER, SDEI_SW_SIGNALED_EVENT), + TEST_HVC_INFO(SDEI_1_0_FN_SDEI_EVENT_ENABLE, SDEI_SW_SIGNALED_EVENT), + TEST_HVC_INFO(SDEI_1_0_FN_SDEI_EVENT_DISABLE, SDEI_SW_SIGNALED_EVENT), + TEST_HVC_INFO(SDEI_1_0_FN_SDEI_EVENT_UNREGISTER, SDEI_SW_SIGNALED_EVENT), + TEST_HVC_INFO(SDEI_1_0_FN_SDEI_PE_MASK, 0), /* KVM_REG_ARM_STD_HYP_BMAP */ TEST_HVC_INFO(ARM_SMCCC_ARCH_FEATURES_FUNC_ID, ARM_SMCCC_HV_PV_TIME_FEATURES), -- 2.23.0 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm