On Thu, Oct 18, 2012 at 8:20 AM, Avi Kivity <avi@xxxxxxxxxx> wrote: > On 10/14/2012 02:04 AM, Christoffer Dall wrote: >> Used to initialize the in-kernel interrupt controller. On ARM we need to >> map the virtual generic interrupt controller (vGIC) into Hyp the guest's >> physicall address space so the guest can access the virtual cpu >> interface. This must be done after the IRQ chips is create and after a >> base address has been provided for the emulated platform (patch is >> following), but before the CPU is initally run. >> >> >> +4.79 KVM_INIT_IRQCHIP >> + >> +Capability: KVM_CAP_INIT_IRQCHIP >> +Architectures: arm >> +Type: vm ioctl >> +Parameters: none >> +Returns: 0 on success, -1 on error >> + >> +Initialize the in-kernel interrupt controller. On ARM we need to map the >> +virtual generic interrupt controller (vGIC) into Hyp the guest's physicall >> +address space so the guest can access the virtual cpu interface. This must be >> +done after the IRQ chips is create and after a base address has been provided >> +for the emulated platofrm (see KVM_SET_DEVICE_ADDRESS), but before the CPU is >> +initally run. >> + > > What enforces this? > > Can it be done automatically? issue a > kvm_make_request(KVM_REQ_INIT_IRQCHIP) on vcpu creation, and you'll > automatically be notified before the first guest entry. > > Having an ioctl that must be called after point A but before point B > seems pointless, when A and B are both known. > I reworked this according to your comments, patches on the way. thanks for the input. >> + >> 5. The kvm_run structure >> ------------------------ >> >> diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c >> index f8c377b..85c76e4 100644 >> --- a/arch/arm/kvm/arm.c >> +++ b/arch/arm/kvm/arm.c >> @@ -195,6 +195,7 @@ int kvm_dev_ioctl_check_extension(long ext) >> switch (ext) { >> #ifdef CONFIG_KVM_ARM_VGIC >> case KVM_CAP_IRQCHIP: >> + case KVM_CAP_INIT_IRQCHIP: > > This could be part of a baseline, if you don't envision ever taking it out. > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html