/[gxemul]/trunk/src/include/cpu.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.h

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

revision 14 by dpavlin, Mon Oct 8 16:18:51 2007 UTC revision 20 by dpavlin, Mon Oct 8 16:19:23 2007 UTC
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: cpu.h,v 1.48 2005/09/17 17:14:28 debug Exp $   *  $Id: cpu.h,v 1.54 2005/11/16 21:15:19 debug Exp $
32   *   *
33   *  See cpu.c.   *  See cpu.c.
34   */   */
# Line 49  Line 49 
49  #include "cpu_ia64.h"  #include "cpu_ia64.h"
50  #include "cpu_m68k.h"  #include "cpu_m68k.h"
51  #include "cpu_mips.h"  #include "cpu_mips.h"
52    #include "cpu_newmips.h"
53  #include "cpu_ppc.h"  #include "cpu_ppc.h"
54  #include "cpu_sh.h"  #include "cpu_sh.h"
55  #include "cpu_sparc.h"  #include "cpu_sparc.h"
# Line 107  struct cpu_family { Line 108  struct cpu_family {
108  #define TRANSLATIONS                    1  #define TRANSLATIONS                    1
109  #define COMBINATIONS                    2  #define COMBINATIONS                    2
110    
111  #define DYNTRANS_CACHE_SIZE             (16*1048576)  #define DYNTRANS_CACHE_SIZE             (20*1048576)
112  #define DYNTRANS_CACHE_MARGIN           300000  #define DYNTRANS_CACHE_MARGIN           300000
113    
114  #define N_BASE_TABLE_ENTRIES            32768  #define N_BASE_TABLE_ENTRIES            32768
# Line 140  struct cpu { Line 141  struct cpu {
141          void            (*update_translation_table)(struct cpu *,          void            (*update_translation_table)(struct cpu *,
142                              uint64_t vaddr_page, unsigned char *host_page,                              uint64_t vaddr_page, unsigned char *host_page,
143                              int writeflag, uint64_t paddr_page);                              int writeflag, uint64_t paddr_page);
144          void            (*invalidate_translation_caches_paddr)(struct cpu *,          void            (*invalidate_translation_caches)(struct cpu *,
145                              uint64_t paddr, int flags);                              uint64_t paddr, int flags);
146          void            (*invalidate_code_translation)(struct cpu *,          void            (*invalidate_code_translation)(struct cpu *,
147                              uint64_t paddr, int flags);                              uint64_t paddr, int flags);
# Line 176  struct cpu { Line 177  struct cpu {
177                  struct ia64_cpu    ia64;                  struct ia64_cpu    ia64;
178                  struct m68k_cpu    m68k;                  struct m68k_cpu    m68k;
179                  struct mips_cpu    mips;                  struct mips_cpu    mips;
180                    struct newmips_cpu newmips;
181                  struct ppc_cpu     ppc;                  struct ppc_cpu     ppc;
182                  struct sh_cpu      sh;                  struct sh_cpu      sh;
183                  struct sparc_cpu   sparc;                  struct sparc_cpu   sparc;
# Line 215  void cpu_init(void); Line 217  void cpu_init(void);
217  #define INVALIDATE_PADDR                4  #define INVALIDATE_PADDR                4
218  #define INVALIDATE_VADDR                8  #define INVALIDATE_VADDR                8
219    
220    #define TLB_CODE                        0x02
221    
222    
223  #define CPU_FAMILY_INIT(n,s)    int n ## _cpu_family_init(              \  #define CPU_FAMILY_INIT(n,s)    int n ## _cpu_family_init(              \
224          struct cpu_family *fp) {                                        \          struct cpu_family *fp) {                                        \
225          /*  Fill in the cpu_family struct with valid data for this arch.  */ \          /*  Fill in the cpu_family struct with valid data for this arch.  */ \
226          fp->name = s;                                                   \          fp->name = s;                                                   \
227            fp->cpu_new = n ## _cpu_new;                                    \
228            fp->list_available_types = n ## _cpu_list_available_types;      \
229            fp->register_match = n ## _cpu_register_match;                  \
230            fp->disassemble_instr = n ## _cpu_disassemble_instr;            \
231            fp->register_dump = n ## _cpu_register_dump;                    \
232            fp->run = n ## _cpu_run;                                        \
233            fp->dumpinfo = n ## _cpu_dumpinfo;                              \
234            fp->interrupt = n ## _cpu_interrupt;                            \
235            fp->interrupt_ack = n ## _cpu_interrupt_ack;                    \
236            fp->functioncall_trace = n ## _cpu_functioncall_trace;          \
237            return 1;                                                       \
238            }
239    
240    #define CPU_OLD_FAMILY_INIT(n,s)        int n ## _cpu_family_init(      \
241            struct cpu_family *fp) {                                        \
242            /*  Fill in the cpu_family struct with valid data for this arch.  */ \
243            fp->name = s;                                                   \
244          fp->cpu_new = n ## _cpu_new;                                    \          fp->cpu_new = n ## _cpu_new;                                    \
245          fp->list_available_types = n ## _cpu_list_available_types;      \          fp->list_available_types = n ## _cpu_list_available_types;      \
246          fp->register_match = n ## _cpu_register_match;                  \          fp->register_match = n ## _cpu_register_match;                  \

Legend:
Removed from v.14  
changed lines
  Added in v.20

  ViewVC Help
Powered by ViewVC 1.1.26