Commit 7a3a6927b656b1b6b6c59961cfb098f315ffee0e
1 parent
417bf010
Add missing exception vectors for PowerPC 7x5.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3351 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
27 additions
and
1 deletions
target-ppc/translate_init.c
... | ... | @@ -2495,6 +2495,32 @@ static void init_excp_750FX (CPUPPCState *env) |
2495 | 2495 | #endif |
2496 | 2496 | } |
2497 | 2497 | |
2498 | +/* XXX: Check if this is correct */ | |
2499 | +static void init_excp_7x5 (CPUPPCState *env) | |
2500 | +{ | |
2501 | +#if !defined(CONFIG_USER_ONLY) | |
2502 | + env->excp_vectors[POWERPC_EXCP_RESET] = 0x00000100; | |
2503 | + env->excp_vectors[POWERPC_EXCP_MCHECK] = 0x00000200; | |
2504 | + env->excp_vectors[POWERPC_EXCP_DSI] = 0x00000300; | |
2505 | + env->excp_vectors[POWERPC_EXCP_ISI] = 0x00000400; | |
2506 | + env->excp_vectors[POWERPC_EXCP_EXTERNAL] = 0x00000500; | |
2507 | + env->excp_vectors[POWERPC_EXCP_ALIGN] = 0x00000600; | |
2508 | + env->excp_vectors[POWERPC_EXCP_PROGRAM] = 0x00000700; | |
2509 | + env->excp_vectors[POWERPC_EXCP_FPU] = 0x00000800; | |
2510 | + env->excp_vectors[POWERPC_EXCP_DECR] = 0x00000900; | |
2511 | + env->excp_vectors[POWERPC_EXCP_SYSCALL] = 0x00000C00; | |
2512 | + env->excp_vectors[POWERPC_EXCP_TRACE] = 0x00000D00; | |
2513 | + env->excp_vectors[POWERPC_EXCP_IFTLB] = 0x00001000; | |
2514 | + env->excp_vectors[POWERPC_EXCP_DLTLB] = 0x00001100; | |
2515 | + env->excp_vectors[POWERPC_EXCP_DSTLB] = 0x00001200; | |
2516 | + env->excp_vectors[POWERPC_EXCP_PERFM] = 0x00000F00; | |
2517 | + env->excp_vectors[POWERPC_EXCP_IABR] = 0x00001300; | |
2518 | + env->excp_vectors[POWERPC_EXCP_SMI] = 0x00001400; | |
2519 | + /* Hardware reset vector */ | |
2520 | + env->hreset_vector = 0xFFFFFFFCUL; | |
2521 | +#endif | |
2522 | +} | |
2523 | + | |
2498 | 2524 | static void init_excp_7400 (CPUPPCState *env) |
2499 | 2525 | { |
2500 | 2526 | #if !defined(CONFIG_USER_ONLY) |
... | ... | @@ -3577,7 +3603,7 @@ static void init_proc_7x5 (CPUPPCState *env) |
3577 | 3603 | gen_low_BATs(env); |
3578 | 3604 | gen_high_BATs(env); |
3579 | 3605 | gen_6xx_7xx_soft_tlb(env, 64, 2); |
3580 | - /* XXX: exception vectors ? */ | |
3606 | + init_excp_7x5(env); | |
3581 | 3607 | env->dcache_line_size = 32; |
3582 | 3608 | env->icache_line_size = 32; |
3583 | 3609 | /* Allocate hardware IRQ controller */ | ... | ... |