Commit 417bf01068031468f9e95bdad928f368b1bc385d

Authored by j_mayer
1 parent a9d9eb8f

Work-around C89 and/or "old" gcc unspecified behavior (#if in macro calls).


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3350 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc/translate.c
... ... @@ -3297,16 +3297,17 @@ GEN_HANDLER(hrfid, 0x13, 0x12, 0x08, 0x03FF8001, PPC_64B)
3297 3297 #endif
3298 3298  
3299 3299 /* sc */
  3300 +#if defined(CONFIG_USER_ONLY)
  3301 +#define POWERPC_SYSCALL POWERPC_EXCP_SYSCALL_USER
  3302 +#else
  3303 +#define POWERPC_SYSCALL POWERPC_EXCP_SYSCALL
  3304 +#endif
3300 3305 GEN_HANDLER(sc, 0x11, 0xFF, 0xFF, 0x03FFF01D, PPC_FLOW)
3301 3306 {
3302 3307 uint32_t lev;
3303 3308  
3304 3309 lev = (ctx->opcode >> 5) & 0x7F;
3305   -#if defined(CONFIG_USER_ONLY)
3306   - GEN_EXCP(ctx, POWERPC_EXCP_SYSCALL_USER, lev);
3307   -#else
3308   - GEN_EXCP(ctx, POWERPC_EXCP_SYSCALL, lev);
3309   -#endif
  3310 + GEN_EXCP(ctx, POWERPC_SYSCALL, lev);
3310 3311 }
3311 3312  
3312 3313 /*** Trap ***/
... ... @@ -6830,11 +6831,7 @@ static always_inline int gen_intermediate_code_internal (CPUState *env,
6830 6831 } else if (unlikely(single_step != 0 &&
6831 6832 (ctx.nip <= 0x100 || ctx.nip > 0xF00 ||
6832 6833 (ctx.nip & 0xFC) != 0x04) &&
6833   -#if defined(CONFIG_USER_ONLY)
6834   - ctx.exception != POWERPC_EXCP_SYSCALL_USER &&
6835   -#else
6836   - ctx.exception != POWERPC_EXCP_SYSCALL &&
6837   -#endif
  6834 + ctx.exception != POWERPC_SYSCALL &&
6838 6835 ctx.exception != POWERPC_EXCP_TRAP)) {
6839 6836 GEN_EXCP(ctxp, POWERPC_EXCP_TRACE, 0);
6840 6837 } else if (unlikely(((ctx.nip & (TARGET_PAGE_SIZE - 1)) == 0) ||
... ...
target-ppc/translate_init.c
... ... @@ -4024,6 +4024,12 @@ static void init_proc_7455 (CPUPPCState *env)
4024 4024 #define POWERPC_BFDM_970 (bfd_mach_ppc64)
4025 4025 #define POWERPC_FLAG_970 (POWERPC_FLAG_VRE)
4026 4026  
  4027 +#if defined(CONFIG_USER_ONLY)
  4028 +#define POWERPC970_HID5_INIT 0x00000080
  4029 +#else
  4030 +#define POWERPC970_HID5_INIT 0x00000000
  4031 +#endif
  4032 +
4027 4033 static void init_proc_970 (CPUPPCState *env)
4028 4034 {
4029 4035 gen_spr_ne_601(env);
... ... @@ -4050,12 +4056,7 @@ static void init_proc_970 (CPUPPCState *env)
4050 4056 spr_register(env, SPR_970_HID5, "HID5",
4051 4057 SPR_NOACCESS, SPR_NOACCESS,
4052 4058 &spr_read_generic, &spr_write_generic,
4053   -#if defined(CONFIG_USER_ONLY)
4054   - 0x00000080
4055   -#else
4056   - 0x00000000
4057   -#endif
4058   - );
  4059 + POWERPC970_HID5_INIT);
4059 4060 /* Memory management */
4060 4061 /* XXX: not correct */
4061 4062 gen_low_BATs(env);
... ... @@ -4123,12 +4124,7 @@ static void init_proc_970FX (CPUPPCState *env)
4123 4124 spr_register(env, SPR_970_HID5, "HID5",
4124 4125 SPR_NOACCESS, SPR_NOACCESS,
4125 4126 &spr_read_generic, &spr_write_generic,
4126   -#if defined(CONFIG_USER_ONLY)
4127   - 0x00000080
4128   -#else
4129   - 0x00000000
4130   -#endif
4131   - );
  4127 + POWERPC970_HID5_INIT);
4132 4128 /* Memory management */
4133 4129 /* XXX: not correct */
4134 4130 gen_low_BATs(env);
... ... @@ -4196,12 +4192,7 @@ static void init_proc_970GX (CPUPPCState *env)
4196 4192 spr_register(env, SPR_970_HID5, "HID5",
4197 4193 SPR_NOACCESS, SPR_NOACCESS,
4198 4194 &spr_read_generic, &spr_write_generic,
4199   -#if defined(CONFIG_USER_ONLY)
4200   - 0x00000080
4201   -#else
4202   - 0x00000000
4203   -#endif
4204   - );
  4195 + POWERPC970_HID5_INIT);
4205 4196 /* Memory management */
4206 4197 /* XXX: not correct */
4207 4198 gen_low_BATs(env);
... ...