All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC 00/10] ISA reconfigurability
@ 2011-06-06 16:20 Andreas Färber
  2011-06-06 16:20 ` [Qemu-devel] [RFC 01/10] isa: Allow to un-assign I/O ports Andreas Färber
  2011-06-07  7:18 ` [Qemu-devel] [RFC 00/10] ISA reconfigurability Gerd Hoffmann
  0 siblings, 2 replies; 69+ messages in thread
From: Andreas Färber @ 2011-06-06 16:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber, hpoussin, kraxel

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

^ permalink raw reply	[flat|nested] 69+ messages in thread

end of thread, other threads:[~2011-06-15 18:24 UTC | newest]

Thread overview: 69+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-06 16:20 [Qemu-devel] [RFC 00/10] ISA reconfigurability Andreas Färber
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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.