hardware level IDE CD-ROM emulation - added second IDE interface for up to 4 IDE...
[qemu/qemu_0_9_1_stable.git] / target-sparc / cpu.h
blob350d7b719c670f3ff8d16ff85d5944a1fd1dd0fa
1 #ifndef CPU_SPARC_H
2 #define CPU_SPARC_H
4 #include <setjmp.h>
5 #include "config.h"
6 #include "cpu-defs.h"
8 /*#define EXCP_INTERRUPT 0x100*/
11 #define PSR_NEG (1<<23)
12 #define PSR_ZERO (1<<22)
13 #define PSR_OVF (1<<21)
14 #define PSR_CARRY (1<<20)
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;
35 CPUSPARCState *cpu_sparc_init(void);
36 int cpu_sparc_exec(CPUSPARCState *s);
37 int cpu_sparc_close(CPUSPARCState *s);
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);
43 #define TARGET_PAGE_BITS 13
44 #include "cpu-all.h"
46 #endif