mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
Add callbacks to allow dynamic change of PowerPC clocks (to be improved)
Fix embedded PowerPC watchdog and timers Fix PowerPC 405 SPR Add generic PowerPC 405 core instanciation code + resets support. Implement simple peripherals shared by most PowerPC 405 implementations PowerPC 405 EC & EP microcontrollers preliminary support git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2690 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
3142255c62
commit
8ecc791352
8 changed files with 2912 additions and 47 deletions
|
@ -344,6 +344,15 @@ static void spr_write_40x_pit (void *opaque, int sprn)
|
|||
gen_op_store_40x_pit();
|
||||
}
|
||||
|
||||
static void spr_write_40x_dbcr0 (void *opaque, int sprn)
|
||||
{
|
||||
DisasContext *ctx = opaque;
|
||||
|
||||
gen_op_store_40x_dbcr0();
|
||||
/* We must stop translation as we may have rebooted */
|
||||
RET_STOP(ctx);
|
||||
}
|
||||
|
||||
static void spr_write_booke_tcr (void *opaque, int sprn)
|
||||
{
|
||||
gen_op_store_booke_tcr();
|
||||
|
@ -1175,7 +1184,7 @@ static void gen_spr_BookE (CPUPPCState *env)
|
|||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_BOOKE_DBSR, "DBSR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, &spr_write_clear,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_BOOKE_DEAR, "DEAR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
|
@ -1651,13 +1660,13 @@ static void gen_spr_40x (CPUPPCState *env)
|
|||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_40x_DBCR0, "DBCR0",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, &spr_write_40x_dbcr0,
|
||||
0x00000000);
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_40x_DBSR, "DBSR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
/* Last reset was system reset (system boot */
|
||||
&spr_read_generic, &spr_write_clear,
|
||||
/* Last reset was system reset */
|
||||
0x00000300);
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_40x_IAC1, "IAC1",
|
||||
|
@ -1751,17 +1760,6 @@ static void gen_spr_405 (CPUPPCState *env)
|
|||
&spr_read_ureg, SPR_NOACCESS,
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
0x00000000);
|
||||
/* Debug */
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_40x_DAC2, "DAC2",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_40x_IAC2, "IAC2",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
}
|
||||
|
||||
/* SPR shared between PowerPC 401 & 403 implementations */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue