> Hi all,
> I'm trying to get a pci card working on a guest os (ast01)
>
> on dum0 I hided the pci card w/:
> # modprobe pciback hide='(0b:08.0)'
>
> then added this line to the guest os config file (/etc/xen/ast01)
> pci = [ "0000:08:0e.0" ]
>
> Whenever I try to start it fails w/:
> # xm create ast01
> Using config file "/etc/xen/ast01".
> Error: function takes exactly 4 arguments (3 given)
>
> "xm log" shows:
> [2007-12-13 17:26:20 xend 8789] DEBUG (DevController:110) DevController:
> writing {\047protocol\047: \047x86_64-abi\047, \047state\047: \0471\047,
> \047backend-id\047: \0470\047, \047backend\047:
> \047/local/domain/0/backend/vkbd/6/0\047} to /local/domain/6/device/vkbd/0.
> [2007-12-13 17:26:20 xend 8789] DEBUG (DevController:112) DevController:
> writing {\047frontend-id\047: \0476\047, \047domain\047: \047ast01\047,
> \047frontend\047: \047/local/domain/6/device/vkbd/0\047, \047state\047:
> \0471\047, \047online\047: \0471\047} to /local/domain/0/backend/vkbd/6/0.
> [2007-12-13 17:26:20 xend 8789] DEBUG (blkif:24) exception looking up
> device number for xvda: [Errno 2] No such file or directory:
> \047/dev/xvda\047
> [2007-12-13 17:26:20 xend 8789] DEBUG (DevController:110) DevController:
> writing {\047virtual-device\047: \04751712\047, \047device-type\047:
> \047disk\047, \047protocol\047: \047x86_64-abi\047, \047backend-id\047:
> \0470\047, \047state\047: \0471\047, \047backend\047:
> \047/local/domain/0/backend/tap/6/51712\047} to
> /local/domain/6/device/vbd/51712.
> [2007-12-13 17:26:20 xend 8789] DEBUG (DevController:112) DevController:
> writing {\047domain\047: \047ast01\047, \047frontend\047:
> \047/local/domain/6/device/vbd/51712\047, \047dev\047: \047xvda\047,
> \047state\047: \0471\047, \047params\047: \047aio:/tmp/ast01.img\047,
> \047mode\047: \047w\047, \047online\047: \0471\047, \047frontend-id\047:
> \0476\047, \047type\047: \047tap\047} to
> /local/domain/0/backend/tap/6/51712.
> [2007-12-13 17:26:20 xend 8789] INFO (pciquirk:91) NO quirks found for
> PCI device [1166:024b:1028:0205]
> [2007-12-13 17:26:20 xend 8789] DEBUG (pciquirk:131) Permissive mode NOT
> enabled for PCI device [1166:024b:1028:0205]
> [2007-12-13 17:26:20 xend 8789] DEBUG (pciif:159) pci: enabling ioport
> 0xecb0/0x8
> [2007-12-13 17:26:20 xend.XendDomainInfo 8789] ERROR
> (XendDomainInfo:212) Domain construction failed
> Traceback (most recent call last):
> File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 205, in create
> vm.initDomain()
> File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 1463, in initDomain
> self.createDevices()
> File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 1679, in createDevices
> self.createDevice
(n, c)
> File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 1154, in createDevice
> return self.getDeviceController(deviceClass).createDevice(devconfig)
> File
> "/usr/lib64/python2.4/site-packages/xen/xend/server/DevController.py",
> line 80, in createDevice
> (devid, back, front) = self.getDeviceDetails(config)
> File "/usr/lib64/python2.4/site-packages/xen/xend/server/pciif.py",
> line 90, in getDeviceDetails
> self.setupDevice(domain, bus, slot, func)
> File "/usr/lib64/python2.4/site-packages/xen/xend/server/pciif.py",
> line 161, in setupDevice
> nr_ports = size, allow_access = True)
> TypeError: function takes exactly 4 arguments (3 given)
> [2007-12-13 17:26:20 xend.XendDomainInfo 8789] DEBUG
> (XendDomainInfo:1557) XendDomainInfo.destroy: domid=6
> [2007-12-13 17:26:20 xend.XendDomainInfo
8789] DEBUG
> (XendDomainInfo:1566) XendDomainInfo.destroyDomain(6)
> [2007-12-13 17:26:21 xend 8789] ERROR (xmlrpclib2:184) function takes
> exactly 4 arguments (3 given)
> Traceback (most recent call last):
> File "/usr/lib64/python2.4/site-packages/xen/util/xmlrpclib2.py", line
> 162, in _marshaled_dispatch
> response = self._dispatch(method, params)
> File "/usr/lib64/python2.4/SimpleXMLRPCServer.py", line 406, in _dispatch
> return func(*params)
> File
> "/usr/lib64/python2.4/site-packages/xen/xend/server/XMLRPCServer.py",
> line 64, in domain_create
> info = XendDomain.instance().domain_create(config)
> File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomain.py", line
> 228, in domain_create
> dominfo = XendDomainInfo.create(config)
> File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 205, in create
> vm.initDomain()
> File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 1463, in initDomain
> self.createDevices()
> File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 1679, in createDevices
> self.createDevice(n, c)
> File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 1154, in createDevice
> return self.getDeviceController
(deviceClass).createDevice(devconfig)
> File
> "/usr/lib64/python2.4/site-packages/xen/xend/server/DevController.py",
> line 80, in createDevice
> (devid, back, front) = self.getDeviceDetails
(config)
> File "/usr/lib64/python2.4/site-packages/xen/xend/server/pciif.py",
> line 90, in getDeviceDetails
> self.setupDevice(domain, bus, slot, func)
> File "/usr/lib64/python2.4/site-packages/xen/xend/server/pciif.py",
> line 161, in setupDevice
> nr_ports = size, allow_access = True)
> TypeError: function takes exactly 4 arguments (3 given)
>
>
> the python file where it fails :
> 158 for (start, size) in
dev.ioports:
> 159 log.debug('pci: enabling ioport 0x%x/0x%x'%(start,size))
> 160 rc = xc.domain_ioport_permission(dom = fe_domid,
> first_port = start,
> 161 nr_ports = size, allow_access = True)
> 162 if rc<0:
> 163 raise VmError(('pci: failed to configure I/O
> ports on device '+
> 164 '%s - errno=%d')%(
dev.name