From: "Andreas Färber" <andreas.faerber@web.de>
To: qemu-devel@nongnu.org
Cc: "Andreas Färber" <andreas.faerber@web.de>,
hpoussin@reactos.org, kraxel@redhat.com
Subject: [Qemu-devel] [RFC 00/10] ISA reconfigurability
Date: Mon, 6 Jun 2011 18:20:49 +0200 [thread overview]
Message-ID: <1307377259-41434-1-git-send-email-andreas.faerber@web.de> (raw)
Hello,
The current qdev model seems to assume that a PC is equipped with the controllers
and devices (part of the default config or) explicitly passed as parameters by
the user.
In reality though, a PC is usually equipped with a fixed set of internal devices,
which can be enabled/disabled and configured from the BIOS menu.
Similarly, the PC87312 Super I/O chipset used in IBM PReP machines aggregates
a number of PC-compatible devices and allows to reconfigure them through register
writes. This is actually done by the real IBM firmware we're trying to boot.
The original patch by Hervé unplugged and added new isa-parallel, etc. devices
for each reconfiguration. That failed because the devices are not meant to be
hot-pluggable.
This series proposes a new solution: helpers that reconfigure existing ISADevices.
It also contains a resend of a prerequisite patch with updated summary.
As for the remaining issue of enabling/disabling devices I'd like to hear
opinions on whether we should allow hot-plugging of these devices or
whether we should add an enabled/disabled state to a qdev device.
The latter would help avoid guest-triggerable qdev_init[_nofail]() failures but
would crowd the qtree and thus be a user-visible change.
Further, some qdev devices like isa-parallel and isa-serial seem to depend on a
valid char device. The runtime choice of whether to enable the parallel port is
obviously independent of whether the user supplied us with a valid chr property.
Do we have a nop char driver to use in such a case?
Thanks,
Andreas
Andreas Färber (9):
isa: Allow to un-assign I/O ports
isa: Allow to un-associate an IRQ
parallel: Allow to reconfigure ISA I/O base
parallel: Allow to reconfigure ISA IRQ
serial: Allow to reconfigure ISA I/O base
serial: Allow to reconfigure ISA IRQ
fdc: Allow to reconfigure ISA I/O base
ide: Allow to reconfigure ISA I/O base
prep: Add pc87312 Super I/O emulation
Hervé Poussineau (1):
fdc: Parametrize ISA base, IRQ and DMA
Makefile.objs | 1 +
default-configs/ppc-softmmu.mak | 2 +
hw/fdc.c | 56 ++++--
hw/fdc.h | 3 +
hw/ide.h | 1 +
hw/ide/core.c | 8 +
hw/ide/internal.h | 1 +
hw/ide/isa.c | 28 +++-
hw/isa-bus.c | 28 +++
hw/isa.h | 10 +
hw/parallel.c | 83 ++++++--
hw/pc87312.c | 435 +++++++++++++++++++++++++++++++++++++++
hw/serial.c | 34 +++-
13 files changed, 647 insertions(+), 43 deletions(-)
create mode 100644 hw/pc87312.c
--
1.7.5.3
next reply other threads:[~2011-06-06 16:22 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-06 16:20 Andreas Färber [this message]
2011-06-06 16:20 ` [Qemu-devel] [RFC 01/10] isa: Allow to un-assign I/O ports Andreas Färber
2011-06-06 16:20 ` [Qemu-devel] [RFC 02/10] isa: Allow to un-associate an IRQ Andreas Färber
2011-06-06 16:20 ` [Qemu-devel] [RFC 03/10] parallel: Allow to reconfigure ISA I/O base Andreas Färber
2011-06-06 16:20 ` [Qemu-devel] [RFC 04/10] parallel: Allow to reconfigure ISA IRQ Andreas Färber
2011-06-06 16:20 ` [Qemu-devel] [RFC 05/10] serial: Allow to reconfigure ISA I/O base Andreas Färber
2011-06-06 16:20 ` [Qemu-devel] [RFC 06/10] serial: Allow to reconfigure ISA IRQ Andreas Färber
2011-06-06 16:20 ` [Qemu-devel] [PATCH v2 07/10] fdc: Parametrize ISA base, IRQ and DMA Andreas Färber
2011-06-06 16:20 ` [Qemu-devel] [RFC 08/10] fdc: Allow to reconfigure ISA I/O base Andreas Färber
2011-06-06 16:20 ` [Qemu-devel] [RFC 09/10] ide: " Andreas Färber
2011-06-06 16:20 ` [Qemu-devel] [RFC 10/10] prep: Add pc87312 Super I/O emulation Andreas Färber
2011-06-06 20:08 ` [Qemu-devel] [RFC 05/10] serial: Allow to reconfigure ISA I/O base Richard Henderson
2011-06-06 20:25 ` Andreas Färber
2011-06-07 7:18 ` [Qemu-devel] [RFC 00/10] ISA reconfigurability Gerd Hoffmann
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 00/10] ISA reconfigurability v2 Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 01/10] isa: Provide set_state callback Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 02/10] isa: Allow to un-assign I/O ports Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 03/10] isa: Allow to un-associate an IRQ Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 04/10] parallel: Implement ISA set_state callback Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 05/10] serial: Implement ISA set_state() callback Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [PATCH v2 06/10] fdc: Parametrize ISA base, IRQ and DMA Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 07/10] fdc: Implement ISA set_state() callback Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 08/10] ide: Allow to discard I/O ports Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 09/10] ide: Implement ISA set_state() callback Andreas Färber
2011-06-07 15:02 ` [Qemu-devel] [RFC v2 10/10] prep: Add pc87312 Super I/O emulation Andreas Färber
2011-06-07 15:16 ` [Qemu-devel] [RFC v2 00/10] ISA reconfigurability v2 Gerd Hoffmann
2011-06-07 22:36 ` Andreas Färber
2011-06-08 8:13 ` Gerd Hoffmann
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 00/12] ISA reconfigurability v4 Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [PATCH v4 01/12] qdev: Add support for property type bool Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [PATCH v4 02/12] qdev: Add helpers for reading properties Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 03/12] isa: Provide set_state callback Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 04/12] isa: Allow to un-assign I/O ports Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 05/12] isa: Allow to un-associate an IRQ Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 06/12] parallel: Implement ISA set_state callback Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 07/12] serial: Implement ISA set_state() callback Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [PATCH v4 08/12] fdc: Parametrize ISA base, IRQ and DMA Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 09/12] fdc: Implement ISA set_state() callback Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 10/12] ide: Allow to discard I/O ports Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 11/12] ide: Implement ISA set_state() callback Andreas Färber
2011-06-08 18:55 ` [Qemu-devel] [RFC v4 12/12] prep: Add pc87312 Super I/O emulation Andreas Färber
2011-06-09 7:56 ` [Qemu-devel] [RFC v4 09/12] fdc: Implement ISA set_state() callback Gerd Hoffmann
2011-06-09 9:23 ` Andreas Färber
2011-06-09 15:35 ` [Qemu-devel] [RFC v4 07/12] serial: " Markus Armbruster
2011-06-09 16:08 ` Andreas Färber
2011-06-09 15:04 ` [Qemu-devel] [RFC v4 05/12] isa: Allow to un-associate an IRQ Markus Armbruster
2011-06-09 15:12 ` Markus Armbruster
2011-06-12 12:05 ` Andreas Färber
2011-06-09 15:03 ` [Qemu-devel] [RFC v4 04/12] isa: Allow to un-assign I/O ports Markus Armbruster
2011-06-12 11:59 ` Andreas Färber
2011-06-12 13:48 ` Gleb Natapov
2011-06-12 15:32 ` Andreas Färber
2011-06-12 17:14 ` Gleb Natapov
2011-06-09 10:39 ` [Qemu-devel] [RFC v4 03/12] isa: Provide set_state callback Gerd Hoffmann
2011-06-09 11:37 ` Andreas Färber
2011-06-09 12:23 ` Gerd Hoffmann
2011-06-09 14:07 ` Andreas Färber
2011-06-09 14:19 ` Gerd Hoffmann
2011-06-09 16:04 ` Markus Armbruster
2011-06-12 12:48 ` Andreas Färber
2011-06-09 14:53 ` Markus Armbruster
2011-06-12 11:46 ` Andreas Färber
2011-06-09 14:45 ` [Qemu-devel] [PATCH v4 01/12] qdev: Add support for property type bool Markus Armbruster
2011-06-12 11:44 ` Andreas Färber
2011-06-13 20:08 ` [Qemu-devel] [RFC v4 00/12] ISA reconfigurability v4 Blue Swirl
2011-06-13 21:09 ` Andreas Färber
2011-06-15 18:24 ` Blue Swirl
2011-06-07 23:32 ` [Qemu-devel] [RFC v3 10/11] qdev: Add helpers for reading properties Andreas Färber
2011-06-07 23:32 ` [Qemu-devel] [RFC v3 11/11] prep: Add pc87312 Super I/O emulation Andreas Färber
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=1307377259-41434-1-git-send-email-andreas.faerber@web.de \
--to=andreas.faerber@web.de \
--cc=hpoussin@reactos.org \
--cc=kraxel@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).