]>
Commit | Line | Data |
---|---|---|
7a3f1944 FB |
1 | #ifndef CPU_SPARC_H |
2 | #define CPU_SPARC_H | |
3 | ||
4 | #include <setjmp.h> | |
5 | #include "config.h" | |
6 | #include "cpu-defs.h" | |
7 | ||
8 | /*#define EXCP_INTERRUPT 0x100*/ | |
9 | ||
10 | ||
11 | #define PSR_NEG (1<<23) | |
12 | #define PSR_ZERO (1<<22) | |
13 | #define PSR_OVF (1<<21) | |
14 | #define PSR_CARRY (1<<20) | |
15 | ||
16 | typedef struct CPUSPARCState { | |
17 | uint32_t gregs[8]; /* general registers */ | |
18 | uint32_t *regwptr; /* pointer to current register window */ | |
19 | double *regfptr; /* floating point registers */ | |
20 | uint32_t pc; /* program counter */ | |
21 | uint32_t npc; /* next program counter */ | |
22 | uint32_t sp; /* stack pointer */ | |
23 | uint32_t y; /* multiply/divide register */ | |
24 | uint32_t psr; /* processor state register */ | |
25 | uint32_t T2; | |
26 | jmp_buf jmp_env; | |
27 | int user_mode_only; | |
28 | int exception_index; | |
29 | int interrupt_index; | |
30 | int interrupt_request; | |
31 | struct TranslationBlock *current_tb; | |
32 | void *opaque; | |
33 | } CPUSPARCState; | |
34 | ||
35 | CPUSPARCState *cpu_sparc_init(void); | |
36 | int cpu_sparc_exec(CPUSPARCState *s); | |
37 | int cpu_sparc_close(CPUSPARCState *s); | |
38 | ||
39 | struct siginfo; | |
40 | int cpu_sparc_signal_handler(int hostsignum, struct siginfo *info, void *puc); | |
41 | void cpu_sparc_dump_state(CPUSPARCState *env, FILE *f, int flags); | |
42 | ||
43 | #define TARGET_PAGE_BITS 13 | |
44 | #include "cpu-all.h" | |
45 | ||
46 | #endif |