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

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

revision 4 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: machine.h,v 1.46 2005/04/16 02:02:28 debug Exp $   *  $Id: machine.h,v 1.58 2005/06/24 19:15:08 debug Exp $
32   */   */
33    
34  #include <sys/types.h>  #include <sys/types.h>
# Line 36  Line 36 
36    
37  #include "symbol.h"  #include "symbol.h"
38    
39    #include "arcbios.h"
40    #include "machine_x86.h"
41    
42  #define MAX_BREAKPOINTS         8  #define MAX_BREAKPOINTS         8
43  #define BREAKPOINT_FLAG_R       1  #define BREAKPOINT_FLAG_R       1
# Line 55  struct dec_ioasic_data; Line 57  struct dec_ioasic_data;
57  struct ps2_data;  struct ps2_data;
58  struct dec5800_data;  struct dec5800_data;
59  struct au1x00_ic_data;  struct au1x00_ic_data;
60    struct malta_data;
61  struct vr41xx_data;  struct vr41xx_data;
62  struct jazz_data;  struct jazz_data;
63  struct crime_data;  struct crime_data;
# Line 63  struct sgi_ip20_data; Line 66  struct sgi_ip20_data;
66  struct sgi_ip22_data;  struct sgi_ip22_data;
67  struct sgi_ip30_data;  struct sgi_ip30_data;
68    
69    #define MACHINE_NAME_MAXBUF             200
70    
71  struct machine {  struct machine {
72          /*  Pointer back to the emul struct we are in:  */          /*  Pointer back to the emul struct we are in:  */
73          struct emul *emul;          struct emul *emul;
# Line 116  struct machine { Line 121  struct machine {
121          struct cpu **cpus;          struct cpu **cpus;
122    
123          /*  These are used by stuff in cpu.c, mostly:  */          /*  These are used by stuff in cpu.c, mostly:  */
         struct timeval starttime;  
124          int64_t ncycles;          int64_t ncycles;
125          int64_t ncycles_show;          int64_t ncycles_show;
126          int64_t ncycles_flush;          int64_t ncycles_flush;
127            int64_t ncycles_since_gettimeofday;
128            struct timeval starttime;
129          int     a_few_cycles;          int     a_few_cycles;
130          int     a_few_instrs;          int     a_few_instrs;
131    
# Line 173  struct machine { Line 179  struct machine {
179    
180          int     n_gfx_cards;          int     n_gfx_cards;
181    
182          /*  Yuck, this is ugly:  */          /*  Machine-dependent: (PROM stuff, etc.)  */
183          struct kn230_csr *kn230_csr;          union {
184          struct kn02_csr *kn02_csr;                  struct machine_arcbios  arc;
185          struct dec_ioasic_data *dec_ioasic_data;                  struct machine_pc       pc;
186          struct ps2_data *ps2_data;          } md;
187          struct dec5800_data *dec5800_csr;  
188          struct au1x00_ic_data *au1x00_ic_data;          /*  Machine-dependent interrupt specific structs:  */
189          struct vr41xx_data *vr41xx_data;                union {
190          struct jazz_data *jazz_data;                  struct kn230_csr *kn230_csr;
191          struct crime_data *crime_data;                  struct kn02_csr *kn02_csr;
192          struct mace_data *mace_data;                  struct dec_ioasic_data *dec_ioasic_data;
193          struct sgi_ip20_data *sgi_ip20_data;                  struct ps2_data *ps2_data;
194          struct sgi_ip22_data *sgi_ip22_data;                  struct dec5800_data *dec5800_csr;
195          struct sgi_ip30_data *sgi_ip30_data;                  struct au1x00_ic_data *au1x00_ic_data;
196                    struct vr41xx_data *vr41xx_data;      
197                    struct jazz_data *jazz_data;
198                    struct malta_data *malta_data;
199                    struct sgi_ip20_data *sgi_ip20_data;
200                    struct sgi_ip22_data *sgi_ip22_data;
201                    struct sgi_ip30_data *sgi_ip30_data;
202                    struct {
203                            struct crime_data *crime_data;
204                            struct mace_data *mace_data;
205                    } ip32;
206            } md_int;
207    
208          /*  X11/framebuffer stuff:  */          /*  X11/framebuffer stuff:  */
209          int     use_x11;          int     use_x11;
# Line 212  struct machine { Line 229  struct machine {
229  #define ARCH_HPPA               5  #define ARCH_HPPA               5
230  #define ARCH_ALPHA              6  #define ARCH_ALPHA              6
231  #define ARCH_X86                7  #define ARCH_X86                7
232    #define ARCH_ARM                8
233    
234  /*  MIPS:  */  /*  MIPS:  */
235  #define MACHINE_BAREMIPS        1000  #define MACHINE_BAREMIPS        1000
# Line 224  struct machine { Line 242  struct machine {
242  #define MACHINE_ARC             1007  #define MACHINE_ARC             1007
243  #define MACHINE_MESHCUBE        1008  #define MACHINE_MESHCUBE        1008
244  #define MACHINE_NETGEAR         1009  #define MACHINE_NETGEAR         1009
245  #define MACHINE_WRT54G          1010  #define MACHINE_SONYNEWS        1010
246  #define MACHINE_SONYNEWS        1011  #define MACHINE_EVBMIPS         1011
247    #define MACHINE_PSP             1012
248    
249  /*  PPC:  */  /*  PPC:  */
250  #define MACHINE_BAREPPC         2000  #define MACHINE_BAREPPC         2000
# Line 258  struct machine { Line 277  struct machine {
277  #define MACHINE_BAREX86         7000  #define MACHINE_BAREX86         7000
278  #define MACHINE_X86             7001  #define MACHINE_X86             7001
279    
280    /*  ARM:  */
281    #define MACHINE_BAREARM         8000
282    #define MACHINE_TESTARM         8001
283    
284  /*  Other "pseudo"-machines:  */  /*  Other "pseudo"-machines:  */
285  #define MACHINE_NONE            0  #define MACHINE_NONE            0
286  #define MACHINE_USERLAND        100000  #define MACHINE_USERLAND        100000
# Line 280  struct machine { Line 303  struct machine {
303  #define DEC_PROM_TCINFO                 0xffffffffbfc2c000ULL  #define DEC_PROM_TCINFO                 0xffffffffbfc2c000ULL
304  #define DEC_MEMMAP_ADDR                 0xffffffffbfc30000ULL  #define DEC_MEMMAP_ADDR                 0xffffffffbfc30000ULL
305    
   
306  /*  HPCmips:  */  /*  HPCmips:  */
 /*  Machine types:  */  
307  #define MACHINE_HPCMIPS_CASIO_BE300             1  #define MACHINE_HPCMIPS_CASIO_BE300             1
308  #define MACHINE_HPCMIPS_CASIO_E105              2  #define MACHINE_HPCMIPS_CASIO_E105              2
309  #define MACHINE_HPCMIPS_NEC_MOBILEPRO_770       3  #define MACHINE_HPCMIPS_NEC_MOBILEPRO_770       3
# Line 307  struct machine { Line 328  struct machine {
328  #define MACHINE_ARC_JAZZ_M700           7  #define MACHINE_ARC_JAZZ_M700           7
329  #define MACHINE_ARC_NEC_R96             8  #define MACHINE_ARC_NEC_R96             8
330    
331    /*  EVBMIPS:  */
332    #define MACHINE_EVBMIPS_MALTA           1
333    #define MACHINE_EVBMIPS_PB1000          2
334    
335  /*  MacPPC:  TODO: Real model names  */  /*  MacPPC:  TODO: Real model names  */
336  #define MACHINE_MACPPC_G4               1  #define MACHINE_MACPPC_G4               1
337  #define MACHINE_MACPPC_G5               2  #define MACHINE_MACPPC_G5               2
338    
339    /*  X86:  */
340    #define MACHINE_X86_GENERIC             1
341    #define MACHINE_X86_XT                  2
342    
343    
344  /*  /*
345   *  Problem: kernels seem to be loaded at low addresses in RAM, so   *  Problem: kernels seem to be loaded at low addresses in RAM, so
# Line 345  void store_string(struct cpu *cpu, uint6 Line 374  void store_string(struct cpu *cpu, uint6
374  int store_64bit_word(struct cpu *cpu, uint64_t addr, uint64_t data64);  int store_64bit_word(struct cpu *cpu, uint64_t addr, uint64_t data64);
375  int store_32bit_word(struct cpu *cpu, uint64_t addr, uint64_t data32);  int store_32bit_word(struct cpu *cpu, uint64_t addr, uint64_t data32);
376  int store_16bit_word(struct cpu *cpu, uint64_t addr, uint64_t data16);  int store_16bit_word(struct cpu *cpu, uint64_t addr, uint64_t data16);
377    void store_byte(struct cpu *cpu, uint64_t addr, uint8_t data);
378  void store_64bit_word_in_host(struct cpu *cpu, unsigned char *data,  void store_64bit_word_in_host(struct cpu *cpu, unsigned char *data,
379          uint64_t data32);          uint64_t data32);
380  void store_32bit_word_in_host(struct cpu *cpu, unsigned char *data,  void store_32bit_word_in_host(struct cpu *cpu, unsigned char *data,

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

  ViewVC Help
Powered by ViewVC 1.1.26