--- trunk/src/include/cpu_sparc.h 2007/10/08 16:18:51 14 +++ trunk/src/include/cpu_sparc.h 2007/10/08 16:19:11 18 @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * - * $Id: cpu_sparc.h,v 1.9 2005/08/28 20:16:24 debug Exp $ + * $Id: cpu_sparc.h,v 1.12 2005/10/27 14:01:15 debug Exp $ */ #include "misc.h" @@ -53,10 +53,10 @@ /* Translation cache struct for each physical page: */ struct sparc_tc_physpage { + struct sparc_instr_call ics[SPARC_IC_ENTRIES_PER_PAGE + 1]; uint32_t next_ofs; /* or 0 for end of chain */ - uint64_t physaddr; int flags; - struct sparc_instr_call ics[SPARC_IC_ENTRIES_PER_PAGE + 1]; + uint64_t physaddr; }; #define SPARC_N_VPH_ENTRIES 1048576 @@ -101,13 +101,15 @@ unsigned char *host_store[SPARC_N_VPH_ENTRIES]; uint32_t phys_addr[SPARC_N_VPH_ENTRIES]; struct sparc_tc_physpage *phys_page[SPARC_N_VPH_ENTRIES]; + + uint32_t phystranslation[SPARC_N_VPH_ENTRIES/32]; }; /* cpu_sparc.c: */ void sparc_update_translation_table(struct cpu *cpu, uint64_t vaddr_page, unsigned char *host_page, int writeflag, uint64_t paddr_page); -void sparc_invalidate_translation_caches_paddr(struct cpu *cpu, uint64_t, int); +void sparc_invalidate_translation_caches(struct cpu *cpu, uint64_t, int); void sparc_invalidate_code_translation(struct cpu *cpu, uint64_t, int); int sparc_memory_rw(struct cpu *cpu, struct memory *mem, uint64_t vaddr, unsigned char *data, size_t len, int writeflag, int cache_flags);