Re: [kvmarm] [PATCH v2 12/14] KVM: ARM: VFP userspace interface

Christoffer Dall
2012-10-09T18:13:09Z

On Tue, Oct 9, 2012 at 2:11 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 1 October 2012 10:11, Christoffer Dall <c.dall@virtualopensystems.com> wrote:
>> From: Rusty Russell <rusty.russell@linaro.org>
>> --- a/Documentation/virtual/kvm/api.txt
>> +++ b/Documentation/virtual/kvm/api.txt
>> @@ -1765,6 +1765,12 @@ ARM 64-bit CP15 registers have the following id bit patterns:
>> ARM CCSIDR registers are demultiplexed by CSSELR value:
>> 0x4002 0000 0011 00 <csselr:8>
>>
>> +ARM 32-bit VFP control registers have the following id bit patterns:
>> + 0x4002 0000 0012 1 <selector:3>
>> +
>> +ARM 64-bit FP registers have the following id bit patterns:
>> + 0x4002 0000 0012 0 <selector:3>
>> +
>
> In the other entries in this section, <foo:3> indicates a 3 bit field.
> But I think for these two it's trying to indicate a 3 byte field.
> Compare the include file constants:
>
> +#define KVM_REG_ARM_VFP (0x0012 <<
> KVM_REG_ARM_COPROC_SHIFT)
> +#define KVM_REG_ARM_VFP_MASK 0x000000000000FFFF
> +#define KVM_REG_ARM_VFP_BASE_REG 0x0
> +#define KVM_REG_ARM_VFP_FPSID 0x1000
> +#define KVM_REG_ARM_VFP_FPSCR 0x1001
>
> so eg the first control register is
> 0x4002 0000 0012 1000
> and the first D reg is
> 0x4002 0000 0012 0000
>
> So my guess is these should be <selector:12>
> (or possibly even something slightly more specific than 'selector'
> like '<regno:12>' ?)
>
right you are, I'll modify this.

Thanks,
-Christoffer