/[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 12 by dpavlin, Mon Oct 8 16:18:38 2007 UTC revision 14 by dpavlin, Mon Oct 8 16:18:51 2007 UTC
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: cpu.h,v 1.43 2005/08/16 05:37:13 debug Exp $   *  $Id: cpu.h,v 1.48 2005/09/17 17:14:28 debug Exp $
32   *   *
33   *  See cpu.c.   *  See cpu.c.
34   */   */
# Line 41  Line 41 
41  /*  This is needed for undefining 'mips' or 'ppc', on weird systems:  */  /*  This is needed for undefining 'mips' or 'ppc', on weird systems:  */
42  #include "../../config.h"  #include "../../config.h"
43    
 #include "cpu_arm.h"  
44  #include "cpu_alpha.h"  #include "cpu_alpha.h"
45    #include "cpu_arm.h"
46    #include "cpu_avr.h"
47    #include "cpu_hppa.h"
48    #include "cpu_i960.h"
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_ppc.h"  #include "cpu_ppc.h"
53    #include "cpu_sh.h"
54  #include "cpu_sparc.h"  #include "cpu_sparc.h"
55  #include "cpu_x86.h"  #include "cpu_x86.h"
56    
# Line 137  struct cpu { Line 141  struct cpu {
141                              uint64_t vaddr_page, unsigned char *host_page,                              uint64_t vaddr_page, unsigned char *host_page,
142                              int writeflag, uint64_t paddr_page);                              int writeflag, uint64_t paddr_page);
143          void            (*invalidate_translation_caches_paddr)(struct cpu *,          void            (*invalidate_translation_caches_paddr)(struct cpu *,
144                              uint64_t paddr);                              uint64_t paddr, int flags);
145          void            (*invalidate_code_translation_caches)(struct cpu *);          void            (*invalidate_code_translation)(struct cpu *,
146                                uint64_t paddr, int flags);
147          void            (*useremul_syscall)(struct cpu *cpu, uint32_t code);          void            (*useremul_syscall)(struct cpu *cpu, uint32_t code);
148    
149          uint64_t        pc;          uint64_t        pc;
150    
151  #ifdef TRACE_NULL_CRASHES  #ifdef TRACE_NULL_CRASHES
152            /*  TODO: remove this, it's MIPS only  */
153          int             trace_null_index;          int             trace_null_index;
154          uint64_t        trace_null_addr[TRACE_NULL_N_ENTRIES];          uint64_t        trace_null_addr[TRACE_NULL_N_ENTRIES];
155  #endif    #endif  
# Line 164  struct cpu { Line 170  struct cpu {
170          union {          union {
171                  struct alpha_cpu   alpha;                  struct alpha_cpu   alpha;
172                  struct arm_cpu     arm;                  struct arm_cpu     arm;
173                    struct avr_cpu     avr;
174                    struct hppa_cpu    hppa;
175                    struct i960_cpu    i960;
176                  struct ia64_cpu    ia64;                  struct ia64_cpu    ia64;
177                  struct m68k_cpu    m68k;                  struct m68k_cpu    m68k;
178                  struct mips_cpu    mips;                  struct mips_cpu    mips;
179                  struct ppc_cpu     ppc;                  struct ppc_cpu     ppc;
180                    struct sh_cpu      sh;
181                  struct sparc_cpu   sparc;                  struct sparc_cpu   sparc;
182                  struct x86_cpu     x86;                  struct x86_cpu     x86;
183          } cd;          } cd;
# Line 200  struct cpu_family *cpu_family_ptr_by_num Line 210  struct cpu_family *cpu_family_ptr_by_num
210  void cpu_init(void);  void cpu_init(void);
211    
212    
213    #define JUST_MARK_AS_NON_WRITABLE       1
214    #define INVALIDATE_ALL                  2
215    #define INVALIDATE_PADDR                4
216    #define INVALIDATE_VADDR                8
217    
218    
219  #define CPU_FAMILY_INIT(n,s)    int n ## _cpu_family_init(              \  #define CPU_FAMILY_INIT(n,s)    int n ## _cpu_family_init(              \
220          struct cpu_family *fp) {                                        \          struct cpu_family *fp) {                                        \
221          /*  Fill in the cpu_family struct with valid data for this arch.  */ \          /*  Fill in the cpu_family struct with valid data for this arch.  */ \

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

  ViewVC Help
Powered by ViewVC 1.1.26