summaryrefslogtreecommitdiffstats
path: root/arch/arm/include/uapi
diff options
context:
space:
mode:
authorRusty Russell <rusty.russell@linaro.org>2013-01-21 00:28:11 +0100
committerChristoffer Dall <c.dall@virtualopensystems.com>2013-01-23 19:29:15 +0100
commit4fe21e4c6def3c6a8f609893b4d5c72bc186d0d5 (patch)
treeb470777c1726f41c4d3dd657962ae0c178f9b935 /arch/arm/include/uapi
parentKVM: ARM: Demux CCSIDR in the userspace API (diff)
downloadlinux-4fe21e4c6def3c6a8f609893b4d5c72bc186d0d5.tar.xz
linux-4fe21e4c6def3c6a8f609893b4d5c72bc186d0d5.zip
KVM: ARM: VFP userspace interface
We use space #18 for floating point regs. Reviewed-by: Will Deacon <will.deacon@arm.com> Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
Diffstat (limited to 'arch/arm/include/uapi')
-rw-r--r--arch/arm/include/uapi/asm/kvm.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/include/uapi/asm/kvm.h b/arch/arm/include/uapi/asm/kvm.h
index 71ae27ec0599..bbb6b2328004 100644
--- a/arch/arm/include/uapi/asm/kvm.h
+++ b/arch/arm/include/uapi/asm/kvm.h
@@ -112,6 +112,18 @@ struct kvm_arch_memory_slot {
#define KVM_REG_ARM_DEMUX_VAL_MASK 0x00000000000000FF
#define KVM_REG_ARM_DEMUX_VAL_SHIFT 0
+/* VFP registers: we could overload CP10 like ARM does, but that's ugly. */
+#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
+#define KVM_REG_ARM_VFP_MVFR1 0x1006
+#define KVM_REG_ARM_VFP_MVFR0 0x1007
+#define KVM_REG_ARM_VFP_FPEXC 0x1008
+#define KVM_REG_ARM_VFP_FPINST 0x1009
+#define KVM_REG_ARM_VFP_FPINST2 0x100A
+
/* KVM_IRQ_LINE irq field index values */
#define KVM_ARM_IRQ_TYPE_SHIFT 24