[PATCH] KVM: arm64: Fix architecturally invalid reset value for FPEXC32_EL2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 22 Feb 2019 10:56:07 +0000
Dave Martin <Dave.Martin at arm.com> wrote:

> On Fri, Feb 22, 2019 at 10:01:03AM +0000, Marc Zyngier wrote:
> > On Thu, 21 Feb 2019 11:42:32 +0000
> > Dave Martin <Dave.Martin at arm.com> wrote:
> >   
> > > Due to what looks like a typo dating back to the original addition
> > > of FPEXC32_EL2 handling, KVM currently initialises this register to
> > > an architecturally invalid value.
> > > 
> > > As a result, the VECITR field (RES1) in bits [10:8] is initialised
> > > with 0, and the two reserved (RES0) bits [6:5] are initialised with
> > > 1.  (In the Common VFP Subarchitecture as specified by ARMv7-A,
> > > these two bits were IMP DEF.  ARMv8-A removes them.)
> > > 
> > > This patch changes the reset value from 0x70 to 0x700, which
> > > reflects the architectural constraints and is presumably what was
> > > originally intended.
> > > 
> > > Cc: <stable at vger.kernel.org> # 4.12.x-
> > > Cc: Marc Zyngier <marc.zyngier at arm.com>
> > > Cc: Christoffer Dall <christoffer.dall at arm.com>
> > > Fixes: 62a89c44954f ("arm64: KVM: 32bit handling of coprocessor traps")
> > > Signed-off-by: Dave Martin <Dave.Martin at arm.com>  
> > 
> > Applied to -next.
> > 
> > Thanks,  
> 
> Thanks.
> 
> I have a patch for <= v4.11 which I can send to stable once this patch
> reaches torvalds/master.
> 
> Is it worth it though, in your opinion?

I don't think it has much value. To be honest, this patch mostly serves
as documentation, as any implementation worth its salt will honour the
RES0/RES1 properties. I've kept the cc stable in your original patch,
but arguably it doesn't fix anything real.

Thanks,

	M.
-- 
Without deviation from the norm, progress is not possible.


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux