[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 00/10] ISA reconfigurability
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [RFC 00/10] ISA reconfigurability |
Date: |
Mon, 6 Jun 2011 18:20:49 +0200 |
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
- [Qemu-devel] [RFC 00/10] ISA reconfigurability,
Andreas Färber <=
- [Qemu-devel] [RFC 01/10] isa: Allow to un-assign I/O ports, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 02/10] isa: Allow to un-associate an IRQ, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 03/10] parallel: Allow to reconfigure ISA I/O base, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 04/10] parallel: Allow to reconfigure ISA IRQ, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 05/10] serial: Allow to reconfigure ISA I/O base, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 06/10] serial: Allow to reconfigure ISA IRQ, Andreas Färber, 2011/06/06
- [Qemu-devel] [PATCH v2 07/10] fdc: Parametrize ISA base, IRQ and DMA, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 08/10] fdc: Allow to reconfigure ISA I/O base, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 09/10] ide: Allow to reconfigure ISA I/O base, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 10/10] prep: Add pc87312 Super I/O emulation, Andreas Färber, 2011/06/06