mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
ppc/pnv: Add POWER9/10 chiptod model
The ChipTOD (for Time-Of-Day) is a chip pervasive facility in IBM POWER (powernv) processors that keeps a time of day clock. In particular for this model are facilities that initialise and start the time of day clock, and that synchronise that clock to cores on the chip, and to other chips. In this way, all cores on all chips can synchronise timebase (TB). This model implements functionality sufficient to run the skiboot chiptod synchronisation procedure (with the following core timebase state machine implementation). It does not modify the TB in the cores where the real hardware would, because the QEMU ppc timebase implementation is always synchronised acros all cores. Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
This commit is contained in:
parent
f6940474fa
commit
9a69950feb
5 changed files with 517 additions and 0 deletions
|
@ -64,6 +64,9 @@ struct PnvXScomInterfaceClass {
|
|||
#define PNV_XSCOM_PSIHB_BASE 0x2010900
|
||||
#define PNV_XSCOM_PSIHB_SIZE 0x20
|
||||
|
||||
#define PNV_XSCOM_CHIPTOD_BASE 0x0040000
|
||||
#define PNV_XSCOM_CHIPTOD_SIZE 0x31
|
||||
|
||||
#define PNV_XSCOM_OCC_BASE 0x0066000
|
||||
#define PNV_XSCOM_OCC_SIZE 0x6000
|
||||
|
||||
|
@ -93,6 +96,9 @@ struct PnvXScomInterfaceClass {
|
|||
#define PNV9_XSCOM_I2CM_BASE 0xa0000
|
||||
#define PNV9_XSCOM_I2CM_SIZE 0x1000
|
||||
|
||||
#define PNV9_XSCOM_CHIPTOD_BASE PNV_XSCOM_CHIPTOD_BASE
|
||||
#define PNV9_XSCOM_CHIPTOD_SIZE PNV_XSCOM_CHIPTOD_SIZE
|
||||
|
||||
#define PNV9_XSCOM_OCC_BASE PNV_XSCOM_OCC_BASE
|
||||
#define PNV9_XSCOM_OCC_SIZE 0x8000
|
||||
|
||||
|
@ -155,6 +161,9 @@ struct PnvXScomInterfaceClass {
|
|||
#define PNV10_XSCOM_I2CM_BASE PNV9_XSCOM_I2CM_BASE
|
||||
#define PNV10_XSCOM_I2CM_SIZE PNV9_XSCOM_I2CM_SIZE
|
||||
|
||||
#define PNV10_XSCOM_CHIPTOD_BASE PNV9_XSCOM_CHIPTOD_BASE
|
||||
#define PNV10_XSCOM_CHIPTOD_SIZE PNV9_XSCOM_CHIPTOD_SIZE
|
||||
|
||||
#define PNV10_XSCOM_OCC_BASE PNV9_XSCOM_OCC_BASE
|
||||
#define PNV10_XSCOM_OCC_SIZE PNV9_XSCOM_OCC_SIZE
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue