Message ID | 20230614225407.96216-1-graf@amazon.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | None | expand |
On 15/6/23 00:54, Alexander Graf wrote: > MacOS unconditionally disables interrupts of the physical timer on boot > and then continues to use the virtual one. We don't really want to support > a full physical timer emulation, so let's just ignore those writes. > > Signed-off-by: Alexander Graf <graf@amazon.com> > --- > target/arm/hvf/hvf.c | 7 +++++++ > 1 file changed, 7 insertions(+) > @@ -1551,6 +1552,12 @@ static int hvf_sysreg_write(CPUState *cpu, uint32_t reg, uint64_t val) > case SYSREG_OSLAR_EL1: > env->cp15.oslsr_el1 = val & 1; > break; > + case SYSREG_CNTP_CTL_EL0: > + /* > + * Guests should not rely on the physical counter, but macOS emits > + * disable writes to it. Let it do so, but ignore the requests. > + */ Still it could be useful to report that calling qemu_log_mask(LOG_UNIMP,...) here. > + break;
diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 8f72624586..0dff63fb5f 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -179,6 +179,7 @@ void hvf_arm_init_debug(void) #define SYSREG_OSLSR_EL1 SYSREG(2, 0, 1, 1, 4) #define SYSREG_OSDLR_EL1 SYSREG(2, 0, 1, 3, 4) #define SYSREG_CNTPCT_EL0 SYSREG(3, 3, 14, 0, 1) +#define SYSREG_CNTP_CTL_EL0 SYSREG(3, 3, 14, 2, 1) #define SYSREG_PMCR_EL0 SYSREG(3, 3, 9, 12, 0) #define SYSREG_PMUSERENR_EL0 SYSREG(3, 3, 9, 14, 0) #define SYSREG_PMCNTENSET_EL0 SYSREG(3, 3, 9, 12, 1) @@ -1551,6 +1552,12 @@ static int hvf_sysreg_write(CPUState *cpu, uint32_t reg, uint64_t val) case SYSREG_OSLAR_EL1: env->cp15.oslsr_el1 = val & 1; break; + case SYSREG_CNTP_CTL_EL0: + /* + * Guests should not rely on the physical counter, but macOS emits + * disable writes to it. Let it do so, but ignore the requests. + */ + break; case SYSREG_OSDLR_EL1: /* Dummy register */ break;
MacOS unconditionally disables interrupts of the physical timer on boot and then continues to use the virtual one. We don't really want to support a full physical timer emulation, so let's just ignore those writes. Signed-off-by: Alexander Graf <graf@amazon.com> --- target/arm/hvf/hvf.c | 7 +++++++ 1 file changed, 7 insertions(+)