qemu/hw/ppc
Greg Kurz e44acde2f8 ppc/pnv: Drop "num-chips" machine property
The number of CPU chips of the powernv machine is configurable through a
"num-chips" property. This doesn't fit well with the CPU topology, eg.
some configurations can come up with more CPUs than the maximum of CPUs
set in the toplogy. This causes assertion to be hit with mttcg:

   -machine powernv,num-chips=2 -smp cores=2 -accel tcg,thread=multi

ERROR:
tcg/tcg.c:789:tcg_register_thread: assertion failed: (n < ms->smp.max_cpus)
Aborted (core dumped)

Mttcg mandates the CPU topology to be dimensioned to the actual number
of CPUs, depending on the number of chips the user asked for. That is,
'-machine num-chips=N' should always have a '-smp' companion with a
topology that meats the resulting number of CPUs, typically
'-smp sockets=N'.

It thus seems that "num-chips" doesn't bring anything but forcing the user
to specify the requested number of chips on the command line twice. Simplify
the command line by computing the number of chips based on the CPU topology
exclusively. The powernv machine isn't a production thing ; it is mostly
used by developpers to prepare the bringup of real HW. Because of this and
for simplicity, this deliberately ignores the official deprecation process
and dumps "num-chips" right away : '-smp sockets=N' is now the only way to
control the number of CPU chips.

This is done at machine init because smp_parse() is called after instance
init.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <157830658266.533764.2214183961444213947.stgit@bahia.lan>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-01-08 11:01:59 +11:00
..
e500-ccsr.h
e500.c kvm: introduce kvm_kernel_irqchip_* functions 2019-12-17 19:32:45 +01:00
e500.h
e500plat.c Include hw/boards.h a bit less 2019-08-16 13:31:53 +02:00
fdt.c
fw_cfg.c hw/ppc: Implement fw_cfg_arch_key_name() 2019-05-23 14:10:31 +02:00
Kconfig spapr/xive: add KVM support 2019-05-29 11:39:45 +10:00
mac_newworld.c core: replace getpagesize() with qemu_real_host_page_size 2019-10-26 15:38:06 +02:00
mac_oldworld.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
mac.h ide: Include hw/ide/internal a bit less outside hw/ide/ 2019-08-16 13:31:52 +02:00
Makefile.objs ppc/pnv: Add a PNOR model 2019-12-17 10:39:47 +11:00
mpc8544_guts.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
mpc8544ds.c Include hw/boards.h a bit less 2019-08-16 13:31:53 +02:00
pnv_bmc.c ppc/pnv: Create BMC devices at machine init 2019-12-17 10:39:47 +11:00
pnv_core.c ppc/pnv: Introduce a POWER10 PnvChip and a powernv10 machine 2019-12-17 10:39:48 +11:00
pnv_homer.c ppc/pnv: Introduce PBA registers 2019-12-17 10:39:48 +11:00
pnv_lpc.c ppc/pnv: add a LPC Controller model for POWER10 2019-12-17 10:39:48 +11:00
pnv_occ.c ppc/pnv: Fix OCC common area region mapping 2019-12-17 10:39:48 +11:00
pnv_pnor.c ppc/pnv: Add a PNOR model 2019-12-17 10:39:47 +11:00
pnv_psi.c ppc/pnv: Drop PnvPsiClass::chip_type 2019-12-17 10:39:48 +11:00
pnv_xscom.c ppc/pnv: Introduce PnvChipClass::xscom_pcba() method 2019-12-17 10:59:11 +11:00
pnv.c ppc/pnv: Drop "num-chips" machine property 2020-01-08 11:01:59 +11:00
ppc4xx_devs.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
ppc4xx_pci.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
ppc405_boards.c hw: Move M48T59 device from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:20:45 +02:00
ppc405_uc.c Include hw/boards.h a bit less 2019-08-16 13:31:53 +02:00
ppc405.h
ppc440_bamboo.c ppc440_bamboo.c: remove label from bamboo_load_device_tree() 2020-01-08 11:01:59 +11:00
ppc440_pcix.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
ppc440_uc.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
ppc440.h ppc440_uc: Basic emulation of PPC440 DMA controller 2018-07-03 09:56:52 +10:00
ppc_booke.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
ppc.c target/ppc: Add SPR TBU40 2019-12-17 10:39:48 +11:00
ppce500_spin.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
prep_systemio.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
prep.c hw: Move M48T59 device from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:20:45 +02:00
rs6000_mc.c ppc: rs6000_mc: drop usage of memory_region_allocate_system_memory() 2019-10-23 23:37:42 -03:00
sam460ex.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
spapr_caps.c ppc: fix memory leak in spapr_caps_add_properties 2019-08-21 17:17:11 +10:00
spapr_cpu_core.c ppc: Add intc_destroy() handlers to SpaprInterruptController/PnvChip 2019-11-18 11:49:11 +01:00
spapr_drc.c vmstate: replace DeviceState with VMStateIf 2020-01-06 18:41:32 +04:00
spapr_events.c ppc/spapr_events: fix potential NULL pointer dereference in rtas_event_log_dequeue 2019-11-26 10:12:58 +11:00
spapr_hcall.c spapr: Simplify ovec diff 2019-12-17 10:39:48 +11:00
spapr_iommu.c vmstate: replace DeviceState with VMStateIf 2020-01-06 18:41:32 +04:00
spapr_irq.c kvm: introduce kvm_kernel_irqchip_* functions 2019-12-17 19:32:45 +01:00
spapr_ovec.c spapr: Simplify ovec diff 2019-12-17 10:39:48 +11:00
spapr_pci_nvlink2.c error: Clean up unusual names of Error * variables 2019-12-18 08:36:15 +01:00
spapr_pci_vfio.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
spapr_pci.c error: Clean up unusual names of Error * variables 2019-12-18 08:36:15 +01:00
spapr_rng.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
spapr_rtas_ddw.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
spapr_rtas.c spapr: Stop providing RTAS blob 2019-10-04 10:25:23 +10:00
spapr_rtc.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
spapr_tpm_proxy.c spapr-tpm-proxy: Drop misleading check 2019-10-04 10:25:23 +10:00
spapr_vio.c spapr: Replace spapr_vio_qirq() helper with spapr_vio_irq_pulse() helper 2019-10-04 19:08:22 +10:00
spapr.c spapr.c: remove 'out' label in spapr_dt_cas_updates() 2020-01-08 11:01:59 +11:00
trace-events spapr: Remove unhelpful tracepoints from spapr_irq_free_xics() 2019-10-04 19:08:22 +10:00
virtex_ml507.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00