|
|
1.1 root 1: /*
2: * CRIS execution defines
3: *
4: * Copyright (c) 2007 AXIS Communications AB
5: * Written by Edgar E. Iglesias
6: *
7: * This library is free software; you can redistribute it and/or
8: * modify it under the terms of the GNU Lesser General Public
9: * License as published by the Free Software Foundation; either
10: * version 2 of the License, or (at your option) any later version.
11: *
12: * This library is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this library; if not, write to the Free Software
19: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: */
21: #include "dyngen-exec.h"
22:
23: #if 1
24: register struct CPUCRISState *env asm(AREG0);
25: /* This is only used for tb lookup. */
26: register uint32_t T0 asm(AREG1);
27: register uint32_t T1 asm(AREG2);
28: #else
29: struct CPUCRISState *env;
30: /* This is only used for tb lookup. */
31: uint32_t T0;
32: uint32_t T1;
33: #endif
34: #include "cpu.h"
35: #include "exec-all.h"
36:
37: #define RETURN() __asm__ __volatile__("" : : : "memory");
38:
39: static inline void env_to_regs(void)
40: {
41: }
42:
43: static inline void regs_to_env(void)
44: {
45: }
46:
47: int cpu_cris_handle_mmu_fault (CPUState *env, target_ulong address, int rw,
48: int mmu_idx, int is_softmmu);
49: void tlb_fill (target_ulong addr, int is_write, int mmu_idx, void *retaddr);
50:
51: #if !defined(CONFIG_USER_ONLY)
52: #include "softmmu_exec.h"
53: #endif
54:
55: void cpu_cris_flush_flags(CPUCRISState *env, int cc_op);
56: void helper_movec(CPUCRISState *env, int reg, uint32_t val);
57:
58: void cpu_loop_exit(void);
59:
60: static inline int cpu_halted(CPUState *env) {
61: if (!env->halted)
62: return 0;
63: if (env->interrupt_request & CPU_INTERRUPT_HARD) {
64: env->halted = 0;
65: return 0;
66: }
67: return EXCP_HALTED;
68: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.