Revision e6afc2f4 target-sh4/op_helper.c
b/target-sh4/op_helper.c | ||
---|---|---|
20 | 20 |
#include <assert.h> |
21 | 21 |
#include "exec.h" |
22 | 22 |
|
23 |
void do_raise_exception(void) |
|
24 |
{ |
|
25 |
cpu_loop_exit(); |
|
26 |
} |
|
27 |
|
|
28 | 23 |
#ifndef CONFIG_USER_ONLY |
29 | 24 |
|
30 | 25 |
#define MMUSUFFIX _mmu |
... | ... | |
64 | 59 |
cpu_restore_state(tb, env, pc, NULL); |
65 | 60 |
} |
66 | 61 |
} |
67 |
do_raise_exception();
|
|
62 |
cpu_loop_exit();
|
|
68 | 63 |
} |
69 | 64 |
env = saved_env; |
70 | 65 |
} |
... | ... | |
81 | 76 |
#endif |
82 | 77 |
} |
83 | 78 |
|
79 |
void helper_raise_illegal_instruction(void) |
|
80 |
{ |
|
81 |
env->exception_index = 0x180; |
|
82 |
cpu_loop_exit(); |
|
83 |
} |
|
84 |
|
|
85 |
void helper_raise_slot_illegal_instruction(void) |
|
86 |
{ |
|
87 |
env->exception_index = 0x1a0; |
|
88 |
cpu_loop_exit(); |
|
89 |
} |
|
90 |
|
|
91 |
void helper_debug(void) |
|
92 |
{ |
|
93 |
env->exception_index = EXCP_DEBUG; |
|
94 |
cpu_loop_exit(); |
|
95 |
} |
|
96 |
|
|
97 |
void helper_sleep(void) |
|
98 |
{ |
|
99 |
env->halted = 1; |
|
100 |
env->exception_index = EXCP_HLT; |
|
101 |
cpu_loop_exit(); |
|
102 |
} |
|
103 |
|
|
104 |
void helper_trapa(uint32_t tra) |
|
105 |
{ |
|
106 |
env->tra = tra << 2; |
|
107 |
env->exception_index = 0x160; |
|
108 |
cpu_loop_exit(); |
|
109 |
} |
|
110 |
|
|
84 | 111 |
void helper_addc_T0_T1(void) |
85 | 112 |
{ |
86 | 113 |
uint32_t tmp0, tmp1; |
Also available in: Unified diff