--- trunk/src/include/machine.h 2007/10/08 16:18:27 10 +++ trunk/src/include/machine.h 2007/10/08 16:19:23 20 @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * - * $Id: machine.h,v 1.58 2005/06/24 19:15:08 debug Exp $ + * $Id: machine.h,v 1.86 2005/11/22 02:07:40 debug Exp $ */ #include @@ -36,9 +36,10 @@ #include "symbol.h" -#include "arcbios.h" +#include "machine_arc.h" #include "machine_x86.h" + #define MAX_BREAKPOINTS 8 #define BREAKPOINT_FLAG_R 1 @@ -55,6 +56,7 @@ struct kn02_csr; struct dec_ioasic_data; struct ps2_data; +struct footbridge_data; struct dec5800_data; struct au1x00_ic_data; struct malta_data; @@ -65,8 +67,15 @@ struct sgi_ip20_data; struct sgi_ip22_data; struct sgi_ip30_data; +struct isa_pic_data { + struct pic8259_data *pic1; + struct pic8259_data *pic2; + int last_int; + int native_irq; +}; + -#define MACHINE_NAME_MAXBUF 200 +#define MACHINE_NAME_MAXBUF 150 struct machine { /* Pointer back to the emul struct we are in: */ @@ -138,6 +147,7 @@ int memory_offset_in_mb; int prom_emulation; int register_dump; + int arch_pagesize; int n_breakpoints; char *breakpoint_string[MAX_BREAKPOINTS]; @@ -154,6 +164,7 @@ int cache_secondary_linesize; int dbe_on_nonexistant_memaccess; + int dyntrans_alignment_check; int bintrans_enable; int old_bintrans_enable; int bintrans_enabled_from_start; @@ -185,6 +196,9 @@ struct machine_pc pc; } md; + /* Bus-specific interrupt data: */ + struct isa_pic_data isa_pic_data; + /* Machine-dependent interrupt specific structs: */ union { struct kn230_csr *kn230_csr; @@ -203,11 +217,16 @@ struct crime_data *crime_data; struct mace_data *mace_data; } ip32; + struct footbridge_data *footbridge_data; + struct bebox_data *bebox_data; + struct prep_data *prep_data; + struct cpc700_data *cpc700_data; } md_int; /* X11/framebuffer stuff: */ int use_x11; int x11_scaledown; + int x11_scaleup; int x11_n_display_names; char **x11_display_names; int x11_current_display_name_nr; /* updated by x11.c */ @@ -225,11 +244,16 @@ #define ARCH_MIPS 1 #define ARCH_PPC 2 #define ARCH_SPARC 3 -#define ARCH_URISC 4 -#define ARCH_HPPA 5 -#define ARCH_ALPHA 6 -#define ARCH_X86 7 -#define ARCH_ARM 8 +#define ARCH_ALPHA 4 +#define ARCH_X86 5 +#define ARCH_ARM 6 +#define ARCH_IA64 7 +#define ARCH_M68K 8 +#define ARCH_SH 9 +#define ARCH_HPPA 10 +#define ARCH_I960 11 +#define ARCH_AVR 12 +#define ARCH_NEWMIPS 13 /* MIPS: */ #define MACHINE_BAREMIPS 1000 @@ -245,6 +269,7 @@ #define MACHINE_SONYNEWS 1010 #define MACHINE_EVBMIPS 1011 #define MACHINE_PSP 1012 +#define MACHINE_ALGOR 1013 /* PPC: */ #define MACHINE_BAREPPC 2000 @@ -259,27 +284,56 @@ /* SPARC: */ #define MACHINE_BARESPARC 3000 -#define MACHINE_ULTRA1 3001 - -/* URISC: */ -#define MACHINE_BAREURISC 4000 -#define MACHINE_TESTURISC 4001 - -/* HPPA: */ -#define MACHINE_BAREHPPA 5000 -#define MACHINE_TESTHPPA 5001 +#define MACHINE_TESTSPARC 3001 +#define MACHINE_ULTRA1 3002 /* Alpha: */ -#define MACHINE_BAREALPHA 6000 -#define MACHINE_TESTALPHA 6001 +#define MACHINE_BAREALPHA 4000 +#define MACHINE_TESTALPHA 4001 +#define MACHINE_ALPHA 4002 /* X86: */ -#define MACHINE_BAREX86 7000 -#define MACHINE_X86 7001 +#define MACHINE_BAREX86 5000 +#define MACHINE_X86 5001 /* ARM: */ -#define MACHINE_BAREARM 8000 -#define MACHINE_TESTARM 8001 +#define MACHINE_BAREARM 6000 +#define MACHINE_TESTARM 6001 +#define MACHINE_CATS 6002 +#define MACHINE_HPCARM 6003 +#define MACHINE_ZAURUS 6004 +#define MACHINE_NETWINDER 6005 +#define MACHINE_SHARK 6006 +#define MACHINE_IQ80321 6007 +#define MACHINE_IYONIX 6008 + +/* IA64: */ +#define MACHINE_BAREIA64 7000 +#define MACHINE_TESTIA64 7001 + +/* M68K: */ +#define MACHINE_BAREM68K 8000 +#define MACHINE_TESTM68K 8001 + +/* SH: */ +#define MACHINE_BARESH 9000 +#define MACHINE_TESTSH 9001 +#define MACHINE_HPCSH 9002 + +/* HPPA: */ +#define MACHINE_BAREHPPA 10000 +#define MACHINE_TESTHPPA 10001 + +/* I960: */ +#define MACHINE_BAREI960 11000 +#define MACHINE_TESTI960 11001 + +/* AVR: */ +#define MACHINE_BAREAVR 12000 + +/* NEWMIPS: */ +#define MACHINE_BARENEWMIPS 13000 +#define MACHINE_TESTNEWMIPS 13001 /* Other "pseudo"-machines: */ #define MACHINE_NONE 0 @@ -313,6 +367,14 @@ #define MACHINE_HPCMIPS_AGENDA_VR3 7 #define MACHINE_HPCMIPS_IBM_WORKPAD_Z50 8 +/* HPCarm: */ +#define MACHINE_HPCARM_IPAQ 1 +#define MACHINE_HPCARM_JORNADA720 2 + +/* HPCsh: */ +#define MACHINE_HPCSH_JORNADA680 1 +#define MACHINE_HPCSH_JORNADA690 2 + /* Playstation 2: */ #define PLAYSTATION2_BDA 0xffffffffa0001000ULL #define PLAYSTATION2_OPTARGS 0xffffffff81fff100ULL @@ -328,9 +390,14 @@ #define MACHINE_ARC_JAZZ_M700 7 #define MACHINE_ARC_NEC_R96 8 +/* Algor: */ +#define MACHINE_ALGOR_P4032 4 +#define MACHINE_ALGOR_P5064 5 + /* EVBMIPS: */ #define MACHINE_EVBMIPS_MALTA 1 -#define MACHINE_EVBMIPS_PB1000 2 +#define MACHINE_EVBMIPS_MALTA_BE 2 +#define MACHINE_EVBMIPS_PB1000 3 /* MacPPC: TODO: Real model names */ #define MACHINE_MACPPC_G4 1