qemu/hw/ppc
Juan Quintela 485fb95546 migration: Hack to maintain backwards compatibility for ppc
Current code does:
- register pre_2_10_vmstate_dummy_icp with "icp/server" and instance
  dependinfg on cpu number
- for newer machines, it register vmstate_icp with "icp/server" name
  and instance 0
- now it unregisters "icp/server" for the 1st instance.

This is wrong at many levels:
- we shouldn't have two VMSTATEDescriptions with the same name
- In case this is the only solution that we can came with, it needs to
  be:
  * register pre_2_10_vmstate_dummy_icp
  * unregister pre_2_10_vmstate_dummy_icp
  * register real vmstate_icp

Created vmstate_replace_hack_for_ppc() with warnings left and right
that it is a hack.

CC: Cedric Le Goater <clg@kaod.org>
CC: Daniel Henrique Barboza <danielhb413@gmail.com>
CC: David Gibson <david@gibson.dropbear.id.au>
CC: Greg Kurz <groug@kaod.org>

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231020090731.28701-8-quintela@redhat.com>
2023-11-01 16:13:58 +01:00
..
e500-ccsr.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
e500.c accel/tcg: Replace CPUState.env_ptr with cpu_env() 2023-10-04 11:03:54 -07:00
e500.h hw/ppc/e500: Add Freescale eSDHC to e500plat 2022-12-21 14:17:55 -03:00
e500plat.c hw/ppc: Use MachineClass->default_nic in the ppc machines 2023-05-22 09:44:22 +02:00
fdt.c target/ppc: Split page size information into a separate allocation 2018-04-27 18:05:22 +10:00
fw_cfg.c hw/ppc: Implement fw_cfg_arch_key_name() 2019-05-23 14:10:31 +02:00
Kconfig hw/ppc/Kconfig: MAC_NEWWORLD should always select USB_OHCI_PCI 2023-06-10 10:19:24 -03:00
mac_newworld.c hw/ppc: Use MachineClass->default_nic in the ppc machines 2023-05-22 09:44:22 +02:00
mac_oldworld.c hw/ppc: Reset timebase facilities on machine reset 2023-09-06 11:19:33 +02:00
meson.build spapr: Remove support for NVIDIA V100 GPU with NVLink2 2023-09-18 07:25:28 -03:00
mpc8544_guts.c ppc/ppc4xx: Convert printfs() 2022-01-04 07:55:34 +01:00
mpc8544ds.c hw/ppc: Use MachineClass->default_nic in the ppc machines 2023-05-22 09:44:22 +02:00
pef.c migration: simplify blockers 2023-10-20 08:51:41 +02:00
pegasos2.c vt82c686 machines: Support machine-default audiodev with fallback 2023-10-03 10:29:40 +02:00
pnv_bmc.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
pnv_core.c hw/ppc: Reset timebase facilities on machine reset 2023-09-06 11:19:33 +02:00
pnv_homer.c include/hw/ppc: Split pnv_chip.h off pnv.h 2023-01-20 07:25:10 +01:00
pnv_lpc.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
pnv_occ.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
pnv_pnor.c block: Change blk_{pread,pwrite}() param order 2022-07-12 12:14:56 +02:00
pnv_psi.c pnv/psi: Clean up local variable shadowing 2023-09-29 10:07:17 +02:00
pnv_sbe.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
pnv_xscom.c hw/ppc/pnv_xscom: Do not use SysBus API to map local MMIO region 2023-10-19 23:13:28 +02:00
pnv.c hw/ppc/pnv: Do not use SysBus API to map local MMIO region 2023-10-19 23:13:28 +02:00
ppc4xx_devs.c ppc4xx_sdram: Move ppc4xx_sdram_banks() to ppc4xx_sdram.c 2022-10-28 13:15:23 -03:00
ppc4xx_pci.c ppc4xx_pci: Add define for ppc4xx-host-bridge type name 2023-07-07 04:47:49 -03:00
ppc4xx_sdram.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
ppc405_boards.c ppc4xx_sdram: Rename functions to prevent name clashes 2022-10-17 16:15:09 -03:00
ppc405_uc.c Drop duplicate #include 2023-02-08 07:28:05 +01:00
ppc405.h ppc4xx_sdram: QOM'ify 2022-10-17 16:15:09 -03:00
ppc440_bamboo.c ppc/{bamboo, virtex_ml507}: Remove useless dependency on ppc405.h header 2023-10-21 15:00:22 +03:00
ppc440_pcix.c ppc440_pcix: Rename QOM type define abd move it to common header 2023-07-07 04:47:49 -03:00
ppc440_uc.c hw/ppc/ppc440_uc: Remove dead l2sram_update_mappings() 2023-10-21 15:00:22 +03:00
ppc440.h ppc440: Remove ppc460ex_pcie_init legacy init function 2023-07-07 04:47:49 -03:00
ppc_booke.c Use g_new() & friends where that makes obvious sense 2022-03-21 15:44:44 +01:00
ppc.c ppc: spelling fixes 2023-09-20 07:54:34 +03:00
ppce500_spin.c target/ppc: Restrict KVM-specific fields from ArchCPU 2023-06-28 14:27:59 +02:00
prep_systemio.c ppc: spelling fixes 2023-09-20 07:54:34 +03:00
prep.c hw/ppc: Support machine-default audiodev with fallback 2023-10-03 10:29:40 +02:00
rs6000_mc.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sam460ex.c ppc440_pcix: Rename QOM type define abd move it to common header 2023-07-07 04:47:49 -03:00
spapr_caps.c spapr: TCG allow up to 8-thread SMT on POWER8 and newer CPUs 2023-06-25 22:41:30 +02:00
spapr_cpu_core.c hw/ppc: Reset timebase facilities on machine reset 2023-09-06 11:19:33 +02:00
spapr_drc.c spapr/drc: Clean up local variable shadowing in prop_get_fdt() 2023-09-29 10:07:18 +02:00
spapr_events.c migration: simplify blockers 2023-10-20 08:51:41 +02:00
spapr_hcall.c ppc: spelling fixes 2023-09-20 07:54:34 +03:00
spapr_iommu.c hw/ppc: use g_free() in spapr_tce_table_post_load() 2023-09-08 13:08:52 +03:00
spapr_irq.c spapr/xics: Drop unused argument to xics_kvm_has_broken_disconnect() 2020-12-14 15:50:55 +11:00
spapr_nested.c ppc/spapr: Move spapr nested HV to a new file 2023-06-25 22:41:30 +02:00
spapr_numa.c spapr: Remove support for NVIDIA V100 GPU with NVLink2 2023-09-18 07:25:28 -03:00
spapr_nvdimm.c migration: Use vmstate_register_any() 2023-11-01 16:13:58 +01:00
spapr_ovec.c spapr: Improve handling of memory unplug with old guests 2021-01-19 10:20:29 +11:00
spapr_pci_vfio.c ppc: spelling fixes 2023-09-20 07:54:34 +03:00
spapr_pci.c spapr/pci: Clean up local variable shadowing in spapr_phb_realize() 2023-09-29 10:07:18 +02:00
spapr_rng.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
spapr_rtas_ddw.c spapr/ddw: Implement 64bit query extension 2022-07-06 10:22:37 -03:00
spapr_rtas.c migration: simplify blockers 2023-10-20 08:51:41 +02:00
spapr_rtc.c rtc: Have event RTC_CHANGE identify the RTC by QOM path 2022-02-28 11:39:35 +01:00
spapr_softmmu.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
spapr_tpm_proxy.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
spapr_vio.c hw/ppc/spapr_vio: Realize SPAPR_VIO_BRIDGE device before accessing it 2023-10-19 23:13:28 +02:00
spapr_vof.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
spapr.c migration: Hack to maintain backwards compatibility for ppc 2023-11-01 16:13:58 +01:00
trace-events ppc4xx_sdram: Generalise bank setup 2022-10-28 13:15:23 -03:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
virtex_ml507.c ppc/{bamboo, virtex_ml507}: Remove useless dependency on ppc405.h header 2023-10-21 15:00:22 +03:00
vof.c ppc/vof: Fix missed fields in VOF cleanup 2023-09-06 11:19:33 +02:00