/[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 9 by dpavlin, Mon Oct 8 16:18:00 2007 UTC revision 10 by dpavlin, Mon Oct 8 16:18:27 2007 UTC
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: cpu_mips.h,v 1.13 2005/03/14 12:49:16 debug Exp $   *  $Id: cpu_mips.h,v 1.16 2005/06/26 22:23:43 debug Exp $
32   */   */
33    
34  #include "misc.h"  #include "misc.h"
# Line 203  struct r4000_cache_line { Line 203  struct r4000_cache_line {
203    
204  /*  Virtual to host address translation tables:  */  /*  Virtual to host address translation tables:  */
205  struct vth32_table {  struct vth32_table {
206          void                    *haddr_entry[1024];          void                    *haddr_entry[1024 * 2];
207          uint32_t                paddr_entry[1024];          uint32_t                paddr_entry[1024];
208          uint32_t                *bintrans_chunks[1024];          uint32_t                *bintrans_chunks[1024];
209          struct vth32_table      *next_free;          struct vth32_table      *next_free;
# Line 290  struct mips_cpu { Line 290  struct mips_cpu {
290          uint64_t        bintrans_data_vaddr[N_BINTRANS_VADDR_TO_HOST];          uint64_t        bintrans_data_vaddr[N_BINTRANS_VADDR_TO_HOST];
291          unsigned char   *bintrans_data_hostpage[N_BINTRANS_VADDR_TO_HOST];          unsigned char   *bintrans_data_hostpage[N_BINTRANS_VADDR_TO_HOST];
292    
293          void            (*bintrans_loadstore_32bit)(struct cpu *);      /*  Note: incorrect args  */          void            (*bintrans_load_32bit)(struct cpu *);   /*  Note: incorrect args  */
294            void            (*bintrans_store_32bit)(struct cpu *);  /*  Note: incorrect args  */
295          void            (*bintrans_jump_to_32bit_pc)(struct cpu *);          void            (*bintrans_jump_to_32bit_pc)(struct cpu *);
296          void            (*bintrans_simple_exception)(struct cpu *, int);          void            (*bintrans_simple_exception)(struct cpu *, int);
297          void            (*bintrans_fast_rfe)(struct cpu *);          void            (*bintrans_fast_rfe)(struct cpu *);
# Line 362  struct mips_cpu { Line 363  struct mips_cpu {
363          int             cache_linesize[2];          int             cache_linesize[2];
364          int             cache_mask[2];          int             cache_mask[2];
365          int             cache_miss_penalty[2];          int             cache_miss_penalty[2];
366    
367            /*  Other stuff:  */
368            uint64_t        cop0_config_select1;
369  };  };
370    
371    
372  /*  cpu_mips.c:  */  /*  cpu_mips.c:  */
 struct cpu *mips_cpu_new(struct memory *mem, struct machine *machine,  
         int cpu_id, char *cpu_type_name);  
373  void mips_cpu_show_full_statistics(struct machine *m);  void mips_cpu_show_full_statistics(struct machine *m);
374  void mips_cpu_tlbdump(struct machine *m, int x, int rawflag);  void mips_cpu_tlbdump(struct machine *m, int x, int rawflag);
375  void mips_cpu_register_match(struct machine *m, char *name,  void mips_cpu_register_match(struct machine *m, char *name,
# Line 398  void update_translation_table(struct cpu Line 400  void update_translation_table(struct cpu
400  void clear_all_chunks_from_all_tables(struct cpu *cpu);  void clear_all_chunks_from_all_tables(struct cpu *cpu);
401  void mips_invalidate_translation_caches_paddr(struct cpu *cpu, uint64_t paddr);  void mips_invalidate_translation_caches_paddr(struct cpu *cpu, uint64_t paddr);
402  void coproc_register_read(struct cpu *cpu,  void coproc_register_read(struct cpu *cpu,
403          struct mips_coproc *cp, int reg_nr, uint64_t *ptr);          struct mips_coproc *cp, int reg_nr, uint64_t *ptr, int select);
404  void coproc_register_write(struct cpu *cpu,  void coproc_register_write(struct cpu *cpu,
405          struct mips_coproc *cp, int reg_nr, uint64_t *ptr, int flag64);          struct mips_coproc *cp, int reg_nr, uint64_t *ptr, int flag64,
406            int select);
407  void coproc_tlbpr(struct cpu *cpu, int readflag);  void coproc_tlbpr(struct cpu *cpu, int readflag);
408  void coproc_tlbwri(struct cpu *cpu, int randomflag);  void coproc_tlbwri(struct cpu *cpu, int randomflag);
409  void coproc_rfe(struct cpu *cpu);  void coproc_rfe(struct cpu *cpu);

Legend:
Removed from v.9  
changed lines
  Added in v.10

  ViewVC Help
Powered by ViewVC 1.1.26