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

2024-01-14 Thread Bernhard Beschow
Am 14. Januar 2024 13:03:07 UTC schrieb "Michael S. Tsirkin" : >On Sun, Jan 14, 2024 at 12:52:53PM +, Bernhard Beschow wrote: >> >> >> Am 14. Januar 2024 12:39:00 UTC schrieb Bernhard Beschow : >> >This series implements relocation of the SuperI/O functions of the VIA south >> > >> >bridge

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

2024-01-14 Thread Michael S. Tsirkin
On Sun, Jan 14, 2024 at 12:52:53PM +, Bernhard Beschow wrote: > > > Am 14. Januar 2024 12:39:00 UTC schrieb 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 > > >

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

2024-01-14 Thread Bernhard Beschow
Am 14. Januar 2024 12:39:00 UTC schrieb 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 >

[PATCH v5 09/11] hw/char/parallel-isa: Implement relocation and enabling/disabling for TYPE_ISA_PARALLEL

2024-01-14 Thread Bernhard Beschow
The real SuperI/O chips emulated by QEMU allow for relocating and enabling or disabling their SuperI/O functions via software. So far this is not implemented. Prepare for that by adding isa_parallel_set_{enabled,iobase}. Signed-off-by: Bernhard Beschow --- include/hw/char/parallel-isa.h | 3 +++

[PATCH v5 10/11] hw/ppc/pegasos2: Let pegasos2 machine configure SuperI/O functions

2024-01-14 Thread Bernhard Beschow
This is a preparation for implementing relocation and toggling of SuperI/O functions in the VT8231 device model. Upon reset, all SuperI/O functions will be deactivated, so in case if no -bios is given, let the machine configure those functions the same way Pegasos II firmware would do. Signed-off-

[PATCH v5 04/11] exec/ioport: Resolve redundant .base attribute in struct MemoryRegionPortio

2024-01-14 Thread Bernhard Beschow
portio_list_add_1() creates a MemoryRegionPortioList instance which holds a MemoryRegion `mr` and an array of MemoryRegionPortio elements named `ports`. Each element in the array gets assigned the same value for its .base attribute. The same value also ends up as the .addr attribute of `mr` due to

[PATCH v5 08/11] hw/char/serial-isa: Implement relocation and enabling/disabling for TYPE_ISA_SERIAL

2024-01-14 Thread Bernhard Beschow
The real SuperI/O chips emulated by QEMU allow for relocating and enabling or disabling their SuperI/O functions via software. So far this is not implemented. Prepare for that by adding isa_serial_set_{enabled,iobase}. Signed-off-by: Bernhard Beschow --- include/hw/char/serial.h | 2 ++ hw/char

[PATCH v5 03/11] hw/char/parallel: Move portio_list from ParallelState to ISAParallelState

2024-01-14 Thread Bernhard Beschow
ParallelState::portio_list isn't used inside ParallelState context but only inside ISAParallelState context, so move it there. Signed-off-by: Bernhard Beschow Reviewed-by: BALATON Zoltan --- include/hw/char/parallel-isa.h | 2 ++ include/hw/char/parallel.h | 2 -- hw/char/parallel.c

[PATCH v5 00/11] hw/isa/vt82c686: Implement relocation and toggling of SuperI/O functions

2024-01-14 Thread 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 t

[PATCH v5 07/11] hw/block/fdc-isa: Implement relocation and enabling/disabling for TYPE_ISA_FDC

2024-01-14 Thread Bernhard Beschow
The real SuperI/O chips emulated by QEMU allow for relocating and enabling or disabling their SuperI/O functions via software. So far this is not implemented. Prepare for that by adding isa_fdc_set_{enabled,iobase}. Signed-off-by: Bernhard Beschow --- include/hw/block/fdc.h | 3 +++ hw/block/fd

[PATCH v5 11/11] hw/isa/vt82c686: Implement relocation and toggling of SuperI/O functions

2024-01-14 Thread Bernhard Beschow
The VIA south bridges are able to relocate and toggle (enable or disable) their SuperI/O functions. So far this is hardcoded such that all functions are always enabled and are located at fixed addresses. Some PC BIOSes seem to probe for I/O occupancy before activating such a function and issue an

[PATCH v5 02/11] hw/block/fdc-sysbus: Move iomem from FDCtrl to FDCtrlSysBus

2024-01-14 Thread Bernhard Beschow
FDCtrl::iomem isn't used inside FDCtrl context but only inside FDCtrlSysBus context, so move it there. Signed-off-by: Bernhard Beschow Reviewed-by: BALATON Zoltan --- hw/block/fdc-internal.h | 2 -- hw/block/fdc-sysbus.c | 6 -- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git

[PATCH v5 06/11] exec/ioport: Add portio_list_set_enabled()

2024-01-14 Thread Bernhard Beschow
Some SuperI/O devices such as the VIA south bridges or the PC87312 controller allow to enable or disable their SuperI/O functions. Add a convenience function for implementing this in the VIA south bridges. The naming of the functions is inspired by its memory_region_set_enabled() pendant. Signed-

[PATCH v5 05/11] exec/ioport: Add portio_list_set_address()

2024-01-14 Thread Bernhard Beschow
Some SuperI/O devices such as the VIA south bridges or the PC87312 controller are able to relocate their SuperI/O functions. Add a convenience function for implementing this in the VIA south bridges. This convenience function relies on previous simplifications in exec/ioport which avoids some dupl

[PATCH v5 01/11] hw/block/fdc-isa: Move portio_list from FDCtrl to FDCtrlISABus

2024-01-14 Thread Bernhard Beschow
FDCtrl::portio_list isn't used inside FDCtrl context but only inside FDCtrlISABus context, so move it there. Signed-off-by: Bernhard Beschow Reviewed-by: BALATON Zoltan --- hw/block/fdc-internal.h | 2 -- hw/block/fdc-isa.c | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff -