qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-arm] A problem of IRQchip in QEMU and KVM for ARM


From: Li Zhang
Subject: [Qemu-arm] A problem of IRQchip in QEMU and KVM for ARM
Date: Fri, 19 May 2017 13:46:44 +0800

Hi,

I am looking into QEMU code in ARM recently and trying to add add_hot_cpu in QEMU for ARM,
but it doesn't work when enabling KVM. It reports error:

"kvm_init_vcpu failed: Device or resourc busy."

By debugging QEMU with gdb, it failed on ioctl. In kernel soruce code arch/arm/kvm/arm.c,
vcpu is created by this following function, it will report -EBUSY if irqchip_in_kernel.

struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id)
{
        int err;
        struct kvm_vcpu *vcpu;

        if (irqchip_in_kernel(kvm) && vgic_initialized(kvm)) {
                err = -EBUSY;
                goto out;
        }
 
  ....
}

I set virt machine with kernel_irqchip = off, it can execute cpu-add interface correctly with qmp-shell
commands. But VMs still can't work well with kernel_irqchip=off when executing "info cpus" in qemu monitor.

My question is that:
1) Can we change this error status in kvm_arch_vcpu_create? 
2) Is it that irqchip_kernel=off  isn't supported with KVM enabled on ARM?

--

Best Regards
-Li

reply via email to

[Prev in Thread] Current Thread [Next in Thread]