qemu/include/hw/ppc
David Gibson 0c86d0fd92 pseries: Always use core objects for CPU construction
Currently the pseries machine has two paths for constructing CPUs.  On
newer machine type versions, which support cpu hotplug, it constructs
cpu core objects, which in turn construct CPU threads.  For older machine
versions it individually constructs the CPU threads.

This division is going to make some future changes to the cpu construction
harder, so this patch unifies them.  Now cpu core objects are always
created.  This requires some updates to allow core objects to be created
without a full complement of threads (since older versions allowed a
number of cpus not a multiple of the threads-per-core).  Likewise it needs
some changes to the cpu core hot/cold plug path so as not to choke on the
old machine types without hotplug support.

For good measure, we move the cpu construction to its own subfunction,
spapr_init_cpus().

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Greg Kurz <groug@kaod.org>
2017-01-31 10:10:13 +11:00
..
fdt.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
mac_dbdma.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
openpic.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
pnv.h ppc/pnv: add a 'xscom_core_base' field to PnvChipClass 2016-11-15 10:08:43 +11:00
pnv_core.h ppc/pnv: add XSCOM handlers to PnvCore 2016-10-28 09:38:25 +11:00
pnv_lpc.h ppc/pnv: add a LPC controller 2016-10-28 09:38:25 +11:00
pnv_xscom.h ppc/pnv: add a 'xscom_core_base' field to PnvChipClass 2016-11-15 10:08:43 +11:00
ppc.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
ppc4xx.h Remove unused function declarations 2016-09-15 15:32:22 +03:00
ppc_e500.h intc/openpic: Build openpic only once 2013-07-09 21:33:02 +02:00
spapr.h pseries: Always use core objects for CPU construction 2017-01-31 10:10:13 +11:00
spapr_cpu_core.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
spapr_drc.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
spapr_ovec.h spapr: migration support for CAS-negotiated option vectors 2016-11-23 12:00:48 +11:00
spapr_rtas.h tests: add RTAS command in the protocol 2016-09-23 10:29:40 +10:00
spapr_vio.h char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
xics.h pseries: Move construction of /interrupt-controller fdt node 2016-10-28 09:38:26 +11:00