Commit 7a3a6927b656b1b6b6c59961cfb098f315ffee0e

Authored by j_mayer
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 */
... ...