blob: 0577f06baf8a5fad1582095e33a393196dc26101 [file] [log] [blame]
pbrook87ecb682007-11-17 17:14:51 +00001/* Declarations for use by board files for creating devices. */
2
3#ifndef HW_BOARDS_H
4#define HW_BOARDS_H
5
aurel3200f82b82008-04-27 21:12:55 +00006typedef void QEMUMachineInitFunc(ram_addr_t ram_size, int vga_ram_size,
aliguori3023f332009-01-16 19:04:14 +00007 const char *boot_device,
blueswir1b881c2c2007-11-18 08:46:58 +00008 const char *kernel_filename,
9 const char *kernel_cmdline,
10 const char *initrd_filename,
11 const char *cpu_model);
pbrook87ecb682007-11-17 17:14:51 +000012
13typedef struct QEMUMachine {
14 const char *name;
15 const char *desc;
16 QEMUMachineInitFunc *init;
balrog7fb4fdc2008-04-24 17:59:27 +000017#define RAMSIZE_FIXED (1 << 0)
aurel324fc5d072008-04-27 21:39:40 +000018 ram_addr_t ram_require;
blueswir1f88e4b92008-08-12 15:58:35 +000019 int nodisk_ok;
blueswir1c9b1ae22008-09-28 18:55:17 +000020 int use_scsi;
aliguorib2097002008-10-07 20:39:39 +000021 int max_cpus;
pbrook87ecb682007-11-17 17:14:51 +000022 struct QEMUMachine *next;
23} QEMUMachine;
24
25int qemu_register_machine(QEMUMachine *m);
aurel328dd3dca2008-05-04 13:11:44 +000026void register_machines(void);
pbrook87ecb682007-11-17 17:14:51 +000027
28/* Axis ETRAX. */
29extern QEMUMachine bareetraxfs_machine;
edgar_igl10c144e2009-01-07 12:19:50 +000030extern QEMUMachine axisdev88_machine;
pbrook87ecb682007-11-17 17:14:51 +000031
32/* pc.c */
33extern QEMUMachine pc_machine;
34extern QEMUMachine isapc_machine;
35
36/* ppc.c */
37extern QEMUMachine prep_machine;
38extern QEMUMachine core99_machine;
39extern QEMUMachine heathrow_machine;
40extern QEMUMachine ref405ep_machine;
41extern QEMUMachine taihu_machine;
aurel322c9fade2008-12-16 10:44:14 +000042extern QEMUMachine bamboo_machine;
pbrook87ecb682007-11-17 17:14:51 +000043
44/* mips_r4k.c */
45extern QEMUMachine mips_machine;
46
aurel324ce7ff62008-04-07 19:47:14 +000047/* mips_jazz.c */
48extern QEMUMachine mips_magnum_machine;
aurel32c1711482008-04-08 19:51:06 +000049extern QEMUMachine mips_pica61_machine;
aurel324ce7ff62008-04-07 19:47:14 +000050
pbrook87ecb682007-11-17 17:14:51 +000051/* mips_malta.c */
52extern QEMUMachine mips_malta_machine;
53
pbrook87ecb682007-11-17 17:14:51 +000054/* mips_mipssim.c */
55extern QEMUMachine mips_mipssim_machine;
56
57/* shix.c */
58extern QEMUMachine shix_machine;
59
60/* r2d.c */
61extern QEMUMachine r2d_machine;
62
63/* sun4m.c */
blueswir1ae409722007-12-10 20:00:11 +000064extern QEMUMachine ss5_machine, ss10_machine, ss600mp_machine, ss20_machine;
blueswir1a526a312008-03-05 18:27:45 +000065extern QEMUMachine voyager_machine, ss_lx_machine, ss4_machine, scls_machine;
66extern QEMUMachine sbook_machine;
blueswir1ee76f822007-12-28 20:59:23 +000067extern QEMUMachine ss2_machine;
blueswir17d858922007-12-28 20:57:43 +000068extern QEMUMachine ss1000_machine, ss2000_machine;
pbrook87ecb682007-11-17 17:14:51 +000069
70/* sun4u.c */
71extern QEMUMachine sun4u_machine;
blueswir1c7ba2182008-07-22 07:07:34 +000072extern QEMUMachine sun4v_machine;
blueswir1e87231d2008-09-26 19:48:58 +000073extern QEMUMachine niagara_machine;
pbrook87ecb682007-11-17 17:14:51 +000074
75/* integratorcp.c */
76extern QEMUMachine integratorcp_machine;
77
78/* versatilepb.c */
79extern QEMUMachine versatilepb_machine;
80extern QEMUMachine versatileab_machine;
81
82/* realview.c */
83extern QEMUMachine realview_machine;
84
85/* spitz.c */
86extern QEMUMachine akitapda_machine;
87extern QEMUMachine spitzpda_machine;
88extern QEMUMachine borzoipda_machine;
89extern QEMUMachine terrierpda_machine;
90
balrog997641a2008-12-15 02:05:00 +000091/* omap_sx1.c */
92extern QEMUMachine sx1_machine_v1;
93extern QEMUMachine sx1_machine_v2;
94
pbrook87ecb682007-11-17 17:14:51 +000095/* palm.c */
96extern QEMUMachine palmte_machine;
97
balrog7e7c5e42008-04-14 21:57:44 +000098/* nseries.c */
99extern QEMUMachine n800_machine;
balroge927bb02008-05-07 14:30:38 +0000100extern QEMUMachine n810_machine;
balrog7e7c5e42008-04-14 21:57:44 +0000101
pbrook87ecb682007-11-17 17:14:51 +0000102/* gumstix.c */
103extern QEMUMachine connex_machine;
balrog3e3f6752007-11-24 23:47:38 +0000104extern QEMUMachine verdex_machine;
pbrook87ecb682007-11-17 17:14:51 +0000105
106/* stellaris.c */
107extern QEMUMachine lm3s811evb_machine;
108extern QEMUMachine lm3s6965evb_machine;
109
110/* an5206.c */
111extern QEMUMachine an5206_machine;
112
113/* mcf5208.c */
114extern QEMUMachine mcf5208evb_machine;
115
116/* dummy_m68k.c */
117extern QEMUMachine dummy_m68k_machine;
118
balrogef056e42007-11-25 01:57:38 +0000119/* mainstone.c */
120extern QEMUMachine mainstone2_machine;
121
balrog24859b62008-04-24 19:21:53 +0000122/* musicpal.c */
123extern QEMUMachine musicpal_machine;
124
balrog89cdb6a2008-06-02 01:33:11 +0000125/* tosa.c */
126extern QEMUMachine tosapda_machine;
127
pbrook87ecb682007-11-17 17:14:51 +0000128#endif