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.


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

Great!


> (we used to use the 32bit definition for the sake of the defunct 32bit port).


Thanks,

James
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to