--- trunk/src/include/cpu_mips.h 2007/10/08 16:18:31 11 +++ trunk/src/include/cpu_mips.h 2007/10/08 16:18:38 12 @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * - * $Id: cpu_mips.h,v 1.16 2005/06/26 22:23:43 debug Exp $ + * $Id: cpu_mips.h,v 1.20 2005/08/07 17:42:03 debug Exp $ */ #include "misc.h" @@ -57,12 +57,15 @@ char isa_level; /* 1, 2, 3, 4, 5, 32, 64 */ int nr_of_tlb_entries; /* 32, 48, 64, ... */ char instrs_per_cycle; /* simplified, 1, 2, or 4 */ - int default_picache; - int default_pdcache; - int default_pilinesize; - int default_pdlinesize; - int default_scache; - int default_slinesize; + int picache; + int pilinesize; + int piways; + int pdcache; + int pdlinesize; + int pdways; + int scache; + int slinesize; + int sways; }; #define INITIAL_PC 0xffffffffbfc00000ULL @@ -259,7 +262,7 @@ uint64_t pc_last_physical_page; unsigned char *pc_last_host_4k_page; -#ifdef BINTRANS + /* MIPS Bintrans: */ int dont_run_next_bintrans; int bintrans_instructions_executed; /* set to the number of bintranslated instructions executed @@ -282,6 +285,13 @@ struct vth32_table **vaddr_to_hostaddr_table0; /* should point to kernel or user */ struct vth32_table *next_free_vth_table; +/* Testing... */ + unsigned char **host_load; + unsigned char **host_store; + unsigned char **host_load_orig; + unsigned char **host_store_orig; + unsigned char **huge_r2k3k_cache_table; + /* For 64-bit (generic) emulation: */ unsigned char *(*fast_vaddr_to_hostaddr)(struct cpu *cpu, uint64_t vaddr, int writeflag); @@ -298,7 +308,6 @@ void (*bintrans_fast_eret)(struct cpu *); void (*bintrans_fast_tlbwri)(struct cpu *, int); void (*bintrans_fast_tlbpr)(struct cpu *, int); -#endif #ifdef ENABLE_MIPS16 int mips16; /* non-zero if MIPS16 code is allowed */ @@ -309,8 +318,6 @@ int instruction_delay; #endif - int trace_tree_depth; - uint64_t delay_jmpaddr; /* only used if delay_slot > 0 */ int delay_slot; int nullify_next; /* set to 1 if next instruction @@ -395,7 +402,7 @@ uint64_t vaddr, uint64_t paddr0, uint64_t paddr1, int valid0, int valid1, int dirty0, int dirty1, int global, int asid, int cachealgo0, int cachealgo1); -void update_translation_table(struct cpu *cpu, uint64_t vaddr_page, +void mips_update_translation_table(struct cpu *cpu, uint64_t vaddr_page, unsigned char *host_page, int writeflag, uint64_t paddr_page); void clear_all_chunks_from_all_tables(struct cpu *cpu); void mips_invalidate_translation_caches_paddr(struct cpu *cpu, uint64_t paddr);