[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)]


  • To: "Sadique Puthen" <sputhenp@xxxxxxxxxx>
  • From: taoufik <taoufix@xxxxxxxxx>
  • Date: Thu, 13 Dec 2007 19:35:30 +0100
  • Cc: xen-users@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Fri, 18 Jan 2008 09:13:11 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=iToDnMG51DLcr2dpiGw0cS9ufV+E1e2Eu+okgWFO6/6Y7I1WKqMNl49GWtvGpwKgQq4BTt0lIR1OYiEYIkxZwMSb2bNltmsl5b7LucxccFSjWIzPH8ZtJ17vWGJDf113Zy4ecHm802uW6UjJprdZ2skIs/4JlWFFoWSWJToJpGE=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

I already did, and it's working now.
Thanks

On Dec 13, 2007 7:27 PM, Sadique Puthen <sputhenp@xxxxxxxxxx> wrote:
Sadique Puthen wrote:
>
> 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
>

Sorry, I didn't give you the link that I intended to give you. The right
link is http://xenbits.xensource.com/xen-unstable.hg?rev/0ae1d493f37c

--Sadique

>
> --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 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
>>> < 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
>


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.