[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: |
Paul Brook |
Subject: |
Re: [Qemu-devel] [PATCH 04/13] qdev: add generic qdev_device_add() |
Date: |
Fri, 10 Jul 2009 21:51:03 +0100 |
User-agent: |
KMail/1.11.4 (Linux/2.6.29-2-amd64; KDE/4.2.4; x86_64; ; ) |
On Friday 10 July 2009, Gerd Hoffmann wrote:
> On 07/10/09 19:23, Paul Brook wrote:
> > On Friday 10 July 2009, Gerd Hoffmann wrote:
> >> Will be used for -device command line.
> >
> > 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.
> How about using user-specified ids to specify busses then?
>
>PCI example:
> instead of -device $name,addr=$bus:$slot.$fn
> use -device $name,bus=root,addr=$slot.$fn
>
>SCSI example:
> host adapter: -device lsi,id=foo
> scsi disk: -device scsi-disk,bus=foo,addr=$lun
I was thinking something a bit more like
-device lsi,bus=/i440fx/pci
-device scsi-disk,bus=/i440fx/pci/lsi/scsi
This example is maybe slightly unclear because the i440fx and lsi child busses
happen to be called "pci" and "scsi". For devices with multiple child busses
they may have different names.
Adding some form of aliases may be convenient. For example the pci machine
could alias "pci0" to "/i440fx/pci", which would give
-device lsi,bus=pci0
-device scsi-disk,bus=pci0/lsi/scsi
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
Paul
- [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 <=
- 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, 2009/07/14
- 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