BTW, would it be ok to create a new disk backend, like LOOP or VND
Now it's a bit hackish, since type is always set to phy, I have to
guess the real type by checking if 'params' starts with '/dev' on
xenbackend. I think it would be clearer to set the type to
LIBXL_DISK_BACKEND_VND if passed file is not a block device and OS is
NetBSD in disk_try_backend.
2011/7/21 Roger Pau Monné <roger.pau@xxxxxxxxxxxxx>:
> 2011/7/21 Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>:
>> On Thu, 2011-07-21 at 09:39 +0100, Roger Pau Monné wrote:
>>> Thanks for the help, I have a preliminary patch that allows booting PV
>>> machines with xl on NetBSD, but there seems to be some issues with PCI
>>> devices, the guest takes a very long time to start, and I think it's
>>> because it's waiting for PCI devices to initialize.
>>> [ 5.280068] XENBUS: Waiting for devices to initialise:
>>> [ 300.280078] XENBUS: Device with no driver: device/vbd/51714
>>> [ 300.280086] XENBUS: Device with no driver: device/vbd/51713
>>> [ 300.280495] XENBUS: Timeout connecting to device: device/pci/0
>>> (local state 3, remote state 1)
>>> xm didn't add pci entries to xenstore, and I don't know what should be
>>> the status of those entries, or if it's best to disable the adding of
>>> pci entries to xenstore in libxl if no devices are configured?
>>> I've looked at http://wiki.xensource.com/xenwiki/XenStoreReference,
>>> but the wiki doesn't have any information regarding PCI xenstore
>>> The status of those entries in xenstore is the following:
>>> /local/domain/0/backend/pci = "" (n0)
>>> /local/domain/0/backend/pci/1 = "" (n0)
>>> /local/domain/0/backend/pci/1/0 = "" (n0,r1)
>>> /local/domain/0/backend/pci/1/0/frontend =
>>> "/local/domain/1/device/pci/0" (n0,r1)
>>> /local/domain/0/backend/pci/1/0/frontend-id = "1" (n0,r1)
>>> /local/domain/0/backend/pci/1/0/online = "1" (n0,r1)
>>> /local/domain/0/backend/pci/1/0/state = "1" (n0,r1)
>>> /local/domain/0/backend/pci/1/0/domain = "debian" (n0,r1)
>>> /local/domain/0/backend/pci/1/0/num_devs = "0" (n0,r1)
>> num_devs = 0, is it the case that you don't actually have any pci
>> devices in your configuration?
> No, I didn't have any PCI devices set.
>> I wonder if perhaps the netbsd pciback doesn't like seeing a backend
>> directory with no actual devices in it.
>> Could you try experimentally commenting out the call to
>> libxl__create_pci_backend in do_domain_create, or gating it on "if
> Disabling or setting it with a if condition makes the guest boot, I
> through that setting the appropriate values in the status of xenstore
> should also work, but it's useless to have references to PCI devices
> in xenstore if no devices are actually configured.
>> That call was added in 23565:72eafe80ebc1 but I don't think adding the
>> if would invalidate it.
>>> /local/domain/1/device/pci = "" (n0,r1)
>>> /local/domain/1/device/pci/0 = "" (n1,r0)
>>> /local/domain/1/device/pci/0/backend =
>>> "/local/domain/0/backend/pci/1/0" (n1,r0)
>>> /local/domain/1/device/pci/0/backend-id = "0" (n1,r0)
>>> /local/domain/1/device/pci/0/state = "3" (n1,r0)
>>> /local/domain/1/device/pci/0/pci-op-ref = "8" (n1,r0)
>>> /local/domain/1/device/pci/0/event-channel = "8" (n1,r0)
>>> /local/domain/1/device/pci/0/magic = "7" (n1,r0)
>>> The patch attached breaks linux support, it is only attached for
>>> informative purposes.
>>> Regards, Roger.
> Thanks again for all the help, I would prepare a new proper patch to
> be added to mainline Xen.
> Regards, Roger.
Xen-devel mailing list