]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: KVM: export demux regids as KVM_REG_ARM64
authorAlex Bennée <alex.bennee@linaro.org>
Tue, 1 Jul 2014 15:53:13 +0000 (16:53 +0100)
committerLuis Henriques <luis.henriques@canonical.com>
Wed, 20 May 2015 12:25:40 +0000 (13:25 +0100)
commit efd48ceacea78e4d4656aa0a6bf4c5b92ed22130 upstream.

I suspect this is a -ECUTPASTE fault from the initial implementation. If
we don't declare the register ID to be KVM_REG_ARM64 the KVM_GET_ONE_REG
implementation kvm_arm_get_reg() returns -EINVAL and hilarity ensues.

The kvm/api.txt document describes all arm64 registers as starting with
0x60xx... (i.e KVM_REG_ARM64).

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
arch/arm64/kvm/sys_regs.c

index c59a1bdab5eb6f36ae9507abff72de2dc17acf14..34f25a590bd7fdcbccc6953b52513019a1c57b6c 100644 (file)
@@ -962,7 +962,7 @@ static unsigned int num_demux_regs(void)
 
 static int write_demux_regids(u64 __user *uindices)
 {
-       u64 val = KVM_REG_ARM | KVM_REG_SIZE_U32 | KVM_REG_ARM_DEMUX;
+       u64 val = KVM_REG_ARM64 | KVM_REG_SIZE_U32 | KVM_REG_ARM_DEMUX;
        unsigned int i;
 
        val |= KVM_REG_ARM_DEMUX_ID_CCSIDR;