diff options
Diffstat (limited to 'arch/arm/kvm/reset.c')
| -rw-r--r-- | arch/arm/kvm/reset.c | 15 | 
1 files changed, 6 insertions, 9 deletions
diff --git a/arch/arm/kvm/reset.c b/arch/arm/kvm/reset.c index c02ba4af599..f558c073c02 100644 --- a/arch/arm/kvm/reset.c +++ b/arch/arm/kvm/reset.c @@ -30,16 +30,14 @@  #include <kvm/arm_arch_timer.h>  /****************************************************************************** - * Cortex-A15 Reset Values + * Cortex-A15 and Cortex-A7 Reset Values   */ -static const int a15_max_cpu_idx = 3; - -static struct kvm_regs a15_regs_reset = { +static struct kvm_regs cortexa_regs_reset = {  	.usr_regs.ARM_cpsr = SVC_MODE | PSR_A_BIT | PSR_I_BIT | PSR_F_BIT,  }; -static const struct kvm_irq_level a15_vtimer_irq = { +static const struct kvm_irq_level cortexa_vtimer_irq = {  	{ .irq = 27 },  	.level = 1,  }; @@ -62,12 +60,11 @@ int kvm_reset_vcpu(struct kvm_vcpu *vcpu)  	const struct kvm_irq_level *cpu_vtimer_irq;  	switch (vcpu->arch.target) { +	case KVM_ARM_TARGET_CORTEX_A7:  	case KVM_ARM_TARGET_CORTEX_A15: -		if (vcpu->vcpu_id > a15_max_cpu_idx) -			return -EINVAL; -		reset_regs = &a15_regs_reset; +		reset_regs = &cortexa_regs_reset;  		vcpu->arch.midr = read_cpuid_id(); -		cpu_vtimer_irq = &a15_vtimer_irq; +		cpu_vtimer_irq = &cortexa_vtimer_irq;  		break;  	default:  		return -ENODEV;  | 
