qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v5 00/11] hw/isa/vt82c686: Implement relocation and toggling


From: Bernhard Beschow
Subject: Re: [PATCH v5 00/11] hw/isa/vt82c686: Implement relocation and toggling of SuperI/O functions
Date: Sun, 14 Jan 2024 12:52:53 +0000


Am 14. Januar 2024 12:39:00 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>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-3 prepare the TYPE_ISA_FDC,
>
>TYPE_ISA_PARALLEL and TYPE_ISA_SERIAL to relocate and toggle (enable/disable)
>
>themselves without breaking encapsulation of their respective device states.
>
>This is achieved by moving the MemoryRegions and PortioLists from the device
>
>states into the encapsulating ISA devices since they will be relocated and
>
>toggled.
>
>
>
>Inspired by the memory API patches 4-6 add two convenience functions to the
>
>portio_list API to toggle and relocate portio lists. Patch 5 is a preparation
>
>for that which removes some redundancies which otherwise had to be dealt with
>
>during relocation.
>
>
>
>Patches 7-9 implement toggling and relocation for types TYPE_ISA_FDC,
>
>TYPE_ISA_PARALLEL and TYPE_ISA_SERIAL. Patch 10 prepares the pegasos2 machine
>
>which would end up with all SuperI/O functions disabled if no -bios argument is
>
>given. Patch 11 finally implements the main feature which now relies on
>
>firmware to configure the SuperI/O functions accordingly (except for pegasos2).
>
>
>
>v5:
>
>* Use cpu_physical_memory_write() in pegasos2 (Zoltan)
>
>* Use an int as for loop variable (Zoltan)
>
>
>
>v4:
>
>* Drop incomplete SuperI/O vmstate handling (Zoltan)
>
>
>
>v3:
>
>* Rework various commit messages (Zoltan)
>
>* Drop patch "hw/char/serial: Free struct SerialState from MemoryRegion"
>
>  (Zoltan)
>
>* Generalize wording in migration.rst to include portio_list API (Zoltan)
>
>
>
>v2:
>
>* Improve commit messages (Zoltan)
>
>* Split pegasos2 from vt82c686 patch (Zoltan)
>
>* Avoid poking into device internals (Zoltan)
>
>
>
>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 (11):
>
>  hw/block/fdc-isa: Move portio_list from FDCtrl to FDCtrlISABus
>
>  hw/block/fdc-sysbus: Move iomem from FDCtrl to FDCtrlSysBus
>
>  hw/char/parallel: Move portio_list from ParallelState to
>
>    ISAParallelState
>


>  exec/ioport: Resolve redundant .base attribute in struct
>
>    MemoryRegionPortio
>
>  exec/ioport: Add portio_list_set_address()
>
>  exec/ioport: Add portio_list_set_enabled()
>
>  hw/block/fdc-isa: Implement relocation and enabling/disabling for
>
>    TYPE_ISA_FDC
>
>  hw/char/serial-isa: Implement relocation and enabling/disabling for
>
>    TYPE_ISA_SERIAL
>
>  hw/char/parallel-isa: Implement relocation and enabling/disabling for
>
>    TYPE_ISA_PARALLEL
>

Ping for the above six patches. These are critical for this series and haven't 
had comments from maintainers for five iterations, so pardon for the annoyance.

Best regards,
Bernhard

>  hw/ppc/pegasos2: Let pegasos2 machine configure SuperI/O functions
>
>  hw/isa/vt82c686: Implement relocation and toggling of SuperI/O
>
>    functions
>
>
>
> docs/devel/migration.rst       |  6 ++--
>
> hw/block/fdc-internal.h        |  4 ---
>
> include/exec/ioport.h          |  4 ++-
>
> include/hw/block/fdc.h         |  3 ++
>
> include/hw/char/parallel-isa.h |  5 +++
>
> include/hw/char/parallel.h     |  2 --
>
> include/hw/char/serial.h       |  2 ++
>
> hw/block/fdc-isa.c             | 18 +++++++++-
>
> hw/block/fdc-sysbus.c          |  6 ++--
>
> hw/char/parallel-isa.c         | 14 ++++++++
>
> hw/char/parallel.c             |  2 +-
>
> hw/char/serial-isa.c           | 14 ++++++++
>
> hw/isa/vt82c686.c              | 65 ++++++++++++++++++++++++++++------
>
> hw/ppc/pegasos2.c              | 12 +++++++
>
> system/ioport.c                | 41 +++++++++++++++++----
>
> 15 files changed, 168 insertions(+), 30 deletions(-)
>
>
>
>-- >
>2.43.0
>
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]