Getting compiler issues when using GIC V3 in 64bit mode Update the sysreg macros to solve these compiler issues
Signed-off-by: Nikhil Devshatwar <[email protected]> --- hypervisor/arch/arm-common/include/asm/gic_v3.h | 2 +- hypervisor/arch/arm64/include/asm/sysregs.h | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/hypervisor/arch/arm-common/include/asm/gic_v3.h b/hypervisor/arch/arm-common/include/asm/gic_v3.h index d1b9346..1fcd5a4 100644 --- a/hypervisor/arch/arm-common/include/asm/gic_v3.h +++ b/hypervisor/arch/arm-common/include/asm/gic_v3.h @@ -70,7 +70,7 @@ #define ICC_SRE_EL1 SYSREG_32(0, c12, c12, 5) #define ICC_SRE_EL2 SYSREG_32(4, c12, c9, 5) #define ICC_IGRPEN1_EL1 SYSREG_32(0, c12, c12, 7) -#define ICC_SGI1R_EL1 SYSREG_64(0, c12) +#define ICC_SGI1R_EL1 SYSREG_64(0, c12, c11, 5) #define ICC_AP1R0_EL1 SYSREG_32(0, c12, c9, 0) #define ICC_AP1R1_EL1 SYSREG_32(0, c12, c9, 1) #define ICC_AP1R2_EL1 SYSREG_32(0, c12, c9, 2) diff --git a/hypervisor/arch/arm64/include/asm/sysregs.h b/hypervisor/arch/arm64/include/asm/sysregs.h index d0f8fa3..565012b 100644 --- a/hypervisor/arch/arm64/include/asm/sysregs.h +++ b/hypervisor/arch/arm64/include/asm/sysregs.h @@ -146,11 +146,17 @@ #ifndef __ASSEMBLY__ -#define arm_write_sysreg(sysreg, val) \ +#define SYSREG_32(a, b, c, d) s3_##a ##_##b ##_##c ##_##d +#define SYSREG_64(a, b, c, d) s3_##a ##_##b ##_##c ##_##d + + +#define arm_write_sysreg1(sysreg, val) \ asm volatile ("msr "#sysreg", %0\n" : : "r"((u64)(val))) +#define arm_write_sysreg(a , b) arm_write_sysreg1( a, b) -#define arm_read_sysreg(sysreg, val) \ - asm volatile ("mrs %0, "#sysreg"\n" : "=r"((u64)(val))) +#define arm_read_sysreg1(sysreg, val) \ + asm volatile ("mrs %0, "#sysreg"\n" : "=r"((val))) +#define arm_read_sysreg(a , b) arm_read_sysreg1( a, b) #endif /* __ASSEMBLY__ */ -- 1.9.1 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
