aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kvm/guest.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kvm/guest.c')
-rw-r--r--arch/arm/kvm/guest.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/kvm/guest.c b/arch/arm/kvm/guest.c
index a12eb229021d..2339d9609d36 100644
--- a/arch/arm/kvm/guest.c
+++ b/arch/arm/kvm/guest.c
@@ -26,6 +26,7 @@
26#include <asm/kvm.h> 26#include <asm/kvm.h>
27#include <asm/kvm_asm.h> 27#include <asm/kvm_asm.h>
28#include <asm/kvm_emulate.h> 28#include <asm/kvm_emulate.h>
29#include <asm/kvm_coproc.h>
29 30
30#define VM_STAT(x) { #x, offsetof(struct kvm, stat.x), KVM_STAT_VM } 31#define VM_STAT(x) { #x, offsetof(struct kvm, stat.x), KVM_STAT_VM }
31#define VCPU_STAT(x) { #x, offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU } 32#define VCPU_STAT(x) { #x, offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU }
@@ -119,7 +120,7 @@ static unsigned long num_core_regs(void)
119 */ 120 */
120unsigned long kvm_arm_num_regs(struct kvm_vcpu *vcpu) 121unsigned long kvm_arm_num_regs(struct kvm_vcpu *vcpu)
121{ 122{
122 return num_core_regs(); 123 return num_core_regs() + kvm_arm_num_coproc_regs(vcpu);
123} 124}
124 125
125/** 126/**
@@ -138,7 +139,7 @@ int kvm_arm_copy_reg_indices(struct kvm_vcpu *vcpu, u64 __user *uindices)
138 uindices++; 139 uindices++;
139 } 140 }
140 141
141 return 0; 142 return kvm_arm_copy_coproc_indices(vcpu, uindices);
142} 143}
143 144
144int kvm_arm_get_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) 145int kvm_arm_get_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
@@ -151,7 +152,7 @@ int kvm_arm_get_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
151 if ((reg->id & KVM_REG_ARM_COPROC_MASK) == KVM_REG_ARM_CORE) 152 if ((reg->id & KVM_REG_ARM_COPROC_MASK) == KVM_REG_ARM_CORE)
152 return get_core_reg(vcpu, reg); 153 return get_core_reg(vcpu, reg);
153 154
154 return -EINVAL; 155 return kvm_arm_coproc_get_reg(vcpu, reg);
155} 156}
156 157
157int kvm_arm_set_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) 158int kvm_arm_set_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
@@ -164,7 +165,7 @@ int kvm_arm_set_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
164 if ((reg->id & KVM_REG_ARM_COPROC_MASK) == KVM_REG_ARM_CORE) 165 if ((reg->id & KVM_REG_ARM_COPROC_MASK) == KVM_REG_ARM_CORE)
165 return set_core_reg(vcpu, reg); 166 return set_core_reg(vcpu, reg);
166 167
167 return -EINVAL; 168 return kvm_arm_coproc_set_reg(vcpu, reg);
168} 169}
169 170
170int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu, 171int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu,