Revision 9de5e440 cpu-i386.h
b/cpu-i386.h | ||
---|---|---|
68 | 68 |
#define EXCP11_ALGN 18 |
69 | 69 |
#define EXCP12_MCHK 19 |
70 | 70 |
|
71 |
#define EXCP_SIGNAL 256 /* async signal */
|
|
71 |
#define EXCP_INTERRUPT 256 /* async interruption */
|
|
72 | 72 |
|
73 | 73 |
enum { |
74 | 74 |
CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */ |
... | ... | |
170 | 170 |
/* various CPU modes */ |
171 | 171 |
int vm86; |
172 | 172 |
|
173 |
/* exception handling */ |
|
173 |
/* exception/interrupt handling */
|
|
174 | 174 |
jmp_buf jmp_env; |
175 | 175 |
int exception_index; |
176 |
int interrupt_request; |
|
176 | 177 |
} CPUX86State; |
177 | 178 |
|
178 | 179 |
/* all CPU memory access use these macros */ |
... | ... | |
383 | 384 |
|
384 | 385 |
CPUX86State *cpu_x86_init(void); |
385 | 386 |
int cpu_x86_exec(CPUX86State *s); |
387 |
void cpu_x86_interrupt(CPUX86State *s); |
|
386 | 388 |
void cpu_x86_close(CPUX86State *s); |
387 | 389 |
|
388 | 390 |
/* needed to load some predefinied segment registers */ |
389 | 391 |
void cpu_x86_load_seg(CPUX86State *s, int seg_reg, int selector); |
390 | 392 |
|
393 |
/* you can call these signal handler from you SIGBUS and SIGSEGV |
|
394 |
signal handlers to inform the virtual CPU of exceptions. non zero |
|
395 |
is returned if the signal was handled by the virtual CPU. */ |
|
396 |
struct siginfo; |
|
397 |
int cpu_x86_signal_handler(int host_signum, struct siginfo *info, |
|
398 |
void *puc); |
|
399 |
|
|
391 | 400 |
/* internal functions */ |
392 | 401 |
|
393 | 402 |
#define GEN_FLAG_CODE32_SHIFT 0 |
Also available in: Unified diff