|
|
1.1 ! root 1: /* ! 2: * SH4 emulation ! 3: * ! 4: * Copyright (c) 2005 Samuel Tardieu ! 5: * ! 6: * This library is free software; you can redistribute it and/or ! 7: * modify it under the terms of the GNU Lesser General Public ! 8: * License as published by the Free Software Foundation; either ! 9: * version 2 of the License, or (at your option) any later version. ! 10: * ! 11: * This library is distributed in the hope that it will be useful, ! 12: * but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 14: * Lesser General Public License for more details. ! 15: * ! 16: * You should have received a copy of the GNU Lesser General Public ! 17: * License along with this library; if not, write to the Free Software ! 18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! 19: */ ! 20: #ifndef _EXEC_SH4_H ! 21: #define _EXEC_SH4_H ! 22: ! 23: #include "config.h" ! 24: #include "dyngen-exec.h" ! 25: ! 26: register struct CPUSH4State *env asm(AREG0); ! 27: register uint32_t T0 asm(AREG1); ! 28: register uint32_t T1 asm(AREG2); ! 29: register uint32_t T2 asm(AREG3); ! 30: ! 31: #include "cpu.h" ! 32: #include "exec-all.h" ! 33: ! 34: #ifndef CONFIG_USER_ONLY ! 35: #include "softmmu_exec.h" ! 36: #endif ! 37: ! 38: #define RETURN() __asm__ __volatile__("") ! 39: ! 40: static inline void regs_to_env(void) ! 41: { ! 42: /* XXXXX */ ! 43: } ! 44: ! 45: static inline void env_to_regs(void) ! 46: { ! 47: /* XXXXX */ ! 48: } ! 49: ! 50: int cpu_sh4_handle_mmu_fault(CPUState * env, target_ulong address, int rw, ! 51: int is_user, int is_softmmu); ! 52: ! 53: int find_itlb_entry(CPUState * env, target_ulong address, ! 54: int use_asid, int update); ! 55: int find_utlb_entry(CPUState * env, target_ulong address, int use_asid); ! 56: ! 57: void helper_addc_T0_T1(void); ! 58: void helper_addv_T0_T1(void); ! 59: void helper_div1_T0_T1(void); ! 60: void helper_dmulsl_T0_T1(void); ! 61: void helper_dmulul_T0_T1(void); ! 62: void helper_macl_T0_T1(void); ! 63: void helper_macw_T0_T1(void); ! 64: void helper_negc_T0(void); ! 65: void helper_subc_T0_T1(void); ! 66: void helper_subv_T0_T1(void); ! 67: void helper_rotcl(uint32_t * addr); ! 68: void helper_rotcr(uint32_t * addr); ! 69: ! 70: void do_interrupt(CPUState * env); ! 71: ! 72: void cpu_loop_exit(void); ! 73: void do_raise_exception(void); ! 74: ! 75: #endif /* _EXEC_SH4_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.