--- trunk/src/include/machine.h 2007/10/08 16:20:40 30 +++ trunk/src/include/machine.h 2007/10/08 16:20:58 32 @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * - * $Id: machine.h,v 1.128 2006/08/14 17:45:47 debug Exp $ + * $Id: machine.h,v 1.136 2006/10/25 09:24:06 debug Exp $ */ #include @@ -55,6 +55,7 @@ struct fb_window; struct memory; struct of_data; +struct settings; /* Ugly: */ struct kn230_csr; @@ -72,11 +73,14 @@ 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 *pending_timer_interrupts; int last_int; + int native_irq; int native_secondary_irq; uint8_t secondary_mask1; @@ -97,6 +101,9 @@ /* Pointer back to the emul struct we are in: */ struct emul *emul; + /* Settings: */ + struct settings *settings; + /* Name as choosen by the user: */ char *name; @@ -211,7 +218,6 @@ uint64_t file_loaded_end_addr; char *boot_kernel_filename; char *boot_string_argument; - int automatic_clock_adjustment; int exit_without_entering_debugger; int n_gfx_cards; @@ -295,6 +301,8 @@ #define ARCH_I960 11 #define ARCH_AVR 12 #define ARCH_TRANSPUTER 13 +#define ARCH_RCA180X 14 +#define ARCH_AVR32 15 /* MIPS: */ #define MACHINE_BAREMIPS 1000 @@ -349,6 +357,7 @@ #define MACHINE_IQ80321 6007 #define MACHINE_IYONIX 6008 #define MACHINE_TS7200 6009 +#define MACHINE_QEMU_ARM 6010 /* IA64: */ #define MACHINE_BAREIA64 7000 @@ -380,6 +389,14 @@ /* TRANSPUTER: */ #define MACHINE_BARETRANSPUTER 13000 +/* ARCH_RCA180X: */ +#define MACHINE_BARE180X 14000 +#define MACHINE_CHIP8 14001 + +/* AVR32: */ +#define MACHINE_BAREAVR32 15000 +#define MACHINE_TESTAVR32 15001 + /* Other "pseudo"-machines: */ #define MACHINE_NONE 0 #define MACHINE_USERLAND 100000 @@ -508,6 +525,7 @@ /* machine.c: */ struct machine *machine_new(char *name, struct emul *emul); +void machine_destroy(struct machine *machine); int machine_name_to_type(char *stype, char *ssubtype, int *type, int *subtype, int *arch); void machine_add_tickfunction(struct machine *machine, @@ -527,6 +545,7 @@ uint64_t data32); void store_16bit_word_in_host(struct cpu *cpu, unsigned char *data, uint16_t data16); +uint64_t load_64bit_word(struct cpu *cpu, uint64_t addr); uint32_t load_32bit_word(struct cpu *cpu, uint64_t addr); uint16_t load_16bit_word(struct cpu *cpu, uint64_t addr); void store_buf(struct cpu *cpu, uint64_t addr, char *s, size_t len);