/[gxemul]/trunk/src/include/cpu_mips.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/src/include/cpu_mips.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 41 by dpavlin, Mon Oct 8 16:22:11 2007 UTC revision 42 by dpavlin, Mon Oct 8 16:22:32 2007 UTC
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: cpu_mips.h,v 1.56 2007/04/28 09:19:52 debug Exp $   *  $Id: cpu_mips.h,v 1.59 2007/06/07 15:36:25 debug Exp $
32   */   */
33    
34  #include "interrupt.h"  #include "interrupt.h"
# Line 182  struct r3000_cache_line { Line 182  struct r3000_cache_line {
182  #define R3000_TAG_VALID         1  #define R3000_TAG_VALID         1
183  #define R3000_TAG_DIRTY         2  #define R3000_TAG_DIRTY         2
184    
 struct r4000_cache_line {  
         char            dummy;  
 };  
   
185    
 #ifdef ONEKPAGE  
 #define MIPS_IC_ENTRIES_SHIFT           8  
 #else  
186  #define MIPS_IC_ENTRIES_SHIFT           10  #define MIPS_IC_ENTRIES_SHIFT           10
 #endif  
187    
188  #define MIPS_N_IC_ARGS                  3  #define MIPS_N_IC_ARGS                  3
189  #define MIPS_INSTR_ALIGNMENT_SHIFT      2  #define MIPS_INSTR_ALIGNMENT_SHIFT      2
# Line 205  struct r4000_cache_line { Line 197  struct r4000_cache_line {
197  #define MIPS_L3N                18  #define MIPS_L3N                18
198    
199  #define MIPS_MAX_VPH_TLB_ENTRIES        128  #define MIPS_MAX_VPH_TLB_ENTRIES        128
200    
201  DYNTRANS_MISC_DECLARATIONS(mips,MIPS,uint64_t)  DYNTRANS_MISC_DECLARATIONS(mips,MIPS,uint64_t)
202  DYNTRANS_MISC64_DECLARATIONS(mips,MIPS,uint8_t)  DYNTRANS_MISC64_DECLARATIONS(mips,MIPS,uint8_t)
203    
# Line 255  struct mips_cpu { Line 248  struct mips_cpu {
248          uint64_t        lo1;          uint64_t        lo1;
249          uint32_t        r5900_sa;          uint32_t        r5900_sa;
250    
251          /*  Data and Instruction caches:  */  
252            /*
253             *  Data and Instruction caches:
254             */
255    
256            /*  Cache sizes: (1 << x) x=0 for default values  */
257            /*  This is legacy stuff. TODO: Clean up!  */
258            int             cache_picache;
259            int             cache_pdcache;
260            int             cache_secondary;
261            int             cache_picache_linesize;
262            int             cache_pdcache_linesize;
263            int             cache_secondary_linesize;
264    
265          unsigned char   *cache[2];          unsigned char   *cache[2];
266          void            *cache_tags[2];          void            *cache_tags[2];
267          uint64_t        cache_last_paddr[2];          uint64_t        cache_last_paddr[2];
268          int             cache_size[2];          int             cache_size[2];
269          int             cache_linesize[2];          int             cache_linesize[2];
270          int             cache_mask[2];          int             cache_mask[2];
         int             cache_miss_penalty[2];  
271    
272    
273          /*          /*
# Line 271  struct mips_cpu { Line 276  struct mips_cpu {
276           */           */
277          DYNTRANS_ITC(mips)          DYNTRANS_ITC(mips)
278          VPH_TLBS(mips,MIPS)          VPH_TLBS(mips,MIPS)
279          VPH32(mips,MIPS,uint64_t,uint8_t)          VPH32(mips,MIPS)
280          VPH64(mips,MIPS,uint8_t)          VPH64(mips,MIPS)
281  };  };
282    
283    
# Line 338  void mips_unaligned_loadstore(struct cpu Line 343  void mips_unaligned_loadstore(struct cpu
343    
344    
345  int mips_run_instr(struct cpu *cpu);  int mips_run_instr(struct cpu *cpu);
346    void mips_timer_sample_tick(struct timer *, void *);
347  void mips_update_translation_table(struct cpu *cpu, uint64_t vaddr_page,  void mips_update_translation_table(struct cpu *cpu, uint64_t vaddr_page,
348          unsigned char *host_page, int writeflag, uint64_t paddr_page);          unsigned char *host_page, int writeflag, uint64_t paddr_page);
349  void mips_invalidate_translation_caches(struct cpu *cpu, uint64_t, int);  void mips_invalidate_translation_caches(struct cpu *cpu, uint64_t, int);

Legend:
Removed from v.41  
changed lines
  Added in v.42

  ViewVC Help
Powered by ViewVC 1.1.26