/[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 20 by dpavlin, Mon Oct 8 16:19:23 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC
# Line 2  Line 2 
2  #define MACHINE_H  #define MACHINE_H
3    
4  /*  /*
5   *  Copyright (C) 2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2005-2006  Anders Gavare.  All rights reserved.
6   *   *
7   *  Redistribution and use in source and binary forms, with or without   *  Redistribution and use in source and binary forms, with or without
8   *  modification, are permitted provided that the following conditions are met:   *  modification, are permitted provided that the following conditions are met:
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: machine.h,v 1.86 2005/11/22 02:07:40 debug Exp $   *  $Id: machine.h,v 1.136 2006/10/25 09:24:06 debug Exp $
32   */   */
33    
34  #include <sys/types.h>  #include <sys/types.h>
35  #include <sys/time.h>  #include <sys/time.h>
36    
37    #include "debugger_gdb.h"
38  #include "symbol.h"  #include "symbol.h"
39    
40  #include "machine_arc.h"  #include "machine_arc.h"
41    #include "machine_pmax.h"
42  #include "machine_x86.h"  #include "machine_x86.h"
43    
44    
45  #define MAX_BREAKPOINTS         8  #define MAX_BREAKPOINTS         8
46  #define BREAKPOINT_FLAG_R       1  #define BREAKPOINT_FLAG_R       1
47    
48  #define MAX_TICK_FUNCTIONS      14  #define MAX_TICK_FUNCTIONS      16
49    
50    #define MAX_STATISTICS_FIELDS   8
51    
52  struct cpu_family;  struct cpu_family;
53  struct diskimage;  struct diskimage;
54  struct emul;  struct emul;
55  struct fb_window;  struct fb_window;
56  struct memory;  struct memory;
57    struct of_data;
58    struct settings;
59    
60  /*  Ugly:  */  /*  Ugly:  */
61  struct kn230_csr;  struct kn230_csr;
# Line 67  struct mace_data; Line 73  struct mace_data;
73  struct sgi_ip20_data;  struct sgi_ip20_data;
74  struct sgi_ip22_data;  struct sgi_ip22_data;
75  struct sgi_ip30_data;  struct sgi_ip30_data;
76    
77  struct isa_pic_data {  struct isa_pic_data {
78          struct pic8259_data     *pic1;          struct pic8259_data     *pic1;
79          struct pic8259_data     *pic2;          struct pic8259_data     *pic2;
80    
81            int                     *pending_timer_interrupts;
82          int                     last_int;          int                     last_int;
83    
84          int                     native_irq;          int                     native_irq;
85            int                     native_secondary_irq;
86            uint8_t                 secondary_mask1;
87  };  };
88    
89    
90  #define MACHINE_NAME_MAXBUF             150  struct machine_bus {
91            struct machine_bus *next;
92    
93            char            *name;
94    
95            void            (*debug_dump)(void *);
96            void            *extra;
97    };
98    
99    
100  struct machine {  struct machine {
101          /*  Pointer back to the emul struct we are in:  */          /*  Pointer back to the emul struct we are in:  */
102          struct emul *emul;          struct emul *emul;
103    
104            /*  Settings:  */
105            struct settings *settings;
106    
107          /*  Name as choosen by the user:  */          /*  Name as choosen by the user:  */
108          char    *name;          char    *name;
109    
110          int     arch;                   /*  ARCH_MIPS, ARCH_PPC, ..  */          int     arch;                   /*  ARCH_MIPS, ARCH_PPC, ..  */
111          int     machine_type;           /*  MACHINE_DEC, ..  */          int     machine_type;           /*  MACHINE_PMAX, ..  */
112          int     machine_subtype;        /*  MACHINE_DEC_3MAX_5000, ..  */          int     machine_subtype;        /*  MACHINE_DEC_3MAX_5000, ..  */
113    
114            int     cycle_accurate;         /*  Set to non-zero for cycle
115                                                accurate (slow) emulation.  */
116    
117            /*  Name set by code in src/machines/machine_*.c:  */
118          char    *machine_name;          char    *machine_name;
119    
120            int     stable;                 /*  startup warning for non-stable
121                                                emulation modes.  */
122    
123          /*  The serial number is mostly used when emulating multiple machines          /*  The serial number is mostly used when emulating multiple machines
124              in a network. nr_of_nics is the current nr of network cards, which              in a network. nr_of_nics is the current nr of network cards, which
125              is useful when emulating multiple cards in one machine:  */              is useful when emulating multiple cards in one machine:  */
126          int     serial_nr;          int     serial_nr;
127          int     nr_of_nics;          int     nr_of_nics;
128    
129            /*  TODO: How about multiple cpu familys in one machine?  */
130          struct cpu_family *cpu_family;          struct cpu_family *cpu_family;
131    
132          /*          /*
# Line 116  struct machine { Line 147  struct machine {
147          int     ticks_reset_value[MAX_TICK_FUNCTIONS];          int     ticks_reset_value[MAX_TICK_FUNCTIONS];
148          void    (*tick_func[MAX_TICK_FUNCTIONS])(struct cpu *, void *);          void    (*tick_func[MAX_TICK_FUNCTIONS])(struct cpu *, void *);
149          void    *tick_extra[MAX_TICK_FUNCTIONS];          void    *tick_extra[MAX_TICK_FUNCTIONS];
150            double  tick_hz[MAX_TICK_FUNCTIONS];
151    
152          void    (*md_interrupt)(struct machine *m, struct cpu *cpu,          void    (*md_interrupt)(struct machine *m, struct cpu *cpu,
153                      int irq_nr, int assert);                      int irq_nr, int assert);
# Line 129  struct machine { Line 161  struct machine {
161          int     ncpus;          int     ncpus;
162          struct cpu **cpus;          struct cpu **cpus;
163    
164            /*  Registered busses:  */
165            struct machine_bus *first_bus;
166            int     n_busses;
167    
168          /*  These are used by stuff in cpu.c, mostly:  */          /*  These are used by stuff in cpu.c, mostly:  */
169          int64_t ncycles;          int64_t ninstrs;
170          int64_t ncycles_show;          int64_t ninstrs_show;
171          int64_t ncycles_flush;          int64_t ninstrs_flush;
172          int64_t ncycles_since_gettimeofday;          int64_t ninstrs_since_gettimeofday;
173          struct timeval starttime;          struct timeval starttime;
         int     a_few_cycles;  
         int     a_few_instrs;  
174    
175          struct diskimage *first_diskimage;          struct diskimage *first_diskimage;
176    
# Line 149  struct machine { Line 183  struct machine {
183          int     register_dump;          int     register_dump;
184          int     arch_pagesize;          int     arch_pagesize;
185    
186            int     bootdev_type;
187            int     bootdev_id;
188            char    *bootstr;
189            char    *bootarg;
190    
191            struct debugger_gdb gdb;
192    
193            /*  Breakpoints:  */
194          int     n_breakpoints;          int     n_breakpoints;
195          char    *breakpoint_string[MAX_BREAKPOINTS];          char    *breakpoint_string[MAX_BREAKPOINTS];
196          uint64_t breakpoint_addr[MAX_BREAKPOINTS];          uint64_t breakpoint_addr[MAX_BREAKPOINTS];
# Line 164  struct machine { Line 206  struct machine {
206          int     cache_secondary_linesize;          int     cache_secondary_linesize;
207    
208          int     dbe_on_nonexistant_memaccess;          int     dbe_on_nonexistant_memaccess;
         int     dyntrans_alignment_check;  
         int     bintrans_enable;  
         int     old_bintrans_enable;  
         int     bintrans_enabled_from_start;  
         int     bintrans_size;  
209          int     instruction_trace;          int     instruction_trace;
         int     single_step_on_bad_addr;  
210          int     show_nr_of_instructions;          int     show_nr_of_instructions;
211            int     show_trace_tree;
212          int     show_symbolic_register_names;          int     show_symbolic_register_names;
         int64_t max_instructions;  
213          int     emulated_hz;          int     emulated_hz;
214          int     max_random_cycles_per_chunk;          int     allow_instruction_combinations;
         int     speed_tricks;  
215          char    *userland_emul;         /*  NULL for no userland emulation  */          char    *userland_emul;         /*  NULL for no userland emulation  */
216          int     force_netboot;          int     force_netboot;
217          int     slow_serial_interrupts_hack_for_linux;          int     slow_serial_interrupts_hack_for_linux;
218          uint64_t file_loaded_end_addr;          uint64_t file_loaded_end_addr;
219          char    *boot_kernel_filename;          char    *boot_kernel_filename;
220          char    *boot_string_argument;          char    *boot_string_argument;
   
         int     automatic_clock_adjustment;  
221          int     exit_without_entering_debugger;          int     exit_without_entering_debugger;
         int     show_trace_tree;  
   
222          int     n_gfx_cards;          int     n_gfx_cards;
223    
224            /*  Instruction statistics:  */
225            char    *statistics_filename;
226            FILE    *statistics_file;
227            int     statistics_enabled;
228            char    *statistics_fields;     /*  "vpi" etc.  */
229    
230          /*  Machine-dependent: (PROM stuff, etc.)  */          /*  Machine-dependent: (PROM stuff, etc.)  */
231          union {          union {
232                  struct machine_arcbios  arc;                  struct machine_arcbios  arc;
233                    struct machine_pmax     pmax;
234                  struct machine_pc       pc;                  struct machine_pc       pc;
235          } md;          } md;
236    
237            /*  OpenFirmware:  */
238            struct of_data *of_data;
239    
240          /*  Bus-specific interrupt data:  */          /*  Bus-specific interrupt data:  */
241          struct isa_pic_data isa_pic_data;          struct isa_pic_data isa_pic_data;
242    
# Line 221  struct machine { Line 262  struct machine {
262                  struct bebox_data *bebox_data;                  struct bebox_data *bebox_data;
263                  struct prep_data *prep_data;                  struct prep_data *prep_data;
264                  struct cpc700_data *cpc700_data;                  struct cpc700_data *cpc700_data;
265                    struct gc_data *gc_data;
266                    struct v3_data *v3_data;
267          } md_int;          } md_int;
268    
269          /*  X11/framebuffer stuff:  */          /*  X11/framebuffer stuff:  */
# Line 236  struct machine { Line 279  struct machine {
279  };  };
280    
281    
282    /*  Tick function "prototype":  */
283    #define DEVICE_TICK(x)  void dev_ ## x ## _tick(struct cpu *cpu, void *extra)
284    
285    
286  /*  /*
287   *  Machine emulation types:   *  Machine emulation types:
288   */   */
# Line 253  struct machine { Line 300  struct machine {
300  #define ARCH_HPPA               10  #define ARCH_HPPA               10
301  #define ARCH_I960               11  #define ARCH_I960               11
302  #define ARCH_AVR                12  #define ARCH_AVR                12
303  #define ARCH_NEWMIPS            13  #define ARCH_TRANSPUTER         13
304    #define ARCH_RCA180X            14
305    #define ARCH_AVR32              15
306    
307  /*  MIPS:  */  /*  MIPS:  */
308  #define MACHINE_BAREMIPS        1000  #define MACHINE_BAREMIPS        1000
309  #define MACHINE_TESTMIPS        1001  #define MACHINE_TESTMIPS        1001
310  #define MACHINE_DEC             1002  #define MACHINE_PMAX            1002
311  #define MACHINE_COBALT          1003  #define MACHINE_COBALT          1003
312  #define MACHINE_HPCMIPS         1004  #define MACHINE_HPCMIPS         1004
313  #define MACHINE_PS2             1005  #define MACHINE_PS2             1005
314  #define MACHINE_SGI             1006  #define MACHINE_SGI             1006
315  #define MACHINE_ARC             1007  #define MACHINE_ARC             1007
316  #define MACHINE_MESHCUBE        1008  #define MACHINE_NETGEAR         1008
317  #define MACHINE_NETGEAR         1009  #define MACHINE_SONYNEWS        1009
318  #define MACHINE_SONYNEWS        1010  #define MACHINE_EVBMIPS         1010
319  #define MACHINE_EVBMIPS         1011  #define MACHINE_PSP             1011
320  #define MACHINE_PSP             1012  #define MACHINE_ALGOR           1012
321  #define MACHINE_ALGOR           1013  #define MACHINE_QEMU_MIPS       1013
322    
323  /*  PPC:  */  /*  PPC:  */
324  #define MACHINE_BAREPPC         2000  #define MACHINE_BAREPPC         2000
# Line 281  struct machine { Line 330  struct machine {
330  #define MACHINE_PREP            2006  #define MACHINE_PREP            2006
331  #define MACHINE_MACPPC          2007  #define MACHINE_MACPPC          2007
332  #define MACHINE_DB64360         2008  #define MACHINE_DB64360         2008
333    #define MACHINE_MVMEPPC         2009
334    
335  /*  SPARC:  */  /*  SPARC:  */
336  #define MACHINE_BARESPARC       3000  #define MACHINE_BARESPARC       3000
337  #define MACHINE_TESTSPARC       3001  #define MACHINE_TESTSPARC       3001
338  #define MACHINE_ULTRA1          3002  #define MACHINE_SPARC           3002
339    
340  /*  Alpha:  */  /*  Alpha:  */
341  #define MACHINE_BAREALPHA       4000  #define MACHINE_BAREALPHA       4000
# Line 306  struct machine { Line 356  struct machine {
356  #define MACHINE_SHARK           6006  #define MACHINE_SHARK           6006
357  #define MACHINE_IQ80321         6007  #define MACHINE_IQ80321         6007
358  #define MACHINE_IYONIX          6008  #define MACHINE_IYONIX          6008
359    #define MACHINE_TS7200          6009
360    #define MACHINE_QEMU_ARM        6010
361    
362  /*  IA64:  */  /*  IA64:  */
363  #define MACHINE_BAREIA64        7000  #define MACHINE_BAREIA64        7000
# Line 319  struct machine { Line 371  struct machine {
371  #define MACHINE_BARESH          9000  #define MACHINE_BARESH          9000
372  #define MACHINE_TESTSH          9001  #define MACHINE_TESTSH          9001
373  #define MACHINE_HPCSH           9002  #define MACHINE_HPCSH           9002
374    #define MACHINE_DREAMCAST       9003
375    
376  /*  HPPA:  */  /*  HPPA:  */
377  #define MACHINE_BAREHPPA        10000  #define MACHINE_BAREHPPA        10000
# Line 330  struct machine { Line 383  struct machine {
383    
384  /*  AVR:  */  /*  AVR:  */
385  #define MACHINE_BAREAVR         12000  #define MACHINE_BAREAVR         12000
386    #define MACHINE_AVR_PAL         12001
387    #define MACHINE_AVR_MAHPONG     12002
388    
389  /*  NEWMIPS:  */  /*  TRANSPUTER:  */
390  #define MACHINE_BARENEWMIPS     13000  #define MACHINE_BARETRANSPUTER  13000
391  #define MACHINE_TESTNEWMIPS     13001  
392    /*  ARCH_RCA180X:  */
393    #define MACHINE_BARE180X        14000
394    #define MACHINE_CHIP8           14001
395    
396    /*  AVR32:  */
397    #define MACHINE_BAREAVR32       15000
398    #define MACHINE_TESTAVR32       15001
399    
400  /*  Other "pseudo"-machines:  */  /*  Other "pseudo"-machines:  */
401  #define MACHINE_NONE            0  #define MACHINE_NONE            0
# Line 375  struct machine { Line 437  struct machine {
437  #define MACHINE_HPCSH_JORNADA680                1  #define MACHINE_HPCSH_JORNADA680                1
438  #define MACHINE_HPCSH_JORNADA690                2  #define MACHINE_HPCSH_JORNADA690                2
439    
 /*  Playstation 2:  */  
 #define PLAYSTATION2_BDA        0xffffffffa0001000ULL  
 #define PLAYSTATION2_OPTARGS    0xffffffff81fff100ULL  
 #define PLAYSTATION2_SIFBIOS    0xffffffffbfc10000ULL  
   
440  /*  SGI and ARC:  */  /*  SGI and ARC:  */
441  #define MACHINE_ARC_NEC_RD94            1  #define MACHINE_ARC_NEC_RD94            1
442  #define MACHINE_ARC_JAZZ_PICA           2  #define MACHINE_ARC_JAZZ_PICA           2
# Line 397  struct machine { Line 454  struct machine {
454  /*  EVBMIPS:  */  /*  EVBMIPS:  */
455  #define MACHINE_EVBMIPS_MALTA           1  #define MACHINE_EVBMIPS_MALTA           1
456  #define MACHINE_EVBMIPS_MALTA_BE        2  #define MACHINE_EVBMIPS_MALTA_BE        2
457  #define MACHINE_EVBMIPS_PB1000          3  #define MACHINE_EVBMIPS_MESHCUBE        3
458    #define MACHINE_EVBMIPS_PB1000          4
459    
460    /*  PReP:  */
461    #define MACHINE_PREP_IBM6050            1
462    #define MACHINE_PREP_MVME2400           2
463    
464    /*  Sun SPARC:  */
465    #define MACHINE_SPARC_SS5               1
466    #define MACHINE_SPARC_SS20              2
467    #define MACHINE_SPARC_ULTRA1            3
468    #define MACHINE_SPARC_ULTRA60           4
469    
470  /*  MacPPC:  TODO: Real model names  */  /*  MacPPC:  TODO: Real model names  */
471  #define MACHINE_MACPPC_G4               1  #define MACHINE_MACPPC_G3               1
472  #define MACHINE_MACPPC_G5               2  #define MACHINE_MACPPC_G4               2
473    #define MACHINE_MACPPC_G5               3
474    
475    /*  MVMEPPC  */
476    #define MACHINE_MVMEPPC_1600            1
477    #define MACHINE_MVMEPPC_2100            2
478    #define MACHINE_MVMEPPC_5500            3
479    
480  /*  X86:  */  /*  X86:  */
481  #define MACHINE_X86_GENERIC             1  #define MACHINE_X86_GENERIC             1
482  #define MACHINE_X86_XT                  2  #define MACHINE_X86_XT                  2
483    
484    
485  /*  /*  For the automachine system:  */
486   *  Problem: kernels seem to be loaded at low addresses in RAM, so  struct machine_entry_subtype {
487   *  storing environment strings and memory descriptors there is a bad          int                     machine_subtype;/*  Old-style subtype  */
488   *  idea. They are stored at 0xbfc..... instead.  The ARC SPB must          const char              *name;          /*  Official name  */
489   *  be at physical address 0x1000 though.          int                     n_aliases;
490   */          char                    **aliases;      /*  Aliases  */
491  #define SGI_SPB_ADDR            0xffffffff80001000ULL  };
492  /*  0xbfc10000 is firmware callback vector stuff  */  
493  #define ARC_FIRMWARE_VECTORS    0xffffffffbfc80000ULL  struct machine_entry {
494  #define ARC_FIRMWARE_ENTRIES    0xffffffffbfc88000ULL          struct machine_entry    *next;
495  #define ARC_ARGV_START          0xffffffffbfc90000ULL  
496  #define ARC_ENV_STRINGS         0xffffffffbfc98000ULL          /*  Machine type:  */
497  #define ARC_ENV_POINTERS        0xffffffffbfc9d000ULL          int                     arch;
498  #define SGI_SYSID_ADDR          0xffffffffbfca1800ULL          int                     machine_type;   /*  Old-style type  */
499  #define ARC_DSPSTAT_ADDR        0xffffffffbfca1c00ULL          const char              *name;          /*  Official name  */
500  #define ARC_MEMDESC_ADDR        0xffffffffbfca1c80ULL          int                     n_aliases;
501  #define ARC_CONFIG_DATA_ADDR    0xffffffffbfca2000ULL          char                    **aliases;      /*  Aliases  */
502  #define FIRST_ARC_COMPONENT     0xffffffffbfca8000ULL  
503  #define ARC_PRIVATE_VECTORS     0xffffffffbfcb0000ULL          void                    (*setup)(struct machine *, struct cpu *);
504  #define ARC_PRIVATE_ENTRIES     0xffffffffbfcb8000ULL          void                    (*set_default_cpu)(struct machine *);
505            void                    (*set_default_ram)(struct machine *);
506    
507            /*  Machine subtypes:  */
508            int                     n_subtypes;
509            struct machine_entry_subtype **subtype;
510    };
511    
512    #define MACHINE_SETUP_TYPE(n)   void (*n)(struct machine *, struct cpu *)
513    #define MACHINE_SETUP(x)        void machine_setup_ ## x(struct machine *machine, \
514                                        struct cpu *cpu)
515    #define MACHINE_DEFAULT_CPU(x)  void machine_default_cpu_ ## x(struct machine *machine)
516    #define MACHINE_DEFAULT_RAM(x)  void machine_default_ram_ ## x(struct machine *machine)
517    #define MACHINE_REGISTER(x)     void machine_register_ ## x(void)
518    #define MR_DEFAULT(x,name,arch,type) struct machine_entry               \
519                *me = machine_entry_new(name,arch,type);                    \
520            me->setup = machine_setup_ ## x;                                \
521            me->set_default_cpu = machine_default_cpu_ ## x;                \
522            machine_entry_register(me, arch);
523    void automachine_init(void);
524    
525    
526  /*  machine.c:  */  /*  machine.c:  */
527  struct machine *machine_new(char *name, struct emul *emul);  struct machine *machine_new(char *name, struct emul *emul);
528    void machine_destroy(struct machine *machine);
529  int machine_name_to_type(char *stype, char *ssubtype,  int machine_name_to_type(char *stype, char *ssubtype,
530          int *type, int *subtype, int *arch);          int *type, int *subtype, int *arch);
531  void machine_add_tickfunction(struct machine *machine,  void machine_add_tickfunction(struct machine *machine,
532          void (*func)(struct cpu *, void *), void *extra, int clockshift);          void (*func)(struct cpu *, void *), void *extra,
533            int clockshift, double hz);
534    void machine_statistics_init(struct machine *, char *fname);
535    void machine_register(char *name, MACHINE_SETUP_TYPE(setup));
536  void dump_mem_string(struct cpu *cpu, uint64_t addr);  void dump_mem_string(struct cpu *cpu, uint64_t addr);
537  void store_string(struct cpu *cpu, uint64_t addr, char *s);  void store_string(struct cpu *cpu, uint64_t addr, char *s);
538  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);
# Line 448  void store_32bit_word_in_host(struct cpu Line 545  void store_32bit_word_in_host(struct cpu
545          uint64_t data32);          uint64_t data32);
546  void store_16bit_word_in_host(struct cpu *cpu, unsigned char *data,  void store_16bit_word_in_host(struct cpu *cpu, unsigned char *data,
547          uint16_t data16);          uint16_t data16);
548    uint64_t load_64bit_word(struct cpu *cpu, uint64_t addr);
549  uint32_t load_32bit_word(struct cpu *cpu, uint64_t addr);  uint32_t load_32bit_word(struct cpu *cpu, uint64_t addr);
550  uint16_t load_16bit_word(struct cpu *cpu, uint64_t addr);  uint16_t load_16bit_word(struct cpu *cpu, uint64_t addr);
551  void store_buf(struct cpu *cpu, uint64_t addr, char *s, size_t len);  void store_buf(struct cpu *cpu, uint64_t addr, char *s, size_t len);
552    void add_environment_string(struct cpu *cpu, char *s, uint64_t *addr);
553    void add_environment_string_dual(struct cpu *cpu,
554            uint64_t *ptrp, uint64_t *addrp, char *s1, char *s2);
555    void store_pointer_and_advance(struct cpu *cpu, uint64_t *addrp,
556            uint64_t data, int flag64);
557  void machine_setup(struct machine *);  void machine_setup(struct machine *);
558  void machine_memsize_fix(struct machine *);  void machine_memsize_fix(struct machine *);
559  void machine_default_cputype(struct machine *);  void machine_default_cputype(struct machine *);
560  void machine_dumpinfo(struct machine *);  void machine_dumpinfo(struct machine *);
561    void machine_bus_register(struct machine *, char *busname,
562            void (*debug_dump)(void *), void *extra);
563    int machine_run(struct machine *machine);
564  void machine_list_available_types_and_cpus(void);  void machine_list_available_types_and_cpus(void);
565    struct machine_entry *machine_entry_new(const char *name,
566            int arch, int oldstyle_type);
567    void machine_entry_add_alias(struct machine_entry *me, const char *name);
568    void machine_entry_add_subtype(struct machine_entry *me, const char *name,
569            int oldstyle_subtype, ...);
570    void machine_entry_register(struct machine_entry *me, int arch);
571  void machine_init(void);  void machine_init(void);
572    
573    

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

  ViewVC Help
Powered by ViewVC 1.1.26