[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add()
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add() |
Date: |
Wed, 15 Jul 2009 01:43:22 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux) |
Gerd Hoffmann <address@hidden> writes:
> On 07/10/09 22:51, Paul Brook wrote:
>>>> I think this is going in the wrong direction. The device tree provides us
>>>> with a standard way of identifying which bus to add a device to. We
>>>> should be removing uses of pci_create, not adding new ones.
>>> Why?
>>>
>>> Let me guess: Because pci bus numbers are guest-changeable and thus not
>>> stable?
>>
>> Because I don't think this code need to be bus specific.
>
> Parts of the problem are certainly bus-specific though, such as
> parsing bus addresses.
Yes.
Provide a bus method to parse the addr property?
>> We also need to figure out the naming of multiple similar devices on the same
>> bus. Possibly your "device id" could be used to identify devices on a bus.
>> e.g. if we wanted two scsi adapters:
>>
>> -device lsi,bus=pci0,id=foo
>> -device lsi,bus=pci0,id=bar
>> -device scsi-disk,bus=pci0/foo/scsi
>> -device scsi-disk,bus=pci0/bar/scsi
Why foo/scsi? Is there a node "scsi" between the lsi device and the
disk? If yes, why?
What's the namespace for ids?
A single, flat namespace would do just fine for me. Then I could do
-device lsi,bus=pci0,id=scsi0
-device lsi,bus=pci0,id=scsi1
-device scsi-disk,bus=scsi0
-device scsi-disk,bus=scsi1
> I think what we will see used in practice is:
>
> - either go with the defaults (i.e. don't specify a bus at all
> -> device is attached to the first (and often only)
> pci/scsi/usb/whatever bus.
> - or usage of ids to identify devices and busses.
>
> I think nobody will use stuff like
> -device scsi-disk,bus=/main-system-bus/i440FX-pcihost/pci/lsi/scsi
> in practice.
I figure I wouldn't. Still, using tree path names to identify nodes
feels natural. The more convenient id property fits in easily, just
treat is as abbreviation mechanism.
So, I'd be fine with
-device DEVNAME,bus=TREE-PATH,addr=ADDR
where TREE-PATH can start either with / (root node) or an id (start
there instead of at the root), and ADDR is interpreted according to the
bus.
- [Qemu-devel] [PATCH v2 0/13] qdev patches: properties, -device switch, id=<tag> & more., Gerd Hoffmann, 2009/07/10
- [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add(), Gerd Hoffmann, 2009/07/10
- Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add(), Paul Brook, 2009/07/10
- Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add(), Gerd Hoffmann, 2009/07/10
- Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add(), Paul Brook, 2009/07/10
- Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add(), Gerd Hoffmann, 2009/07/14
- Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add(),
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add(), Markus Armbruster, 2009/07/14
- Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add(), Gerd Hoffmann, 2009/07/15
- [Qemu-devel] [PATCH 02/13] qdev: factor out driver search to qdev_find_info(), Gerd Hoffmann, 2009/07/10
- [Qemu-devel] [PATCH 03/13] qdev/pci: make pci_create return DeviceState instead of PCIDevice., Gerd Hoffmann, 2009/07/10
- [Qemu-devel] [PATCH 06/13] qdev: add no_user, alias and desc, Gerd Hoffmann, 2009/07/10
- [Qemu-devel] [PATCH 07/13] qdev: es1370 description, Gerd Hoffmann, 2009/07/10
- [Qemu-devel] [PATCH 08/13] qdev: convert all vga, Gerd Hoffmann, 2009/07/10
- [Qemu-devel] [PATCH 13/13] qdev: print device id in "info pci"., Gerd Hoffmann, 2009/07/10
- [Qemu-devel] [PATCH 09/13] qdev/pci: hook up i440fx., Gerd Hoffmann, 2009/07/10
- [Qemu-devel] [PATCH 01/13] qdev: rework device properties., Gerd Hoffmann, 2009/07/10