Merge tag 'kvm-arm-for-3.13-3' of git://git.linaro.org/people/cdall/linux-kvm-arm...
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 11 Nov 2013 10:56:07 +0000 (11:56 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 11 Nov 2013 11:02:27 +0000 (12:02 +0100)
Updates for KVM/ARM, take 3 supporting more than 4 CPUs.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Conflicts:
arch/arm/kvm/reset.c [cpu_reset->reset_regs change; context only]

1  2 
arch/arm/kvm/reset.c

diff --combined arch/arm/kvm/reset.c
@@@ -33,8 -33,6 +33,6 @@@
   * Cortex-A15 and Cortex-A7 Reset Values
   */
  
- static const int cortexa_max_cpu_idx = 3;
  static struct kvm_regs cortexa_regs_reset = {
        .usr_regs.ARM_cpsr = SVC_MODE | PSR_A_BIT | PSR_I_BIT | PSR_F_BIT,
  };
@@@ -58,15 -56,13 +56,13 @@@ static const struct kvm_irq_level corte
   */
  int kvm_reset_vcpu(struct kvm_vcpu *vcpu)
  {
 -      struct kvm_regs *cpu_reset;
 +      struct kvm_regs *reset_regs;
        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 > cortexa_max_cpu_idx)
-                       return -EINVAL;
 -              cpu_reset = &cortexa_regs_reset;
 +              reset_regs = &cortexa_regs_reset;
                vcpu->arch.midr = read_cpuid_id();
                cpu_vtimer_irq = &cortexa_vtimer_irq;
                break;
@@@ -75,7 -71,7 +71,7 @@@
        }
  
        /* Reset core registers */
 -      memcpy(&vcpu->arch.regs, cpu_reset, sizeof(vcpu->arch.regs));
 +      memcpy(&vcpu->arch.regs, reset_regs, sizeof(vcpu->arch.regs));
  
        /* Reset CP15 registers */
        kvm_reset_coprocs(vcpu);