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