--- trunk/src/include/cpu_sh.h 2007/10/08 16:18:51 14 +++ trunk/src/include/cpu_sh.h 2007/10/08 16:19:11 18 @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * - * $Id: cpu_sh.h,v 1.4 2005/09/04 13:06:11 debug Exp $ + * $Id: cpu_sh.h,v 1.7 2005/10/27 14:01:15 debug Exp $ */ #include "misc.h" @@ -53,10 +53,10 @@ /* Translation cache struct for each physical page: */ struct sh_tc_physpage { + struct sh_instr_call ics[SH_IC_ENTRIES_PER_PAGE + 1]; uint32_t next_ofs; /* or 0 for end of chain */ - uint64_t physaddr; int flags; - struct sh_instr_call ics[SH_IC_ENTRIES_PER_PAGE + 1]; + uint64_t physaddr; }; #define SH_N_VPH_ENTRIES 1048576 @@ -99,21 +99,23 @@ */ struct sh_vpg_tlb_entry vph_tlb_entry[SH_MAX_VPH_TLB_ENTRIES]; - unsigned char *host_load[SH_N_VPH_ENTRIES]; - unsigned char *host_store[SH_N_VPH_ENTRIES]; - uint32_t phys_addr[SH_N_VPH_ENTRIES]; + unsigned char *host_load[SH_N_VPH_ENTRIES]; + unsigned char *host_store[SH_N_VPH_ENTRIES]; + uint32_t phys_addr[SH_N_VPH_ENTRIES]; struct sh_tc_physpage *phys_page[SH_N_VPH_ENTRIES]; + + uint32_t phystranslation[SH_N_VPH_ENTRIES/32]; }; /* cpu_sh.c: */ void sh_update_translation_table(struct cpu *cpu, uint64_t vaddr_page, unsigned char *host_page, int writeflag, uint64_t paddr_page); -void sh_invalidate_translation_caches_paddr(struct cpu *cpu, uint64_t, int); +void sh_invalidate_translation_caches(struct cpu *cpu, uint64_t, int); void sh_invalidate_code_translation(struct cpu *cpu, uint64_t, int); void sh32_update_translation_table(struct cpu *cpu, uint64_t vaddr_page, unsigned char *host_page, int writeflag, uint64_t paddr_page); -void sh32_invalidate_translation_caches_paddr(struct cpu *cpu, uint64_t, int); +void sh32_invalidate_translation_caches(struct cpu *cpu, uint64_t, int); void sh32_invalidate_code_translation(struct cpu *cpu, uint64_t, int); int sh_memory_rw(struct cpu *cpu, struct memory *mem, uint64_t vaddr, unsigned char *data, size_t len, int writeflag, int cache_flags);