diff options
Diffstat (limited to 'target-ppc')
-rw-r--r-- | target-ppc/cpu.h | 10 | ||||
-rw-r--r-- | target-ppc/translate_init.c | 5 |
2 files changed, 13 insertions, 2 deletions
diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h index 80ee76c73a..bdc3cf974a 100644 --- a/target-ppc/cpu.h +++ b/target-ppc/cpu.h @@ -1356,6 +1356,16 @@ enum { }; enum { + /* PowerPC E500 input pins */ + PPCE500_INPUT_RESET_CORE = 0, + PPCE500_INPUT_MCK = 1, + PPCE500_INPUT_CINT = 3, + PPCE500_INPUT_INT = 4, + PPCE500_INPUT_DEBUG = 6, + PPCE500_INPUT_NB, +}; + +enum { /* PowerPC 40x input pins */ PPC40x_INPUT_RESET_CORE = 0, PPC40x_INPUT_RESET_CHIP = 1, diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index 77443f153a..9127081259 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -63,6 +63,7 @@ void glue(glue(ppc, name),_irq_init) (CPUPPCState *env); PPC_IRQ_INIT_FN(40x); PPC_IRQ_INIT_FN(6xx); PPC_IRQ_INIT_FN(970); +PPC_IRQ_INIT_FN(e500); /* Generic callbacks: * do nothing but store/retrieve spr value @@ -4198,7 +4199,6 @@ static void init_proc_e300 (CPUPPCState *env) #define check_pow_e500v2 check_pow_hid0 #define init_proc_e500v2 init_proc_e500 -__attribute__ (( unused )) static void init_proc_e500 (CPUPPCState *env) { /* Time base */ @@ -4300,7 +4300,8 @@ static void init_proc_e500 (CPUPPCState *env) init_excp_e200(env); env->dcache_line_size = 32; env->icache_line_size = 32; - /* XXX: TODO: allocate internal IRQ controller */ + /* Allocate hardware IRQ controller */ + ppce500_irq_init(env); } /* Non-embedded PowerPC */ |