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.

Christoffer Dall (2):
  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   |   27 ++++++++--
 arch/arm/kvm/arm.c                |   41 ++++++++++++++-
 arch/arm/kvm/vgic.c               |   99 +++++++++++++++++++++++++++++--------
 include/linux/kvm.h               |    8 +++
 7 files changed, 201 insertions(+), 26 deletions(-)

-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to