ppc/pnv: add a PnvChip object
commite997040e3f02f6d1c6ab76e569f3593f5e3670fe
authorCédric Le Goater <clg@kaod.org>
Sat, 22 Oct 2016 09:46:36 +0000 (22 11:46 +0200)
committerDavid Gibson <david@gibson.dropbear.id.au>
Thu, 27 Oct 2016 22:38:25 +0000 (28 09:38 +1100)
tree474e3b5085c2635e50b24bb9a8b748d7ea29b4ff
parent9e933f4a620ca485356205f5cac8a6c3db0b861d
ppc/pnv: add a PnvChip object

This is is an abstraction of a POWER8 chip which is a set of cores
plus other 'units', like the pervasive unit, the interrupt controller,
the memory controller, the on-chip microcontroller, etc. The whole can
be seen as a socket. It depends on a cpu model and its characteristics:
max cores and specific inits are defined in a PnvChipClass.

We start with an near empty PnvChip with only a few cpu constants
which we will grow in the subsequent patches with the controllers
required to run the system.

The Chip CFAM (Common FRU Access Module) ID gives the model of the
chip and its version number. It is generally the first thing firmwares
fetch, available at XSCOM PCB address 0xf000f, to start initialization.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/pnv.c
include/hw/ppc/pnv.h