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

Re: [Xen-devel] linux-3.4-rc0 XENBUS: Device with no driver: device/vbd/51713

On Fri, Mar 30, 2012 at 10:52:51PM +0200, Sander Eikelenboom wrote:
> Hi Konrad,
> I just tried linux-3.4-rc0 (linus his tree, last commit 
> f52b69f86e27903d6896ed5fa7cd280fec8de532) with 3 additional branches from 
> your tree pulled on top of that:
> branch stable/for-ingo-3.4.v2     (required for dom0 to boot)
> branch stable/for-jens-3.4
> branch stable/for-jens-3.4-bugfixes
> Hypervisor is xen-4.1.3-rc1-pre
> linux 3.3 vanilla works fine
> Booting dom0 goes fine, but PV-guests don't work, it seems something goed 
> wrong with registrering the devices.
> Which is kind of strange because i compiled the kernel with the same .config 
> (all xen stuff is compiled in, no modules).
> Nothing else is changed in between, I also tried reverting some of the 
> xen-front patches but all to no avail .. do you have any suggestions ?

I think you are hitting this bug (hadn't yet stuck in my for-jens-3.4-bugfixes 

commit 252e60f73b023bdbb7c82c05e2c3d97a1233bd9f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date:   Tue Mar 27 19:31:08 2012 +0200

    xen: only check xen_platform_pci_unplug if hvm
    commit b9136d207f08
      xen: initialize platform-pci even if xen_emul_unplug=never
    breaks blkfront/netfront by not loading them because of
    xen_platform_pci_unplug=0 and it is never set for PV guest.
    Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
    Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index d5e1ab9..98cbeba 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -1475,7 +1475,7 @@ static int __init xlblk_init(void)
        if (!xen_domain())
                return -ENODEV;
-       if (!xen_platform_pci_unplug)
+       if (xen_hvm_domain() && !xen_platform_pci_unplug)
                return -ENODEV;
        if (register_blkdev(XENVBD_MAJOR, DEV_NAME)) {
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 663b32c..0ebbb19 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1965,7 +1965,7 @@ static int __init netif_init(void)
        if (xen_initial_domain())
                return 0;
-       if (!xen_platform_pci_unplug)
+       if (xen_hvm_domain() && !xen_platform_pci_unplug)
                return -ENODEV;
        printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.