Revision 447db213 linux-user/vm86.c
b/linux-user/vm86.c | ||
---|---|---|
178 | 178 |
|
179 | 179 |
/* handle VM86 interrupt (NOTE: the CPU core currently does not |
180 | 180 |
support TSS interrupt revectoring, so this code is always executed) */ |
181 |
void do_int(CPUX86State *env, int intno) |
|
181 |
static void do_int(CPUX86State *env, int intno)
|
|
182 | 182 |
{ |
183 | 183 |
TaskState *ts = env->opaque; |
184 | 184 |
uint32_t *int_ptr, segoffs; |
... | ... | |
225 | 225 |
return_to_32bit(env, TARGET_VM86_INTx | (intno << 8)); |
226 | 226 |
} |
227 | 227 |
|
228 |
void handle_vm86_trap(CPUX86State *env, int trapno) |
|
229 |
{ |
|
230 |
if (trapno == 1 || trapno == 3) { |
|
231 |
return_to_32bit(env, TARGET_VM86_TRAP + (trapno << 8)); |
|
232 |
} else { |
|
233 |
do_int(env, trapno); |
|
234 |
} |
|
235 |
} |
|
236 |
|
|
228 | 237 |
#define CHECK_IF_IN_TRAP(disp) \ |
229 | 238 |
if ((tswap32(ts->target_v86->vm86plus.flags) & TARGET_vm86dbg_active) && \ |
230 | 239 |
(tswap32(ts->target_v86->vm86plus.flags) & TARGET_vm86dbg_TFpendig)) \ |
Also available in: Unified diff