WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] RE: [PATCH] xend: pci: find_parent: should return string rat

To: Simon Horman <horms@xxxxxxxxxxxx>
Subject: [Xen-devel] RE: [PATCH] xend: pci: find_parent: should return string rather than int
From: "Cui, Dexuan" <dexuan.cui@xxxxxxxxx>
Date: Wed, 17 Jun 2009 19:40:47 +0800
Accept-language: zh-CN, en-US
Acceptlanguage: zh-CN, en-US
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Wed, 17 Jun 2009 04:45:01 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090617113102.GA3504@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <EADF0A36011179459010BDF5142A457501C9E2AFB5@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20090617113102.GA3504@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcnvPyYjfIZ/z3WvQ3yGs1UCR3a+iAAAPLcg
Thread-topic: [PATCH] xend: pci: find_parent: should return string rather than int
Hi Simon,
Attached is my host info of 'lspci'.
I pciback.hide 01:00.0 and 00:1b.0 and when I tried to statically assign 
01:00.0 to guest, I got the " TypeError: int() can't convert non-string with 
explicit base".

Thanks,
-- Dexuan



-----Original Message-----
From: Simon Horman [mailto:horms@xxxxxxxxxxxx] 
Sent: 2009?6?17? 19:31
To: Cui, Dexuan
Cc: Keir Fraser; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH] xend: pci: find_parent: should return string rather than 
int

On Wed, Jun 17, 2009 at 07:02:27PM +0800, Cui, Dexuan wrote:
> Using changeset 19783: 61ec78692b13, device assignment can't work: 
> e.g., in find_the_uppermost_pci_bridge(), 
>  parent = dev_parent.find_parent()
> ...
>  dev_parent = PciDevice(parent),
> we can see parent['domain'] is int and in PciDevice's __init__, 
> int(dev['domain'], 16) would fail:
> TypeError: int() can't convert non-string with explicit base
> 
> The patch fixes the issue.

Hi Dexuan,

sorry about that. The fix looks good to me.

Could you tell me a bit about what config/command you
ran to produce this problem? I'd like to add something
to the tests that I run.

Acked-by: Simon Horman <horms@xxxxxxxxxxxx>

> 
> diff -r 61ec78692b13 tools/python/xen/util/pci.py
> --- a/tools/python/xen/util/pci.py  Wed Jun 17 07:39:27 2009 +0100
> +++ b/tools/python/xen/util/pci.py  Wed Jun 17 18:35:31 2009 +0800
> @@ -547,12 +547,12 @@ class PciDevice:
>              else:
>                  dev = {}
>                  lst = parent.split(':')
> -                dev['domain'] = int(lst[0], 16)
> -                dev['bus'] = int(lst[1], 16)
> +                dev['domain'] = '%04x' % int(lst[0], 16)
> +                dev['bus'] = '%02x' % int(lst[1], 16)
>                  lst = lst[2]
>                  lst = lst.split('.')
> -                dev['slot'] = int(lst[0], 16)
> -                dev['func'] = int(lst[1], 16)
> +                dev['slot'] = '%02x' % int(lst[0], 16)
> +                dev['func'] = '%x' % int(lst[1], 16)
>              return dev
>          except OSError, (errno, strerr):
>              raise PciDeviceParseError('Can not locate the parent of %s',

Attachment: lspci.log
Description: lspci.log

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