Re: [Qemu-devel] Re: RFC qdev path semantics

Jan Kiszka
2010-06-16T13:50:26Z

Paul Brook wrote:
>>> I think this would be better served by adding explicit aliases/IDs for
>>> those use-cases. i.e. define the global ID "pci.0" to be an alias for
>>>
>>> /i440FX-pcihost/pci
>> Makes sense. We could attach this ID to the BusState (corresponding to
>> DeviceState:id) and manually set it during machine init.
>> qbus_find_recursive would then look for a matching ID instead of a name.
>
> If we accept your proposal that global ids are not accepted as local device
> identifiers, then these probably shouldn't be stored in the device tree at
> all.
>
> Allowing at most one global ID per node also seems like a rather arbitrary
> limitation.
>
> How about having a global alias table that maps an ID to a devtree path?
> The code to handle these becomes a straight string substitution followed by a
> normal path lookup. We don't need separate code for device v.s. bus, and
> "global_device_id/busname" just works.

No principle concerns about such a table. It should nevertheless be
reference-based to assist lifetime management of aliases that are
created together with the devices they point to.

Jan

--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux