Hi all,
I am trying the pci-passthrough on xen 3.3.0. I binded the
pci slot to pciback using late binding.
But xend fails to allocate this slot to domU.
linux-242:/home/xen-3.3.0 # xm create -c pci=08:01.0
/etc/xen/xen3.3_guest1
Using config file "/etc/xen/xen3.3_guest1".
Error: [Errno 2] No such file or directory:
'/sys/bus/pci/devices/0000:06:00.0/config'
xend log is,
[2008-10-06 11:14:23 4077] ERROR (xmlrpclib2:178) Internal
error handling xend.domain.create
Traceback (most recent call last):
File "//usr/lib64/python/xen/util/xmlrpclib2.py",
line 131, in _marshaled_dispatch
response = self._dispatch(method, params)
File
"/usr/lib64/python2.5/SimpleXMLRPCServer.py", line 415, in _dispatch
return func(*params)
File "//usr/lib64/python/xen/xend/server/XMLRPCServer.py",
line 79, in domain_create
info =
XendDomain.instance().domain_create(config)
File
"//usr/lib64/python/xen/xend/XendDomain.py", line 965, in
domain_create
dominfo = XendDomainInfo.create(config)
File "//usr/lib64/python/xen/xend/XendDomainInfo.py",
line 92, in create
vm.start()
File
"//usr/lib64/python/xen/xend/XendDomainInfo.py", line 425, in start
XendTask.log_progress(31, 60,
self._initDomain)
File
"//usr/lib64/python/xen/xend/XendTask.py", line 209, in log_progress
retval = func(*args, **kwds)
File
"//usr/lib64/python/xen/xend/XendDomainInfo.py", line 2256, in
_initDomain
self._createDevices()
File
"//usr/lib64/python/xen/xend/XendDomainInfo.py", line 1902, in
_createDevices
devid = self._createDevice(devclass,
config)
File
"//usr/lib64/python/xen/xend/XendDomainInfo.py", line 1869, in
_createDevice
return
self.getDeviceController(deviceClass).createDevice(devConfig)
File
"//usr/lib64/python/xen/xend/server/DevController.py", line 94, in
createDevice
self.setupDevice(config)
File
"//usr/lib64/python/xen/xend/server/pciif.py", line 415, in
setupDevice
devs_str =
dev.find_coassigned_devices(True)
File "//usr/lib64/python/xen/util/pci.py",
line 460, in find_coassigned_devices
dev =
self.find_the_uppermost_pci_bridge()
File "//usr/lib64/python/xen/util/pci.py",
line 423, in find_the_uppermost_pci_bridge
dev_parent = PciDevice(dom, b, d, f)
File "//usr/lib64/python/xen/util/pci.py",
line 382, in __init__
self.detect_dev_info()
File "//usr/lib64/python/xen/util/pci.py",
line 603, in detect_dev_info
class_dev =
self.pci_conf_read16(PCI_CLASS_DEVICE)
File "//usr/lib64/python/xen/util/pci.py",
line 566, in pci_conf_read16
fd = os.open(self.cfg_space_path,
os.O_RDONLY)
OSError: [Errno 2] No such file or directory:
\047/sys/bus/pci/devices/0000:06:00.0/config\047
Lspci –t is,
linux-242:/home/xen-3.3.0 # lspci -t
-+-[0000:06]-+-01.0-[0000:08]----01.0
|
+-01.1
|
+-02.0-[0000:07]--
|
\-02.1
\-[0000:00]-+-00.0
+-01.0
+-01.1
+-06.0
+-07.0
+-08.0
+-09.0-[0000:05]----07.0
+-0b.0-[0000:04]----00.0
+-0c.0-[0000:03]----00.0
+-0d.0-[0000:02]--
+-0e.0-[0000:01]--
+-18.0
+-18.1
+-18.2
+-18.3
+-19.0
+-19.1
+-19.2
\-19.3
The pci slot of NIC is 0000:08:01.0 and is connected to the
pci bridge 0000:06:01.0. But xend is trying to read the config space of 0000:06:00.0,
which does not exist. Any idea on this error?
Thanks,
Masroor