Revision 417bf010 target-ppc/translate.c
b/target-ppc/translate.c | ||
---|---|---|
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 | 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) || |
Also available in: Unified diff