qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH 0/9] Configurable PCI device addresses


From: Anthony Liguori
Subject: Re: [Qemu-devel] [RFC PATCH 0/9] Configurable PCI device addresses
Date: Thu, 22 Jan 2009 14:06:08 -0600
User-agent: Thunderbird 2.0.0.19 (X11/20090105)

Markus Armbruster wrote:
This patch series makes PCI device addresses configurable for a number
of devices.  For now, I just covered the ones I consider important
and/or where the change is somewhat invasive.

Why is a configurable PCI device address useful?  Currently, QEMU
assigns a few device addresses statically, and the rest dynamically on
a first come, first serve basis[*].  If you add or remove a device,
all devices registering later change address.  I'm told a certain
operating system that can't be named in polite company can get rather
upset about that.

Making the device address configurable looks like the simplest
solution to this problem.  Only users who really mind changing
addresses have to deal with the new configuration parameter.

I think we're starting to get to the tipping point where we really just need to introduce a machine config file.

Paul, you mentioned you were working on something before? Care to update us on the status?

I know there was a fair bit of support before for a FDT based machine config.

Regards,

Anthony Liguori

I started with Izik's proposal to "allow setting static slot values
for pci devices from the command line", see

    http://lists.gnu.org/archive/html/qemu-devel/2008-01/msg00601.html
    http://lists.gnu.org/archive/html/qemu-devel/2007-11/msg00620.html

but ended up doing it quite differently.

I'm just soliciting comments.  I do *not* ask for a commit of anything
right now.

The patch series consists of these parts:

[1/9] PCI device registration helpers
[2/9] Clean up handling of name=value,... part of -vga option argument
[3/9] Support pci=... in option argument of -vga
[4/9] Convert virtio_init_pci() to pci_register_device_2()
[5/9] Support pci=... in option argument of -net nic
[6/9] Make drives_opt[] accessible from device initialization
[7/9] Support pci=... in option argument of -drive if=virtio
[8/9] New option -audio as a more flexible alternative to -soundhw
[9/9] Support pci=... in option argument of -audio

Overall diffstat:

 hw/ac97.c           |   11 +---
 hw/audiodev.h       |    4 +-
 hw/cirrus_vga.c     |    6 +-
 hw/e1000.c          |    6 +-
 hw/eepro100.c       |   19 ++++----
 hw/es1370.c         |   11 +---
 hw/mips_malta.c     |   17 +++----
 hw/ne2000.c         |    7 +--
 hw/pc.c             |   23 ++++------
 hw/pc.h             |   11 +---
 hw/pci.c            |  109 ++++++++++++++++++++++++++++++++++++++++++++--
 hw/pci.h            |   25 ++++++----
 hw/pcnet.c          |    6 +-
 hw/ppc440_bamboo.c  |    5 +-
 hw/ppc_chrp.c       |    4 +-
 hw/ppc_oldworld.c   |    4 +-
 hw/ppc_prep.c       |    4 +-
 hw/r2d.c            |    8 ++--
 hw/realview.c       |    2 +-
 hw/rtl8139.c        |    7 +--
 hw/sun4u.c          |    4 +-
 hw/versatilepb.c    |    2 +-
 hw/vga.c            |   40 ++++++++--------
 hw/virtio-balloon.c |    2 +-
 hw/virtio-blk.c     |    4 +-
 hw/virtio-blk.h     |    2 +-
 hw/virtio-console.c |    2 +-
 hw/virtio-net.c     |    5 +-
 hw/virtio-net.h     |    2 +-
 hw/virtio.c         |    5 +-
 hw/virtio.h         |    2 +-
 hw/vmware_vga.c     |    7 ++-
 net.c               |    1 +
 net.h               |    1 +
 sysemu.h            |   13 +++++-
 vl.c                |  120 ++++++++++++++++++++++++++++++++-------------------
 36 files changed, 315 insertions(+), 186 deletions(-)


[*] To be precise: it assigns the dev.func part dynamically.  The
domain:bus: part is still statically assigned.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]