Instead of considering reads there to be fatal, mark it as unimplemented. This is to allow experimentation on using configurations other than the Apple vGIC.
Signed-off-by: Mohamed Mediouni <moha...@unpredictable.fr> --- target/arm/hvf/hvf.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 63b7967053..f17fb0695a 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -300,6 +300,7 @@ void hvf_arm_init_debug(void) /* EL2 registers */ #define SYSREG_CNTHCTL_EL2 SYSREG(3, 4, 14, 1, 0) #define SYSREG_MDCCINT_EL1 SYSREG(2, 0, 0, 2, 0) +#define SYSREG_CNTP_CVAL_EL0 SYSREG(3, 3, 14, 2, 2) #define WFX_IS_WFE (1 << 0) @@ -1399,6 +1400,12 @@ static int hvf_sysreg_read(CPUState *cpu, uint32_t reg, uint64_t *val) case SYSREG_CNTHCTL_EL2: assert_hvf_ok(hv_vcpu_get_sys_reg(cpu->accel->fd, HV_SYS_REG_CNTHCTL_EL2, val)); return 0; + case SYSREG_CNTP_CTL_EL0: + qemu_log_mask(LOG_UNIMP, "Unsupported read from CNTP_CTL_EL0\n"); + return 0; + case SYSREG_CNTP_CVAL_EL0: + qemu_log_mask(LOG_UNIMP, "Unsupported read from CNTP_CVAL_EL0\n"); + return 0; case SYSREG_MDCCINT_EL1: assert_hvf_ok(hv_vcpu_get_sys_reg(cpu->accel->fd, HV_SYS_REG_MDCCINT_EL1, val)); return 0; @@ -1719,6 +1726,9 @@ static int hvf_sysreg_write(CPUState *cpu, uint32_t reg, uint64_t val) */ qemu_log_mask(LOG_UNIMP, "Unsupported write to CNTP_CTL_EL0\n"); return 0; + case SYSREG_CNTP_CVAL_EL0: + qemu_log_mask(LOG_UNIMP, "Unsupported write to CNTP_CVAL_EL0\n"); + return 0; case SYSREG_OSDLR_EL1: /* Dummy register */ return 0; -- 2.39.5 (Apple Git-154)