mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
ppc4xx: Add more PLB registers
These registers are present in 440 SoCs (and maybe in others too) and U-Boot accesses them when printing register info. We don't emulate these but add them to avoid crashing when they are read or written. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
81bb29ace5
commit
4c46f372b0
1 changed files with 9 additions and 3 deletions
|
@ -105,9 +105,12 @@ ram_addr_t ppc405_set_bootinfo (CPUPPCState *env, ppc4xx_bd_info_t *bd,
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Peripheral local bus arbitrer */
|
/* Peripheral local bus arbitrer */
|
||||||
enum {
|
enum {
|
||||||
PLB0_BESR = 0x084,
|
PLB3A0_ACR = 0x077,
|
||||||
PLB0_BEAR = 0x086,
|
PLB4A0_ACR = 0x081,
|
||||||
PLB0_ACR = 0x087,
|
PLB0_BESR = 0x084,
|
||||||
|
PLB0_BEAR = 0x086,
|
||||||
|
PLB0_ACR = 0x087,
|
||||||
|
PLB4A1_ACR = 0x089,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct ppc4xx_plb_t ppc4xx_plb_t;
|
typedef struct ppc4xx_plb_t ppc4xx_plb_t;
|
||||||
|
@ -179,9 +182,12 @@ void ppc4xx_plb_init(CPUPPCState *env)
|
||||||
ppc4xx_plb_t *plb;
|
ppc4xx_plb_t *plb;
|
||||||
|
|
||||||
plb = g_malloc0(sizeof(ppc4xx_plb_t));
|
plb = g_malloc0(sizeof(ppc4xx_plb_t));
|
||||||
|
ppc_dcr_register(env, PLB3A0_ACR, plb, &dcr_read_plb, &dcr_write_plb);
|
||||||
|
ppc_dcr_register(env, PLB4A0_ACR, plb, &dcr_read_plb, &dcr_write_plb);
|
||||||
ppc_dcr_register(env, PLB0_ACR, plb, &dcr_read_plb, &dcr_write_plb);
|
ppc_dcr_register(env, PLB0_ACR, plb, &dcr_read_plb, &dcr_write_plb);
|
||||||
ppc_dcr_register(env, PLB0_BEAR, plb, &dcr_read_plb, &dcr_write_plb);
|
ppc_dcr_register(env, PLB0_BEAR, plb, &dcr_read_plb, &dcr_write_plb);
|
||||||
ppc_dcr_register(env, PLB0_BESR, plb, &dcr_read_plb, &dcr_write_plb);
|
ppc_dcr_register(env, PLB0_BESR, plb, &dcr_read_plb, &dcr_write_plb);
|
||||||
|
ppc_dcr_register(env, PLB4A1_ACR, plb, &dcr_read_plb, &dcr_write_plb);
|
||||||
qemu_register_reset(ppc4xx_plb_reset, plb);
|
qemu_register_reset(ppc4xx_plb_reset, plb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue