[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 14:03:56 +0000 |
Am 14. Januar 2024 13:03:07 UTC schrieb "Michael S. Tsirkin" <mst@redhat.com>:
>On Sun, Jan 14, 2024 at 12:52:53PM +0000, Bernhard Beschow wrote:
>>
>>
>> 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.
>
>Was hoping for more reviews. Oh well.
>Tagged.
You made my day. Thanks!
>
>
>> 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
>> >
>> >
>> >
>
- [PATCH v5 04/11] exec/ioport: Resolve redundant .base attribute in struct MemoryRegionPortio, (continued)
- [PATCH v5 04/11] exec/ioport: Resolve redundant .base attribute in struct MemoryRegionPortio, Bernhard Beschow, 2024/01/14
- [PATCH v5 05/11] exec/ioport: Add portio_list_set_address(), Bernhard Beschow, 2024/01/14
- [PATCH v5 06/11] exec/ioport: Add portio_list_set_enabled(), Bernhard Beschow, 2024/01/14
- [PATCH v5 07/11] hw/block/fdc-isa: Implement relocation and enabling/disabling for TYPE_ISA_FDC, Bernhard Beschow, 2024/01/14
- [PATCH v5 08/11] hw/char/serial-isa: Implement relocation and enabling/disabling for TYPE_ISA_SERIAL, Bernhard Beschow, 2024/01/14
- [PATCH v5 09/11] hw/char/parallel-isa: Implement relocation and enabling/disabling for TYPE_ISA_PARALLEL, Bernhard Beschow, 2024/01/14
- [PATCH v5 10/11] hw/ppc/pegasos2: Let pegasos2 machine configure SuperI/O functions, Bernhard Beschow, 2024/01/14
- [PATCH v5 11/11] hw/isa/vt82c686: Implement relocation and toggling of SuperI/O functions, Bernhard Beschow, 2024/01/14
- Re: [PATCH v5 00/11] hw/isa/vt82c686: Implement relocation and toggling of SuperI/O functions, Bernhard Beschow, 2024/01/14