Statistics
| Branch: | Revision:

root / target-sparc / exec.h @ ed23fbd9

History | View | Annotate | Download (1.2 kB)

1
#ifndef EXEC_SPARC_H
2
#define EXEC_SPARC_H 1
3
#include "config.h"
4
#include "dyngen-exec.h"
5

    
6
register struct CPUSPARCState *env asm(AREG0);
7

    
8
#define FT0 (env->ft0)
9
#define FT1 (env->ft1)
10
#define DT0 (env->dt0)
11
#define DT1 (env->dt1)
12
#define QT0 (env->qt0)
13
#define QT1 (env->qt1)
14

    
15
#include "cpu.h"
16
#include "exec-all.h"
17

    
18
static inline void env_to_regs(void)
19
{
20
}
21

    
22
static inline void regs_to_env(void)
23
{
24
}
25

    
26
/* helper.c */
27
void cpu_lock(void);
28
void cpu_unlock(void);
29
int cpu_sparc_handle_mmu_fault(CPUState *env1, target_ulong address, int rw,
30
                               int mmu_idx, int is_softmmu);
31
target_ulong mmu_probe(CPUState *env, target_ulong address, int mmulev);
32
void dump_mmu(CPUState *env);
33
void memcpy32(target_ulong *dst, const target_ulong *src);
34

    
35
/* op_helper.c */
36
void do_interrupt(CPUState *env);
37

    
38
/* cpu-exec.c */
39
void cpu_loop_exit(void);
40
int cpu_sparc_signal_handler(int host_signum, void *pinfo, void *puc);
41

    
42
/* sun4m.c */
43
void cpu_check_irqs(CPUSPARCState *env);
44

    
45
static inline int cpu_halted(CPUState *env1) {
46
    if (!env1->halted)
47
        return 0;
48
    if ((env1->interrupt_request & CPU_INTERRUPT_HARD) && (env1->psret != 0)) {
49
        env1->halted = 0;
50
        return 0;
51
    }
52
    return EXCP_HALTED;
53
}
54

    
55
#endif