On Wed, 04 Oct 2023 18:08:33 +0100, Oliver Upton <oliver.upton@xxxxxxxxx> wrote: > > On Wed, Oct 04, 2023 at 09:57:44AM +0100, Marc Zyngier wrote: > > On Wed, 04 Oct 2023 00:04:01 +0100, > > Oliver Upton <oliver.upton@xxxxxxxxx> wrote: > > > > > > Since ID_AA64DFR0_EL1 and ID_DFR0_EL1 are now writable from userspace, > > > it is safe to bump up the default KVM sanitised debug version to v8p8. > > > > > > Signed-off-by: Jing Zhang <jingzhangos@xxxxxxxxxx> > > > Signed-off-by: Oliver Upton <oliver.upton@xxxxxxxxx> > > > > The SoB sequence looks odd. Either you're the author, and Jing's SoB > > shouldn't be there without a Co-DB tag, or you've lost Jing's > > attribution (which sometimes happens when rebasing and squashing > > patches together). > > This is an artifact of me applying Jing's version of the series and > hacking on top of it. > > > > --- > > > arch/arm64/kvm/sys_regs.c | 11 +++++++---- > > > 1 file changed, 7 insertions(+), 4 deletions(-) > > > > > > diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c > > > index 8fbfe61fe7bc..b342c96e08f4 100644 > > > --- a/arch/arm64/kvm/sys_regs.c > > > +++ b/arch/arm64/kvm/sys_regs.c > > > @@ -1496,8 +1496,7 @@ static u64 read_sanitised_id_aa64dfr0_el1(struct kvm_vcpu *vcpu, > > > { > > > u64 val = read_sanitised_ftr_reg(SYS_ID_AA64DFR0_EL1); > > > > > > - /* Limit debug to ARMv8.0 */ > > > - val = ID_REG_LIMIT_FIELD_ENUM(val, ID_AA64DFR0_EL1, DebugVer, IMP); > > > + val = ID_REG_LIMIT_FIELD_ENUM(val, ID_AA64DFR0_EL1, DebugVer, V8P8); > > > > > > /* > > > * Only initialize the PMU version if the vCPU was configured with one. > > > @@ -1557,6 +1556,8 @@ static u64 read_sanitised_id_dfr0_el1(struct kvm_vcpu *vcpu, > > > if (kvm_vcpu_has_pmu(vcpu)) > > > val |= SYS_FIELD_PREP(ID_DFR0_EL1, PerfMon, perfmon); > > > > > > + val = ID_REG_LIMIT_FIELD_ENUM(val, ID_DFR0_EL1, CopDbg, Debugv8p8); > > > + > > > > For consistency, you should also repaint DBGDIDR, which has a > > hardcoded '6' (ARMv8) as the supported debug version. > > Ah, good point. I'll extract the value from the ID register much like we > do for other fields in DBGDIDR: > > commit b92565ca433f611ea0901a6098d72f91be84cdb0 > Author: Oliver Upton <oliver.upton@xxxxxxxxx> > Date: Wed Oct 4 17:03:17 2023 +0000 > > KVM: arm64: Advertise selected DebugVer in DBGDIDR.Version > > Much like we do for other fields, extract the Debug architecture version > from the ID register to populate the corresponding field in DBGDIDR. > Rewrite the existing sysreg field extractors to use SYS_FIELD_GET() for > consistency. > > Suggested-by: Marc Zyngier <maz@xxxxxxxxxx> > Signed-off-by: Oliver Upton <oliver.upton@xxxxxxxxx> Reviewed-by: Marc Zyngier <maz@xxxxxxxxxx> M. -- Without deviation from the norm, progress is not possible.