Hello, This is an all in one series containing all the patches from my previous part I and part II vt82c686b clean up series plus the end of it to finally add vt8231 emulation that will be used by subsequent ppc/pegasos2 emulation. I consider this finished for now and good enough to get in also cleaning up and improving fuloong2e emulation a bit but previous disclaimer is still valid: It does not aim to fix all existing bugs or make the model perfectly emulate the real chip just reach the level where we can have working emulation to boot guests which can then be improved later. (E.g. I think state saving was broken before and it remains broken after because I don't know all the details how to add vmstate for all kinds of data structures and this could be addressed separately when fixing the already broken state saving if someone wants to test and fix it.) With this it boots at least MorphOS on pegasos2 and works with the pmon_2e.bin for fuloong2e which needs more fixes for Linux that are currently under review. More testing is welcome.
It still needs the Bonito BONITO_PCICONF_REG_MASK fix for fuloong2e because it no longer maps SMBus but due to the Bonito bug guest cannot write register 0xd2 to map it. With that fix pmon_2e.bin from here: http://www.anheng.com.cn/loongson/pmon/ works for me with this command: qemu-system-mips64el -M fuloong2e -net none -bios pmon_2e.bin After rolling this for two years now I hope it can finally be merged and eventually also get pegasos2 emulation that will need this. Regards, BALATON Zoltan BALATON Zoltan (24): vt82c686: Rename AC97/MC97 parts from VT82C686B to VIA vt82c686: Remove unnecessary _DEVICE suffix from type macros vt82c686b: Rename VT82C686B to VT82C686B_ISA vt82c686: Remove vt82c686b_[am]c97_init() functions vt82c686: Split off via-[am]c97 into separate file in hw/audio audio/via-ac97: Simplify code and set user_creatable to false vt82c686: Remove legacy vt82c686b_isa_init() function vt82c686: Remove legacy vt82c686b_pm_init() function vt82c686: Convert debug printf to trace points vt82c686: Remove unneeded includes and defines vt82c686: Use shorter name for local variable holding object state vt82c686: Rename superio config related parts vt82c686: Move superio memory region to SuperIOConfig struct vt82c686: Reorganise code vt82c686: Fix SMBus IO base and configuration registers vt82c686: Fix up power management io base and config vt82c686: Make vt82c686b-pm an abstract base class and add vt8231-pm based on it vt82c686: Simplify vt82c686b_realize() vt82c686: Move creation of ISA devices to the ISA bridge vt82c686: Fix superio_cfg_{read,write}() functions vt82c686: Implement control of serial port io ranges via config regs vt82c686: QOM-ify superio related functionality vt82c686: Add VT8231_SUPERIO based on VIA_SUPERIO vt82c686: Add emulation of VT8231 south bridge hw/audio/meson.build | 1 + hw/audio/via-ac97.c | 93 ++++ hw/isa/trace-events | 8 + hw/isa/vt82c686.c | 1000 ++++++++++++++++++++++++------------- hw/mips/fuloong2e.c | 38 +- include/hw/isa/vt82c686.h | 15 +- 6 files changed, 761 insertions(+), 394 deletions(-) create mode 100644 hw/audio/via-ac97.c -- 2.21.3