[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] cant start domU w/ pci [Error: function takes exactly 4 arguments (3 given)]
I assume you are using either RHEL-5.1 or Centos 5.1 as dom0. Apply the below patch on pciif.py and restart xend. --- /usr/lib/python2.4/site-packages/xen/xend/server/pciif.py.orig 2006-10-15 21:22:03.000000000 +0900 +++ /usr/lib/python2.4/site-packages/xen/xend/server/pciif.py 2007-10-16 18:37:39.000000000 +0900 @@ -157,7 +157,7 @@ class PciController(DevController): for (start, size) in dev.ioports: log.debug('pci: enabling ioport 0x%x/0x%x'%(start,size)) - rc = xc.domain_ioport_permission(dom = fe_domid, first_port = start, + rc = xc.domain_ioport_permission(domid = fe_domid, first_port = start, nr_ports = size, allow_access = True) if rc<0: raise VmError(('pci: failed to configure I/O ports on device '+ @@ -171,7 +171,7 @@ class PciController(DevController): log.debug('pci: enabling iomem 0x%x/0x%x pfn 0x%x/0x%x'% \\ (start,size,start_pfn,nr_pfns)) - rc = xc.domain_iomem_permission(dom = fe_domid, + rc = xc.domain_iomem_permission(domid = fe_domid, first_pfn = start_pfn, nr_pfns = nr_pfns, allow_access = True) @@ -181,7 +181,7 @@ class PciController(DevController): if dev.irq>0: log.debug('pci: enabling irq %d'%dev.irq) - rc = xc.domain_irq_permission(dom = fe_domid, pirq = dev.irq, + rc = xc.domain_irq_permission(domid = fe_domid, pirq = dev.irq, allow_access = True) if rc<0: raise VmError(('pci: failed to configure irq on device '+See details at http://lists.xensource.com/archives/html/xen-changelog/2006-11/msg00086.html --Sadique Hans Rakers wrote: Woops forgot to cc the list See: http://bugs.centos.org/view.php?id=2485 http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1053 Greetings, Hans Rakers Foo Bar wrote: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 failedTraceback (most recent call last):File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 205, in createvm.initDomain()File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1463, in initDomainself.createDevices()File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1679, in createDevicesself.createDevice(n, c)File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1154, in createDevicereturn 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 getDeviceDetailsself.setupDevice(domain, bus, slot, func)File "/usr/lib64/python2.4/site-packages/xen/xend/server/pciif.py", line 161, in setupDevicenr_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_dispatchresponse = self._dispatch(method, params)File "/usr/lib64/python2.4/SimpleXMLRPCServer.py", line 406, in _dispatchreturn func(*params)File "/usr/lib64/python2.4/site-packages/xen/xend/server/XMLRPCServer.py", line 64, in domain_createinfo = XendDomain.instance().domain_create(config)File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomain.py", line 228, in domain_createdominfo = XendDomainInfo.create(config)File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 205, in createvm.initDomain()File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1463, in initDomainself.createDevices()File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1679, in createDevicesself.createDevice(n, c)File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1154, in createDevicereturn 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 getDeviceDetailsself.setupDevice(domain, bus, slot, func)File "/usr/lib64/python2.4/site-packages/xen/xend/server/pciif.py", line 161, in setupDevicenr_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 <http://dev.name>,rc))I tried out an other pci card to test, and got the same error. Any ideas? Thx FB ------------------------------------------------------------------------ _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users_______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |