28 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
29 |
* |
* |
30 |
* |
* |
31 |
* $Id: machine.h,v 1.67 2005/08/16 05:37:13 debug Exp $ |
* $Id: machine.h,v 1.86 2005/11/22 02:07:40 debug Exp $ |
32 |
*/ |
*/ |
33 |
|
|
34 |
#include <sys/types.h> |
#include <sys/types.h> |
36 |
|
|
37 |
#include "symbol.h" |
#include "symbol.h" |
38 |
|
|
39 |
#include "arcbios.h" |
#include "machine_arc.h" |
40 |
#include "machine_x86.h" |
#include "machine_x86.h" |
41 |
|
|
42 |
|
|
43 |
#define MAX_BREAKPOINTS 8 |
#define MAX_BREAKPOINTS 8 |
44 |
#define BREAKPOINT_FLAG_R 1 |
#define BREAKPOINT_FLAG_R 1 |
45 |
|
|
56 |
struct kn02_csr; |
struct kn02_csr; |
57 |
struct dec_ioasic_data; |
struct dec_ioasic_data; |
58 |
struct ps2_data; |
struct ps2_data; |
59 |
|
struct footbridge_data; |
60 |
struct dec5800_data; |
struct dec5800_data; |
61 |
struct au1x00_ic_data; |
struct au1x00_ic_data; |
62 |
struct malta_data; |
struct malta_data; |
68 |
struct sgi_ip22_data; |
struct sgi_ip22_data; |
69 |
struct sgi_ip30_data; |
struct sgi_ip30_data; |
70 |
struct isa_pic_data { |
struct isa_pic_data { |
71 |
struct pic8259_data *pic1; |
struct pic8259_data *pic1; |
72 |
struct pic8259_data *pic2; |
struct pic8259_data *pic2; |
73 |
|
int last_int; |
74 |
|
int native_irq; |
75 |
}; |
}; |
76 |
|
|
77 |
|
|
78 |
#define MACHINE_NAME_MAXBUF 200 |
#define MACHINE_NAME_MAXBUF 150 |
79 |
|
|
80 |
struct machine { |
struct machine { |
81 |
/* Pointer back to the emul struct we are in: */ |
/* Pointer back to the emul struct we are in: */ |
196 |
struct machine_pc pc; |
struct machine_pc pc; |
197 |
} md; |
} md; |
198 |
|
|
199 |
|
/* Bus-specific interrupt data: */ |
200 |
|
struct isa_pic_data isa_pic_data; |
201 |
|
|
202 |
/* Machine-dependent interrupt specific structs: */ |
/* Machine-dependent interrupt specific structs: */ |
203 |
union { |
union { |
204 |
struct kn230_csr *kn230_csr; |
struct kn230_csr *kn230_csr; |
210 |
struct vr41xx_data *vr41xx_data; |
struct vr41xx_data *vr41xx_data; |
211 |
struct jazz_data *jazz_data; |
struct jazz_data *jazz_data; |
212 |
struct malta_data *malta_data; |
struct malta_data *malta_data; |
|
struct isa_pic_data isa_pic_data; |
|
213 |
struct sgi_ip20_data *sgi_ip20_data; |
struct sgi_ip20_data *sgi_ip20_data; |
214 |
struct sgi_ip22_data *sgi_ip22_data; |
struct sgi_ip22_data *sgi_ip22_data; |
215 |
struct sgi_ip30_data *sgi_ip30_data; |
struct sgi_ip30_data *sgi_ip30_data; |
217 |
struct crime_data *crime_data; |
struct crime_data *crime_data; |
218 |
struct mace_data *mace_data; |
struct mace_data *mace_data; |
219 |
} ip32; |
} ip32; |
220 |
|
struct footbridge_data *footbridge_data; |
221 |
|
struct bebox_data *bebox_data; |
222 |
|
struct prep_data *prep_data; |
223 |
|
struct cpc700_data *cpc700_data; |
224 |
} md_int; |
} md_int; |
225 |
|
|
226 |
/* X11/framebuffer stuff: */ |
/* X11/framebuffer stuff: */ |
227 |
int use_x11; |
int use_x11; |
228 |
int x11_scaledown; |
int x11_scaledown; |
229 |
|
int x11_scaleup; |
230 |
int x11_n_display_names; |
int x11_n_display_names; |
231 |
char **x11_display_names; |
char **x11_display_names; |
232 |
int x11_current_display_name_nr; /* updated by x11.c */ |
int x11_current_display_name_nr; /* updated by x11.c */ |
249 |
#define ARCH_ARM 6 |
#define ARCH_ARM 6 |
250 |
#define ARCH_IA64 7 |
#define ARCH_IA64 7 |
251 |
#define ARCH_M68K 8 |
#define ARCH_M68K 8 |
252 |
|
#define ARCH_SH 9 |
253 |
|
#define ARCH_HPPA 10 |
254 |
|
#define ARCH_I960 11 |
255 |
|
#define ARCH_AVR 12 |
256 |
|
#define ARCH_NEWMIPS 13 |
257 |
|
|
258 |
/* MIPS: */ |
/* MIPS: */ |
259 |
#define MACHINE_BAREMIPS 1000 |
#define MACHINE_BAREMIPS 1000 |
269 |
#define MACHINE_SONYNEWS 1010 |
#define MACHINE_SONYNEWS 1010 |
270 |
#define MACHINE_EVBMIPS 1011 |
#define MACHINE_EVBMIPS 1011 |
271 |
#define MACHINE_PSP 1012 |
#define MACHINE_PSP 1012 |
272 |
|
#define MACHINE_ALGOR 1013 |
273 |
|
|
274 |
/* PPC: */ |
/* PPC: */ |
275 |
#define MACHINE_BAREPPC 2000 |
#define MACHINE_BAREPPC 2000 |
299 |
/* ARM: */ |
/* ARM: */ |
300 |
#define MACHINE_BAREARM 6000 |
#define MACHINE_BAREARM 6000 |
301 |
#define MACHINE_TESTARM 6001 |
#define MACHINE_TESTARM 6001 |
302 |
|
#define MACHINE_CATS 6002 |
303 |
|
#define MACHINE_HPCARM 6003 |
304 |
|
#define MACHINE_ZAURUS 6004 |
305 |
|
#define MACHINE_NETWINDER 6005 |
306 |
|
#define MACHINE_SHARK 6006 |
307 |
|
#define MACHINE_IQ80321 6007 |
308 |
|
#define MACHINE_IYONIX 6008 |
309 |
|
|
310 |
/* IA64: */ |
/* IA64: */ |
311 |
#define MACHINE_BAREIA64 7000 |
#define MACHINE_BAREIA64 7000 |
315 |
#define MACHINE_BAREM68K 8000 |
#define MACHINE_BAREM68K 8000 |
316 |
#define MACHINE_TESTM68K 8001 |
#define MACHINE_TESTM68K 8001 |
317 |
|
|
318 |
|
/* SH: */ |
319 |
|
#define MACHINE_BARESH 9000 |
320 |
|
#define MACHINE_TESTSH 9001 |
321 |
|
#define MACHINE_HPCSH 9002 |
322 |
|
|
323 |
|
/* HPPA: */ |
324 |
|
#define MACHINE_BAREHPPA 10000 |
325 |
|
#define MACHINE_TESTHPPA 10001 |
326 |
|
|
327 |
|
/* I960: */ |
328 |
|
#define MACHINE_BAREI960 11000 |
329 |
|
#define MACHINE_TESTI960 11001 |
330 |
|
|
331 |
|
/* AVR: */ |
332 |
|
#define MACHINE_BAREAVR 12000 |
333 |
|
|
334 |
|
/* NEWMIPS: */ |
335 |
|
#define MACHINE_BARENEWMIPS 13000 |
336 |
|
#define MACHINE_TESTNEWMIPS 13001 |
337 |
|
|
338 |
/* Other "pseudo"-machines: */ |
/* Other "pseudo"-machines: */ |
339 |
#define MACHINE_NONE 0 |
#define MACHINE_NONE 0 |
340 |
#define MACHINE_USERLAND 100000 |
#define MACHINE_USERLAND 100000 |
367 |
#define MACHINE_HPCMIPS_AGENDA_VR3 7 |
#define MACHINE_HPCMIPS_AGENDA_VR3 7 |
368 |
#define MACHINE_HPCMIPS_IBM_WORKPAD_Z50 8 |
#define MACHINE_HPCMIPS_IBM_WORKPAD_Z50 8 |
369 |
|
|
370 |
|
/* HPCarm: */ |
371 |
|
#define MACHINE_HPCARM_IPAQ 1 |
372 |
|
#define MACHINE_HPCARM_JORNADA720 2 |
373 |
|
|
374 |
|
/* HPCsh: */ |
375 |
|
#define MACHINE_HPCSH_JORNADA680 1 |
376 |
|
#define MACHINE_HPCSH_JORNADA690 2 |
377 |
|
|
378 |
/* Playstation 2: */ |
/* Playstation 2: */ |
379 |
#define PLAYSTATION2_BDA 0xffffffffa0001000ULL |
#define PLAYSTATION2_BDA 0xffffffffa0001000ULL |
380 |
#define PLAYSTATION2_OPTARGS 0xffffffff81fff100ULL |
#define PLAYSTATION2_OPTARGS 0xffffffff81fff100ULL |
390 |
#define MACHINE_ARC_JAZZ_M700 7 |
#define MACHINE_ARC_JAZZ_M700 7 |
391 |
#define MACHINE_ARC_NEC_R96 8 |
#define MACHINE_ARC_NEC_R96 8 |
392 |
|
|
393 |
|
/* Algor: */ |
394 |
|
#define MACHINE_ALGOR_P4032 4 |
395 |
|
#define MACHINE_ALGOR_P5064 5 |
396 |
|
|
397 |
/* EVBMIPS: */ |
/* EVBMIPS: */ |
398 |
#define MACHINE_EVBMIPS_MALTA 1 |
#define MACHINE_EVBMIPS_MALTA 1 |
399 |
#define MACHINE_EVBMIPS_MALTA_BE 2 |
#define MACHINE_EVBMIPS_MALTA_BE 2 |