mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
ppc/pnv: add a 'xscom_core_base' field to PnvChipClass
The XSCOM addresses for the core registers are encoded in a slightly different way on POWER8 and POWER9. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
7bacfd7f72
commit
ad521238b4
3 changed files with 10 additions and 4 deletions
|
@ -69,6 +69,7 @@ typedef struct PnvChipClass {
|
|||
uint64_t cores_mask;
|
||||
|
||||
hwaddr xscom_base;
|
||||
hwaddr xscom_core_base;
|
||||
|
||||
uint32_t (*core_pir)(PnvChip *chip, uint32_t core_id);
|
||||
} PnvChipClass;
|
||||
|
|
|
@ -40,7 +40,7 @@ typedef struct PnvXScomInterfaceClass {
|
|||
} PnvXScomInterfaceClass;
|
||||
|
||||
/*
|
||||
* Layout of the XSCOM PCB addresses of EX core 1
|
||||
* Layout of the XSCOM PCB addresses of EX core 1 (POWER 8)
|
||||
*
|
||||
* GPIO 0x1100xxxx
|
||||
* SCOM 0x1101xxxx
|
||||
|
@ -54,8 +54,7 @@ typedef struct PnvXScomInterfaceClass {
|
|||
* PCB SLAVE 0x110Fxxxx
|
||||
*/
|
||||
|
||||
#define PNV_XSCOM_EX_BASE 0x10000000
|
||||
#define PNV_XSCOM_EX_CORE_BASE(i) (PNV_XSCOM_EX_BASE | (((uint64_t)i) << 24))
|
||||
#define PNV_XSCOM_EX_CORE_BASE(base, i) (base | (((uint64_t)i) << 24))
|
||||
#define PNV_XSCOM_EX_CORE_SIZE 0x100000
|
||||
|
||||
#define PNV_XSCOM_LPC_BASE 0xb0020
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue