On Sun, Mar 05, 2023 at 07:45:55AM +0000, Bernhard Beschow wrote: > > > Am 13. Februar 2023 16:45:05 UTC schrieb Bernhard Beschow <shen...@gmail.com>: > > > > > >Am 13. Februar 2023 16:19:55 UTC schrieb Bernhard Beschow > ><shen...@gmail.com>: > >>This series contains some cleanups I came across when working on the PC > >> > >>machines. It consists of reducing the usage of global variables and > >>eliminating > >> > >>some redundancies. > >> > >> > >> > >>One notable change is that the SMRAM memory region gets moved from the > >>i440fx > >> > >>and q35 host bridges into the x86 machine. This will simplify cleaning up > >>these > >> > >>host bridges which will be done in a separate series. Note that the > >>movement of > >> > >>the SMRAM memory region apparently doesn't change migration ABI for the pc > >>and > >> > >>q35 machines (see below). > >> > >> > >> > >>Testing done: > >> > >>* `make check` > >> > >>' `make check-avocado` > >> > >>* `qemu-system-x86_64 -M q35 -m 2G -cdrom \ > >> > >> manjaro-kde-21.3.2-220704-linux515.iso` > >> > >>* `qemu-system-x86_64 -M pc -m 2G -cdrom > >>manjaro-kde-21.3.2-220704-linux515.iso` > >> > >>* Confirm that JSON representation of migration files (pc & q35) are empty: > >> > >> 1. Create four migration files {pc,q35}-{before,after}.mig by running > >> > >> `qemu-system-x86_64 -M {pc,q35} -S` with QEMU built from master and > >> from > >> > >> this series. > >> > >> 2. Run `./scripts/analyze-migration.py -d desc -f *.mig > *.json` on the > >> four > >> > >> files > >> > >> 3. Compare the diffs -> both are empty > >> > >> > >> > >>v4: > >> > >>* Remove ram_memory variable in pc_q35 completely (Zoltan) > >> > > > >The last two patches still need review. Comments welcome! > > Ping > > Can we queue the reviewed patches (all but the last two) already? > > Thanks, > Bernhard
Philippe objected to patch 1 - he suggested using pci_address_space_io. > > > >> > >> > >>v3: > >> > >>* Add three patches regarding init_pam() and SMRAM. > >> > >>* Drop 'hw/i386/pc_q35: Resolve redundant q35_host variable' since Phil > >>posted > >> > >> a similar patch in a more comprehensive series: > >> > >> > >> https://lore.kernel.org/qemu-devel/20230203180914.49112-13-phi...@linaro.org/ > >> > >>* Drop 'hw/isa/lpc_ich9: Reuse memory and io address space of PCI bus' since > >> > >> it inadvertantly changed the memory hierarchy. > >> > >>* Drop ICH9 cleanups again in favor of a separate series. > >> > >> > >> > >>v2: > >> > >>* Factor out 'hw/i386/pc_q35: Reuse machine parameter' from 'hw/i386/pc_q35: > >> > >> Resolve redundant q35_host variable' (Zoltan) > >> > >>* Lower type of phb to Object in 'hw/i386/pc_q35: Resolve redundant q35_host > >> > >> variable' (Zoltan) > >> > >>* Add ICH9 cleanups > >> > >> > >> > >>Bernhard Beschow (9): > >> > >> hw/pci-host/i440fx: Inline sysbus_add_io() > >> > >> hw/pci-host/q35: Inline sysbus_add_io() > >> > >> hw/i386/pc_q35: Reuse machine parameter > >> > >> hw/i386/pc_{q35,piix}: Reuse MachineClass::desc as SMB product name > >> > >> hw/i386/pc_{q35,piix}: Minimize usage of get_system_memory() > >> > >> hw/i386/pc: Initialize ram_memory variable directly > >> > >> hw/pci-host/pam: Make init_pam() usage more readable > >> > >> hw/i386/x86: Make TYPE_X86_MACHINE the owner of smram > >> > >> target/i386/tcg/sysemu/tcg-cpu: Avoid own opinion about smram size > >> > >> > >> > >> include/hw/i386/pc.h | 1 - > >> > >> include/hw/i386/x86.h | 2 ++ > >> > >> include/hw/pci-host/i440fx.h | 7 ++++--- > >> > >> include/hw/pci-host/pam.h | 5 +++-- > >> > >> include/hw/pci-host/q35.h | 4 +++- > >> > >> hw/i386/pc.c | 2 -- > >> > >> hw/i386/pc_piix.c | 10 +++++----- > >> > >> hw/i386/pc_q35.c | 17 +++++++++-------- > >> > >> hw/i386/x86.c | 4 ++++ > >> > >> hw/pci-host/i440fx.c | 28 +++++++++++++--------------- > >> > >> hw/pci-host/pam.c | 12 ++++++------ > >> > >> hw/pci-host/q35.c | 31 ++++++++++++++++--------------- > >> > >> target/i386/tcg/sysemu/tcg-cpu.c | 3 +-- > >> > >> 13 files changed, 66 insertions(+), 60 deletions(-) > >> > >> > >> > >>-- > > >>2.39.1 > >> > >> > >>