[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Add device-path command.



On Mon, 6 Apr 2009 15:06:00 +0100
"Daniel P. Berrange" <berrange@xxxxxxxxxx> wrote:

> On Mon, Apr 06, 2009 at 05:03:37PM +0900, Yuji Shimada wrote:
> > This patch adds device-path command that converts SBDF into device
> > path.
> 
> [snip]
> 
> > diff -r 5a60eb7fad79 tools/misc/device-path
> > --- /dev/null       Thu Jan 01 00:00:00 1970 +0000
> > +++ b/tools/misc/device-path        Mon Apr 06 16:30:11 2009 +0900
> 
> 
> [snip]
> 
> > +SYSFS_ACPI_DEVS_PATH = '/firmware/acpi/namespace/ACPI/_SB'
> > +
> > +def find_hid_uid(dom, b, d, f):
> > +    sb_path = find_sysfs_mnt() + SYSFS_ACPI_DEVS_PATH
> > +    obj_list = os.listdir(sb_path)
> > +    for obj in obj_list:
> > +        obj_path = sb_path + '/' + obj.strip() + '/'
> > +        if os.path.exists(obj_path + 'seg') and \
> > +            os.path.exists(obj_path + 'bbn'):
> > +            seg = open(obj_path + 'seg').read()
> > +            bbn = open(obj_path + 'bbn').read()
> > +            if int(seg) == dom and int(bbn) == b:
> > +                hid = open(obj_path + 'hid').read()
> > +                if os.path.exists(obj_path + 'uid') is False:
> > +                    path_str = hid.strip()
> > +                else:
> > +                    uid = open(obj_path + 'uid').read()
> > +                    path_str = hid.strip() + ':' + uid.strip()
> > +                return path_str
> > +    return None
> 
> I don't know how critical this piece of code is to the overall functionality
> in this tool, but be warned that the path being used here was removed from
> sysfs in upstream kernel quite a while ago
> 
> To quote an old copy of  Documentation/feature-removal-schedule.txt
> 
>   What:  /sys/firmware/acpi/namespace
>   When:  2.6.21
>   Why:   The ACPI namespace is effectively the symbol list for
>          the BIOS.  The device names are completely arbitrary
>          and have no place being exposed to user-space.
>   
>          For those interested in the BIOS ACPI namespace,
>          the BIOS can be extracted and disassembled with acpidump
>          and iasl as documented in the pmtools package here:
>          http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils
> 

It is difficult for users to get device path of particular device.
So I made this command that converts SBDF into device path.

SBDF of devices can be changed at boot time. But device path is not
changed at boot time.
I have already added the function to specify guest passthrough device
by device path with "guestdev" boot parameter.
The linux-2.6.18-xen kernel changeset is the following.

# changeset fad85221407bf32df2574bca54cba730748343a2
# changeset 2fdc121e9b5d76464b3efd47d711c58253ef6348
# changeset cfb171ddbb333df9671a1da62e40122a56213ab4
# changeset 79e82ae1bad02c0dfb504db3153599e52a0affb3

Is there any kernel that has already merged above changeset?
If yes, could you tell me where it is?
If no, I think it is not necessary to make device-path script support
upstream linux.

Thanks,
--
Yuji Shimada


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


 


Rackspace

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