From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [RFC PATCH 0/9] Configurable PCI device addresses
Date: Thu, 22 Jan 2009 20:23:08 +0100 [thread overview]
Message-ID: <87ocxzrvqb.fsf@pike.pond.sub.org> (raw)
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 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.
next reply other threads:[~2009-01-22 19:23 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-22 19:23 Markus Armbruster [this message]
2009-01-22 19:30 ` [Qemu-devel] [PATCH 1/9] PCI device registration helpers Markus Armbruster
2009-01-22 19:30 ` [Qemu-devel] [PATCH 2/9] Clean up handling of name=value, ... part of -vga option argument Markus Armbruster
2009-01-22 19:30 ` [Qemu-devel] [PATCH 3/9] Support pci=... in option argument of -vga Markus Armbruster
2009-01-22 19:31 ` [Qemu-devel] [PATCH 4/9] Convert virtio_init_pci() to pci_register_device_2() Markus Armbruster
2009-01-22 19:31 ` [Qemu-devel] [PATCH 5/9] Support pci=... in option argument of -net nic Markus Armbruster
2009-01-22 19:31 ` [Qemu-devel] [PATCH 6/9] Make drives_opt[] accessible from device initialization Markus Armbruster
2009-01-22 19:31 ` [Qemu-devel] [PATCH 7/9] Support pci=... in option argument of -drive if=virtio Markus Armbruster
2009-01-22 19:31 ` [Qemu-devel] [PATCH 8/9] New option -audio as a more flexible alternative to -soundhw Markus Armbruster
2009-01-22 22:03 ` malc
2009-01-23 8:32 ` Markus Armbruster
2009-01-23 9:29 ` Kevin Wolf
2009-01-23 10:04 ` Markus Armbruster
2009-01-23 10:24 ` Kevin Wolf
2009-01-23 11:51 ` Markus Armbruster
2009-01-22 19:31 ` [Qemu-devel] [PATCH 9/9] Support pci=... in option argument of -audio Markus Armbruster
2009-01-22 20:06 ` [Qemu-devel] [RFC PATCH 0/9] Configurable PCI device addresses Anthony Liguori
2009-01-23 9:04 ` Markus Armbruster
2009-01-23 10:23 ` Daniel P. Berrange
2009-01-23 19:06 ` Paul Brook
2009-01-23 19:28 ` Anthony Liguori
2009-01-26 8:55 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ocxzrvqb.fsf@pike.pond.sub.org \
--to=armbru@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).