kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] KVM: ARM: Get rid of hardcoded VGIC addresses
@ 2012-10-20 14:14 Christoffer Dall
  2012-10-20 14:14 ` [PATCH v2 1/3] KVM: ARM: Check for overlaps of mapped io addresses Christoffer Dall
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Christoffer Dall @ 2012-10-20 14:14 UTC (permalink / raw)
  To: kvmarm; +Cc: kvm

We need a way to specify the address at which we expect VMs to access
the interrupt controller (both the emulated distributor and the hardware
interface supporting virtualization).  User space should decide on this
address as user space decides on an emulated board and loads a device
tree describing these details directly to the guest.

We introduce a new ioctl, KVM_SET_DEVICE_ADDRESS, that lets user space
provide a base address for a device based on exported device ids.  For
now, this is only supported for the ARM vgic.  User space provides this
address after creating the IRQ chip and KVM performs the required
mappings for a VM on the first execution of a VCPU.

To avoid users mistakenly supplying overlapping io address ranges we
check for existing mappings at io mappings for guests and explicitly
raise an error if address space conflicts occur.

Changelog[2]:
 - Check for page aligned addresses on vgic_set_devic_address
 - Move vgic_cpu_base for host to vgic_hyp_init
 - Fix irqchip_in_kernel to be VM-specific

---

Christoffer Dall (3):
      KVM: ARM: Check for overlaps of mapped io addresses
      KVM: ARM: Introduce KVM_SET_DEVICE_ADDRESS ioctl
      KVM: ARM: Defer parts of the vgic init until first KVM_RUN


 Documentation/virtual/kvm/api.txt |   37 +++++++++++
 arch/arm/include/asm/kvm.h        |   13 ++++
 arch/arm/include/asm/kvm_mmu.h    |    2 +
 arch/arm/include/asm/kvm_vgic.h   |   28 +++++++--
 arch/arm/kvm/arm.c                |   41 ++++++++++++-
 arch/arm/kvm/mmu.c                |   11 ++-
 arch/arm/kvm/vgic.c               |  121 +++++++++++++++++++++++++++++++------
 include/linux/kvm.h               |    8 ++
 8 files changed, 231 insertions(+), 30 deletions(-)

-- 
Signature

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-10-20 14:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-20 14:14 [PATCH v2 0/3] KVM: ARM: Get rid of hardcoded VGIC addresses Christoffer Dall
2012-10-20 14:14 ` [PATCH v2 1/3] KVM: ARM: Check for overlaps of mapped io addresses Christoffer Dall
2012-10-20 14:14 ` [PATCH v2 2/3] KVM: ARM: Introduce KVM_SET_DEVICE_ADDRESS ioctl Christoffer Dall
2012-10-20 14:14 ` [PATCH v2 3/3] KVM: ARM: Defer parts of the vgic init until first KVM_RUN Christoffer Dall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).