Statistics
| Branch: | Revision:

root / target-sparc / cpu.h @ 7a3f1944

History | View | Annotate | Download (1.2 kB)

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