1. 12 8月, 2015 4 次提交
  2. 31 3月, 2015 2 次提交
    • A
      KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus · 950324ab
      Andre Przywara 提交于
      Currently we have struct kvm_exit_mmio for encapsulating MMIO abort
      data to be passed on from syndrome decoding all the way down to the
      VGIC register handlers. Now as we switch the MMIO handling to be
      routed through the KVM MMIO bus, it does not make sense anymore to
      use that structure already from the beginning. So we keep the data in
      local variables until we put them into the kvm_io_bus framework.
      Then we fill kvm_exit_mmio in the VGIC only, making it a VGIC private
      structure. On that way we replace the data buffer in that structure
      with a pointer pointing to a single location in a local variable, so
      we get rid of some copying on the way.
      With all of the virtual GIC emulation code now being registered with
      the kvm_io_bus, we can remove all of the old MMIO handling code and
      its dispatching functionality.
      
      I didn't bother to rename kvm_exit_mmio (to vgic_mmio or something),
      because that touches a lot of code lines without any good reason.
      
      This is based on an original patch by Nikolay.
      Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Cc: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
      Reviewed-by: NMarc Zyngier <marc.zyngier@arm.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      950324ab
    • A
      KVM: arm/arm64: prepare GICv3 emulation to use kvm_io_bus MMIO handling · fb8f61ab
      Andre Przywara 提交于
      Using the framework provided by the recent vgic.c changes, we
      register a kvm_io_bus device on mapping the virtual GICv3 resources.
      The distributor mapping is pretty straight forward, but the
      redistributors need some more love, since they need to be tagged with
      the respective redistributor (read: VCPU) they are connected with.
      We use the kvm_io_bus framework to register one devices per VCPU.
      Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Reviewed-by: NMarc Zyngier <marc.zyngier@arm.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      fb8f61ab
  3. 27 3月, 2015 2 次提交
  4. 14 3月, 2015 2 次提交
  5. 12 3月, 2015 1 次提交
  6. 21 1月, 2015 8 次提交
  7. 13 12月, 2014 3 次提交
  8. 16 10月, 2014 1 次提交
  9. 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
  10. 19 9月, 2014 9 次提交
  11. 11 7月, 2014 7 次提交