qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/12] hw/isa/vt82c686: Implement relocation and toggling of SuperI/O functions
@ 2023-12-17 14:41 Bernhard Beschow
  2023-12-17 14:41 ` [PATCH 01/12] hw: Remove unused includes of hw/block/fdc.h Bernhard Beschow
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: Bernhard Beschow @ 2023-12-17 14:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: John Snow, qemu-block, Thomas Huth, Aleksandar Rikalo,
	David Hildenbrand, Jiaxun Yang, Hervé Poussineau,
	Mark Cave-Ayland, Kevin Wolf, Peter Xu, BALATON Zoltan,
	Marc-André Lureau, Fabiano Rosas, Paolo Bonzini,
	Sergio Lopez, Richard Henderson, Eduardo Habkost, Hanna Reitz,
	Philippe Mathieu-Daudé, Cédric Le Goater,
	Nicholas Piggin, Juan Quintela, Frédéric Barrat,
	qemu-ppc, Michael S. Tsirkin, Leonardo Bras, Artyom Tarasenko,
	Marcel Apfelbaum, Bernhard Beschow

This series implements relocation of the SuperI/O functions of the VIA south
bridges which resolves some FIXME's. It is part of my via-apollo-pro-133t
branch [1] which is an extension of bringing the VIA south bridges to the PC
machine [2]. This branch is able to run some real-world X86 BIOSes in the hope
that it allows us to form a better understanding of the real vt82c686b devices.
Implementing relocation and toggling of the SuperI/O functions is one step to
make these BIOSes run without error messages, so here we go.

The series is structured as follows: Patches 1-8 export the device structs of
the ISA serial and FDC devices. This is used later in the series to access the
I/O regions for relocation and toggling. As part of the exposal the MAINTAINERS
file gets a fix for the serial headers.

Inspired by the memory API patches 9-11 add two convenience functions to the
portio_list API to toggle and relocate portio lists. Patch 9 is a preparation
for that which removes some redundancies which otherwise had to be dealt with
during relocation.

Patch 12 finally implements the main feature which required adaption of the
pegasos2 sources, otherwise the machine wouldn't boot when given no bios.

Testing done:
* make check
* make check-avocado
* Run MorphOS on pegasos2 with and without pegasos2.rom
* Run Linux on amigaone
* Run real-world BIOSes on via-apollo-pro-133t branch
* Start rescue-yl on fuloong2e

[1] https://github.com/shentok/qemu/tree/via-apollo-pro-133t
[2] https://github.com/shentok/qemu/tree/pc-via

Bernhard Beschow (12):
  hw: Remove unused includes of hw/block/fdc.h
  hw/i386/pc: No need to include hw/block/fdc.h in header
  hw/block/fdc-isa: Rename header to match source file
  hw/block/fdc: Expose internal header
  hw/block/fdc: Move constant #define to where it is imposed
  hw/block/fdc-isa: Expose struct FDCtrlISABus
  MAINTAINERS: Add include/hw/char/serial*.h to the "PC Chipset" section
  hw/char/serial-isa: Export struct ISASerialState
  exec/ioport: Resolve redundant .base attribute in struct
    MemoryRegionPortio
  exec/ioport: Add portio_list_set_address()
  exec/ioport: Add portio_list_set_enabled()
  hw/isa/vt82c686: Implement relocation of SuperI/O functions

 MAINTAINERS                  |   3 +-
 docs/devel/migration.rst     |   2 +
 hw/block/fdc-internal.h      | 158 ----------------------------------
 include/exec/ioport.h        |   4 +-
 include/hw/block/fdc-isa.h   |  32 +++++++
 include/hw/block/fdc.h       | 161 ++++++++++++++++++++++++++++++++---
 include/hw/char/serial-isa.h |  50 +++++++++++
 include/hw/char/serial.h     |   7 --
 include/hw/i386/pc.h         |   1 -
 hw/block/fdc-isa.c           |  19 +----
 hw/block/fdc-sysbus.c        |   2 +-
 hw/block/fdc.c               |   3 +-
 hw/char/serial-isa.c         |  14 +--
 hw/i386/microvm-dt.c         |   2 +-
 hw/i386/microvm.c            |   2 +-
 hw/i386/pc.c                 |   4 +-
 hw/isa/isa-superio.c         |   3 +-
 hw/isa/vt82c686.c            | 140 +++++++++++++++++++++++-------
 hw/m68k/next-cube.c          |   1 -
 hw/mips/jazz.c               |   1 +
 hw/ppc/pegasos2.c            |  15 ++++
 hw/ppc/pnv.c                 |   2 +-
 hw/ppc/prep.c                |   1 -
 hw/sparc/sun4m.c             |   2 +-
 hw/sparc64/sun4u.c           |   2 +
 stubs/cmos.c                 |   2 +-
 system/ioport.c              |  41 +++++++--
 27 files changed, 414 insertions(+), 260 deletions(-)
 delete mode 100644 hw/block/fdc-internal.h
 create mode 100644 include/hw/block/fdc-isa.h
 create mode 100644 include/hw/char/serial-isa.h

-- 
2.43.0



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

end of thread, other threads:[~2023-12-18 23:45 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-17 14:41 [PATCH 00/12] hw/isa/vt82c686: Implement relocation and toggling of SuperI/O functions Bernhard Beschow
2023-12-17 14:41 ` [PATCH 01/12] hw: Remove unused includes of hw/block/fdc.h Bernhard Beschow
2023-12-17 14:41 ` [PATCH 02/12] hw/i386/pc: No need to include hw/block/fdc.h in header Bernhard Beschow
2023-12-17 14:41 ` [PATCH 03/12] hw/block/fdc-isa: Rename header to match source file Bernhard Beschow
2023-12-17 14:41 ` [PATCH 04/12] hw/block/fdc: Expose internal header Bernhard Beschow
2023-12-17 15:47   ` BALATON Zoltan
2023-12-17 23:39     ` Bernhard Beschow
2023-12-18 10:54       ` BALATON Zoltan
2023-12-18 18:53         ` Bernhard Beschow
2023-12-18 23:44           ` BALATON Zoltan
2023-12-17 14:41 ` [PATCH 05/12] hw/block/fdc: Move constant #define to where it is imposed Bernhard Beschow
2023-12-17 14:41 ` [PATCH 06/12] hw/block/fdc-isa: Expose struct FDCtrlISABus Bernhard Beschow
2023-12-17 14:41 ` [PATCH 07/12] MAINTAINERS: Add include/hw/char/serial*.h to the "PC Chipset" section Bernhard Beschow
2023-12-17 14:41 ` [PATCH 08/12] hw/char/serial-isa: Export struct ISASerialState Bernhard Beschow
2023-12-17 14:41 ` [PATCH 09/12] exec/ioport: Resolve redundant .base attribute in struct MemoryRegionPortio Bernhard Beschow
2023-12-17 14:41 ` [PATCH 10/12] exec/ioport: Add portio_list_set_address() Bernhard Beschow
2023-12-17 14:41 ` [PATCH 11/12] exec/ioport: Add portio_list_set_enabled() Bernhard Beschow
2023-12-17 14:41 ` [PATCH 12/12] hw/isa/vt82c686: Implement relocation of SuperI/O functions Bernhard Beschow
2023-12-17 15:40   ` BALATON Zoltan
2023-12-17 23:47     ` Bernhard Beschow

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).