1. 10 10月, 2014 1 次提交
  2. 07 10月, 2014 1 次提交
    • A
      ARM: KVM: fix vgic-disabled build · b5e7a955
      Arnd Bergmann 提交于
      The vgic code can be disabled in Kconfig and there are dummy implementations
      of most of the provided API functions for the disabled case.
      
      However, the newly introduced kvm_vgic_destroy/kvm_vgic_vcpu_destroy
      functions are lacking those dummies, resulting in this build error:
      
      arch/arm/kvm/arm.c: In function 'kvm_arch_destroy_vm':
      arch/arm/kvm/arm.c:165:2: error: implicit declaration of function 'kvm_vgic_destroy' [-Werror=implicit-function-declaration]
        kvm_vgic_destroy(kvm);
        ^
      arch/arm/kvm/arm.c: In function 'kvm_arch_vcpu_free':
      arch/arm/kvm/arm.c:248:2: error: implicit declaration of function 'kvm_vgic_vcpu_destroy' [-Werror=implicit-function-declaration]
        kvm_vgic_vcpu_destroy(vcpu);
        ^
      
      This adds two inline helpers to get it to build again in this configuration.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: c1bfb577 ("arm/arm64: KVM: vgic: switch to dynamic allocation")
      Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
      b5e7a955
  3. 29 9月, 2014 1 次提交
    • V
      arm: kvm: fix CPU hotplug · 37a34ac1
      Vladimir Murzin 提交于
      On some platforms with no power management capabilities, the hotplug
      implementation is allowed to return from a smp_ops.cpu_die() call as a
      function return. Upon a CPU onlining event, the KVM CPU notifier tries
      to reinstall the hyp stub, which fails on platform where no reset took
      place following a hotplug event, with the message:
      
      CPU1: smp_ops.cpu_die() returned, trying to resuscitate
      CPU1: Booted secondary processor
      Kernel panic - not syncing: unexpected prefetch abort in Hyp mode at: 0x80409540
      unexpected data abort in Hyp mode at: 0x80401fe8
      unexpected HVC/SVC trap in Hyp mode at: 0x805c6170
      
      since KVM code is trying to reinstall the stub on a system where it is
      already configured.
      
      To prevent this issue, this patch adds a check in the KVM hotplug
      notifier that detects if the HYP stub really needs re-installing when a
      CPU is onlined and skips the installation call if the stub is already in
      place, which means that the CPU has not been reset.
      Signed-off-by: NVladimir Murzin <vladimir.murzin@arm.com>
      Acked-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
      Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
      37a34ac1
  4. 26 9月, 2014 3 次提交
  5. 19 9月, 2014 15 次提交
  6. 17 9月, 2014 6 次提交
  7. 16 9月, 2014 2 次提交
    • Z
      kvm: ioapic: conditionally delay irq delivery duringeoi broadcast · 184564ef
      Zhang Haoyu 提交于
      Currently, we call ioapic_service() immediately when we find the irq is still
      active during eoi broadcast. But for real hardware, there's some delay between
      the EOI writing and irq delivery.  If we do not emulate this behavior, and
      re-inject the interrupt immediately after the guest sends an EOI and re-enables
      interrupts, a guest might spend all its time in the ISR if it has a broken
      handler for a level-triggered interrupt.
      
      Such livelock actually happens with Windows guests when resuming from
      hibernation.
      
      As there's no way to recognize the broken handle from new raised ones, this patch
      delays an interrupt if 10.000 consecutive EOIs found that the interrupt was
      still high.  The guest can then make a little forward progress, until a proper
      IRQ handler is set or until some detection routine in the guest (such as
      Linux's note_interrupt()) recognizes the situation.
      
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NZhang Haoyu <zhanghy@sangfor.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      184564ef
    • G
      KVM: x86: Use kvm_make_request when applicable · 105b21bb
      Guo Hui Liu 提交于
      This patch replace the set_bit method by kvm_make_request
      to make code more readable and consistent.
      Signed-off-by: NGuo Hui Liu <liuguohui@gmail.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      105b21bb
  8. 11 9月, 2014 5 次提交
  9. 10 9月, 2014 6 次提交