Re: [PATCH v4 04/18] KVM: arm64: selftests: Introduce ARM64_SYS_KVM_REG
flat view
From: Raghavendra Rao Ananta <hidden>
Date: 2021-09-09 16:49:19
Also in:
kvm, kvmarm, lkml
On Wed, Sep 8, 2021 at 8:02 PM Oliver Upton [off-list ref] wrote:
Hi Raghu, On Thu, Sep 09, 2021 at 01:38:04AM +0000, Raghavendra Rao Ananta wrote:quoted
With the inclusion of sysreg.h, that brings in system register encodings, it would be redundant to re-define register encodings again in processor.h to use it with ARM64_SYS_REG for the KVM functions such as set_reg() or get_reg(). Hence, add helper macro, ARM64_SYS_KVM_REG, that converts SYS_* definitions in sysreg.h into ARM64_SYS_REG definitions. Signed-off-by: Raghavendra Rao Ananta <redacted> --- .../selftests/kvm/include/aarch64/processor.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+)diff --git a/tools/testing/selftests/kvm/include/aarch64/processor.h b/tools/testing/selftests/kvm/include/aarch64/processor.h index bed4ffa70905..ac8b63f8aab7 100644 --- a/tools/testing/selftests/kvm/include/aarch64/processor.h +++ b/tools/testing/selftests/kvm/include/aarch64/processor.h@@ -26,6 +26,20 @@ #define ID_AA64DFR0_EL1 3, 0, 0, 5, 0 +/* + * ARM64_SYS_KVM_REG(sys_reg_id): Helper macro to convert + * SYS_* register definitions in sysreg.h to use in KVM + * calls such as get_reg() and set_reg(). + */ +#define ARM64_SYS_KVM_REG(sys_reg_id) \nit: KVM_ARM64_SYS_REG() perhaps? Dunno which is more readable.quoted
+({ \ + ARM64_SYS_REG(sys_reg_Op0(sys_reg_id), \ + sys_reg_Op1(sys_reg_id), \ + sys_reg_CRn(sys_reg_id), \ + sys_reg_CRm(sys_reg_id), \ + sys_reg_Op2(sys_reg_id)); \ +}) +
Heh, I came up with the logic faster than picking a name for the macro. I guess KVM_ARM64_SYS_REG may be more readable, just for the fact that it begins with KVM_. I'll change it. Regards, Raghavendra
Could you also switch all current users of ARM64_SYS_REG() in the KVM selftests directory in this commit? You can also drop the system register encodings defined in processor.h
I did that in a separate patch, but I can squash it here to avoid confusion. Regards, Raghavendra
-- Thanks, Oliver
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel