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

Peter Maydell peter.maydell at linaro.org
Tue Oct 9 14:11:52 EDT 2012


On 1 October 2012 10:11, Christoffer Dall <c.dall at virtualopensystems.com> wrote:
> From: Rusty Russell <rusty.russell at 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>' ?)

-- PMM



More information about the linux-arm-kernel mailing list