pbrook | 87ecb68 | 2007-11-17 17:14:51 +0000 | [diff] [blame] | 1 | /* Declarations for use by board files for creating devices. */ |
| 2 | |
| 3 | #ifndef HW_BOARDS_H |
| 4 | #define HW_BOARDS_H |
| 5 | |
aurel32 | 0387544 | 2008-04-22 20:45:18 +0000 | [diff] [blame] | 6 | typedef void QEMUMachineInitFunc(int ram_size, int vga_ram_size, |
blueswir1 | b881c2c | 2007-11-18 08:46:58 +0000 | [diff] [blame] | 7 | const char *boot_device, DisplayState *ds, |
| 8 | const char *kernel_filename, |
| 9 | const char *kernel_cmdline, |
| 10 | const char *initrd_filename, |
| 11 | const char *cpu_model); |
pbrook | 87ecb68 | 2007-11-17 17:14:51 +0000 | [diff] [blame] | 12 | |
| 13 | typedef struct QEMUMachine { |
| 14 | const char *name; |
| 15 | const char *desc; |
| 16 | QEMUMachineInitFunc *init; |
balrog | 7fb4fdc | 2008-04-24 17:59:27 +0000 | [diff] [blame] | 17 | #define RAMSIZE_FIXED (1 << 0) |
| 18 | size_t ram_require; |
pbrook | 87ecb68 | 2007-11-17 17:14:51 +0000 | [diff] [blame] | 19 | struct QEMUMachine *next; |
| 20 | } QEMUMachine; |
| 21 | |
| 22 | int qemu_register_machine(QEMUMachine *m); |
| 23 | |
| 24 | /* Axis ETRAX. */ |
| 25 | extern QEMUMachine bareetraxfs_machine; |
| 26 | |
| 27 | /* pc.c */ |
| 28 | extern QEMUMachine pc_machine; |
| 29 | extern QEMUMachine isapc_machine; |
| 30 | |
| 31 | /* ppc.c */ |
| 32 | extern QEMUMachine prep_machine; |
| 33 | extern QEMUMachine core99_machine; |
| 34 | extern QEMUMachine heathrow_machine; |
| 35 | extern QEMUMachine ref405ep_machine; |
| 36 | extern QEMUMachine taihu_machine; |
| 37 | |
| 38 | /* mips_r4k.c */ |
| 39 | extern QEMUMachine mips_machine; |
| 40 | |
aurel32 | 4ce7ff6 | 2008-04-07 19:47:14 +0000 | [diff] [blame] | 41 | /* mips_jazz.c */ |
| 42 | extern QEMUMachine mips_magnum_machine; |
aurel32 | c171148 | 2008-04-08 19:51:06 +0000 | [diff] [blame] | 43 | extern QEMUMachine mips_pica61_machine; |
aurel32 | 4ce7ff6 | 2008-04-07 19:47:14 +0000 | [diff] [blame] | 44 | |
pbrook | 87ecb68 | 2007-11-17 17:14:51 +0000 | [diff] [blame] | 45 | /* mips_malta.c */ |
| 46 | extern QEMUMachine mips_malta_machine; |
| 47 | |
pbrook | 87ecb68 | 2007-11-17 17:14:51 +0000 | [diff] [blame] | 48 | /* mips_mipssim.c */ |
| 49 | extern QEMUMachine mips_mipssim_machine; |
| 50 | |
| 51 | /* shix.c */ |
| 52 | extern QEMUMachine shix_machine; |
| 53 | |
| 54 | /* r2d.c */ |
| 55 | extern QEMUMachine r2d_machine; |
| 56 | |
| 57 | /* sun4m.c */ |
blueswir1 | ae40972 | 2007-12-10 20:00:11 +0000 | [diff] [blame] | 58 | extern QEMUMachine ss5_machine, ss10_machine, ss600mp_machine, ss20_machine; |
blueswir1 | a526a31 | 2008-03-05 18:27:45 +0000 | [diff] [blame] | 59 | extern QEMUMachine voyager_machine, ss_lx_machine, ss4_machine, scls_machine; |
| 60 | extern QEMUMachine sbook_machine; |
blueswir1 | ee76f82 | 2007-12-28 20:59:23 +0000 | [diff] [blame] | 61 | extern QEMUMachine ss2_machine; |
blueswir1 | 7d85892 | 2007-12-28 20:57:43 +0000 | [diff] [blame] | 62 | extern QEMUMachine ss1000_machine, ss2000_machine; |
pbrook | 87ecb68 | 2007-11-17 17:14:51 +0000 | [diff] [blame] | 63 | |
| 64 | /* sun4u.c */ |
| 65 | extern QEMUMachine sun4u_machine; |
| 66 | |
| 67 | /* integratorcp.c */ |
| 68 | extern QEMUMachine integratorcp_machine; |
| 69 | |
| 70 | /* versatilepb.c */ |
| 71 | extern QEMUMachine versatilepb_machine; |
| 72 | extern QEMUMachine versatileab_machine; |
| 73 | |
| 74 | /* realview.c */ |
| 75 | extern QEMUMachine realview_machine; |
| 76 | |
| 77 | /* spitz.c */ |
| 78 | extern QEMUMachine akitapda_machine; |
| 79 | extern QEMUMachine spitzpda_machine; |
| 80 | extern QEMUMachine borzoipda_machine; |
| 81 | extern QEMUMachine terrierpda_machine; |
| 82 | |
| 83 | /* palm.c */ |
| 84 | extern QEMUMachine palmte_machine; |
| 85 | |
balrog | 7e7c5e4 | 2008-04-14 21:57:44 +0000 | [diff] [blame] | 86 | /* nseries.c */ |
| 87 | extern QEMUMachine n800_machine; |
| 88 | |
pbrook | 87ecb68 | 2007-11-17 17:14:51 +0000 | [diff] [blame] | 89 | /* gumstix.c */ |
| 90 | extern QEMUMachine connex_machine; |
balrog | 3e3f675 | 2007-11-24 23:47:38 +0000 | [diff] [blame] | 91 | extern QEMUMachine verdex_machine; |
pbrook | 87ecb68 | 2007-11-17 17:14:51 +0000 | [diff] [blame] | 92 | |
| 93 | /* stellaris.c */ |
| 94 | extern QEMUMachine lm3s811evb_machine; |
| 95 | extern QEMUMachine lm3s6965evb_machine; |
| 96 | |
| 97 | /* an5206.c */ |
| 98 | extern QEMUMachine an5206_machine; |
| 99 | |
| 100 | /* mcf5208.c */ |
| 101 | extern QEMUMachine mcf5208evb_machine; |
| 102 | |
| 103 | /* dummy_m68k.c */ |
| 104 | extern QEMUMachine dummy_m68k_machine; |
| 105 | |
balrog | ef056e4 | 2007-11-25 01:57:38 +0000 | [diff] [blame] | 106 | /* mainstone.c */ |
| 107 | extern QEMUMachine mainstone2_machine; |
| 108 | |
balrog | 24859b6 | 2008-04-24 19:21:53 +0000 | [diff] [blame^] | 109 | /* musicpal.c */ |
| 110 | extern QEMUMachine musicpal_machine; |
| 111 | |
pbrook | 87ecb68 | 2007-11-17 17:14:51 +0000 | [diff] [blame] | 112 | #endif |