Hi Shameer, On 9/11/26 3:50 PM, Shameer Kolothum Thodi wrote: > Hi Eric, > >> -----Original Message----- >> From: Eric Auger <[email protected]> >> Sent: 26 August 2026 10:36 >> To: [email protected]; [email protected]; qemu- >> [email protected]; [email protected]; [email protected]; >> [email protected]; [email protected]; >> [email protected]; [email protected]; >> [email protected]; [email protected]; [email protected]; >> Shameer Kolothum Thodi <[email protected]>; >> [email protected] >> Cc: [email protected]; [email protected]; [email protected]; >> [email protected]; [email protected]; [email protected]; >> [email protected] >> Subject: [RFC PATCH v8 15/20] target/arm/kvm: Ignore and trace unexpected >> writable reserved fields >> >> External email: Use caution opening links or attachments >> >> >> KVM currently reports some bits as writable whereas they are >> RES0 or RAZ. The code easily allows to do some sanity checking >> for such inconsistencies. Let's add a trace event when this is >> encountered and skip the field >> >> Signed-off-by: Eric Auger <[email protected]> >> --- >> target/arm/kvm.c | 8 ++++++++ >> target/arm/trace-events | 1 + >> 2 files changed, 9 insertions(+) >> >> diff --git a/target/arm/kvm.c b/target/arm/kvm.c >> index 2557d7b0d9..8ec9bc51cd 100644 >> --- a/target/arm/kvm.c >> +++ b/target/arm/kvm.c >> @@ -433,6 +433,14 @@ decode_idreg_writemap(Object *obj, >> ARM64SysReg *reg) >> } >> lower = field->shift; >> upper = field->shift + field->length - 1; >> + >> + /* Sanity check the field is not a reserved field */ >> + if (strstr(field->name, "RES0") || strstr(field->name, "RES1") || >> + strstr(field->name, "RAZ")) { >> + trace_unexpected_writable_reserved_field(reg->name, field->name, >> + lower, upper); > This hangs QEMU on my setup, the guest never starts. > I think, we need to advance map/i: > > + map &= ~MAKE_64BIT_MASK(lower, field->length); > + i = ctz64(map);
Thank you for the report. Corrected in v9 Eric > > Thanks, > Shameer >
