[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 03/15] qdev: Allow device addressing via 'dri
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 03/15] qdev: Allow device addressing via 'driver.instance' |
Date: |
Sat, 29 May 2010 09:50:10 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Jan Kiszka <address@hidden> writes:
> From: Jan Kiszka <address@hidden>
>
> Extend qbus_find_dev to allow addressing of devices without an unique id
> via an optional per-bus instance number. The new formats are
> 'driver.instance' and 'alias.instance'.
>
> Signed-off-by: Jan Kiszka <address@hidden>
> ---
> docs/qdev-device-use.txt | 12 +++++++++++-
> hw/qdev.c | 23 ++++++++++++++++++-----
> 2 files changed, 29 insertions(+), 6 deletions(-)
>
> diff --git a/docs/qdev-device-use.txt b/docs/qdev-device-use.txt
> index 9ac1fa1..5939481 100644
> --- a/docs/qdev-device-use.txt
> +++ b/docs/qdev-device-use.txt
> @@ -1,6 +1,6 @@
> = How to convert to -device & friends =
>
> -=== Specifying Bus and Address on Bus ===
> +=== Specifying Bus, Address on Bus, and Devices ===
>
> In qdev, each device has a parent bus. Some devices provide one or
> more buses for children. You can specify a device's parent bus with
> @@ -24,6 +24,16 @@ Furthermore, if a device only hosts a single bus, the bus
> name can be
> omitted in the path. Example: /i440FX-pcihost/PIIX3 abbreviates
> /i440FX-pcihost/pci.0/PIIX3/isa.0 as none of the buses has siblings.
>
> +Existing devices can be addressed either via a unique ID if it was
> +assigned during creation or via the device tree path:
> +
> +/full_bus_address/driver_name[.instance_number]
> + or
> +abbreviated_bus_address/driver_name[.instance_number]
> +
> +Example: /i440FX-pcihost/pci.0/e1000.2 addresses the second e1000
> +adapter on the bus 'pci.0'.
> +
> Note: the USB device address can't be controlled at this time.
"instance number" isn't defined in this document.
I understand the problem you're trying to solve; I've had it myself many
times. But is inventing an instance number the right solution?
The two e1000 devices already have a perfectly fine unique identifier on
their bus: their bus address. What about recognizing bus addresses in
paths? Requires a suitable restriction on device names and IDs to avoid
ambiguity, say "start with letter".
qdev currently doesn't abstract bus addresses, but that's fixable.
[...]
[Qemu-devel] [PATCH v2 04/15] qdev: Convert device and bus lists to QTAILQ, Jan Kiszka, 2010/05/22
[Qemu-devel] [PATCH v2 05/15] qdev: Allow device specification by qtree path for device_del, Jan Kiszka, 2010/05/22
[Qemu-devel] [PATCH v2 07/15] monitor: Add completion for qdev paths, Jan Kiszka, 2010/05/22