Re: [PATCH 08/11] KVM: arm64: Inject AArch32 exceptions from HYP

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

 



On 2020-10-28 19:20, James Morse wrote:
Hi Marc,

On 27/10/2020 19:21, Marc Zyngier wrote:
+static inline u32 __vcpu_read_cp15(const struct kvm_vcpu *vcpu, int reg)
+{
+    return __vcpu_read_sys_reg(vcpu, reg / 2);
+}

Doesn't this re-implement the issue 3204be4109ad biased?

I don't think it does. The issue existed when accessing the 32bit shadow, and we had to pick which side of the 64bit register had our 32bit value.
Here, we directly access the 64bit file, which is safe.

Because its not accessing the copro union, and the two users are both
straight forward aliases.

...

What do I get if I call:
| __vcpu_read_cp15(vcpu, c6_IFAR);

Won't this return the value of c6_DFAR instead as they live in the
same 64 bit register.

Yes, that would break. Not in this bit of code though.



But thinking of it, we may as well change the call sites to directly
use the 64bit enum, rather than playing games

Great!

Yeah, and there is a bunch of ... crap around this aliasing.
Unfortunately, I just noticed that 32bit guests are borked in -rc1.
Debug time.

        M.
--
Jazz is not dead. It just smells funny...



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux