|
1 /* Declarations for use by board files for creating devices. */ |
|
2 |
|
3 #ifndef HW_BOARDS_H |
|
4 #define HW_BOARDS_H |
|
5 |
|
6 typedef void QEMUMachineInitFunc(ram_addr_t ram_size, int vga_ram_size, |
|
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); |
|
12 |
|
13 typedef struct QEMUMachine { |
|
14 const char *name; |
|
15 const char *desc; |
|
16 QEMUMachineInitFunc *init; |
|
17 #define RAMSIZE_FIXED (1 << 0) |
|
18 ram_addr_t ram_require; |
|
19 int nodisk_ok; |
|
20 int use_scsi; |
|
21 int max_cpus; |
|
22 struct QEMUMachine *next; |
|
23 } QEMUMachine; |
|
24 |
|
25 int qemu_register_machine(QEMUMachine *m); |
|
26 void register_machines(void); |
|
27 |
|
28 /* Pseudo-machine for dynamic configuration. */ |
|
29 extern QEMUMachine devtree_machine; |
|
30 |
|
31 /* Axis ETRAX. */ |
|
32 extern QEMUMachine bareetraxfs_machine; |
|
33 |
|
34 /* pc.c */ |
|
35 extern QEMUMachine pc_machine; |
|
36 extern QEMUMachine isapc_machine; |
|
37 |
|
38 /* ppc.c */ |
|
39 extern QEMUMachine prep_machine; |
|
40 extern QEMUMachine core99_machine; |
|
41 extern QEMUMachine heathrow_machine; |
|
42 extern QEMUMachine ref405ep_machine; |
|
43 extern QEMUMachine taihu_machine; |
|
44 extern QEMUMachine bamboo_machine; |
|
45 |
|
46 /* dummy_ppc.c */ |
|
47 extern QEMUMachine dummy_ppc_machine; |
|
48 |
|
49 /* mips_r4k.c */ |
|
50 extern QEMUMachine mips_machine; |
|
51 |
|
52 /* mips_jazz.c */ |
|
53 extern QEMUMachine mips_magnum_machine; |
|
54 extern QEMUMachine mips_pica61_machine; |
|
55 |
|
56 /* mips_malta.c */ |
|
57 extern QEMUMachine mips_malta_machine; |
|
58 |
|
59 /* mips_mipssim.c */ |
|
60 extern QEMUMachine mips_mipssim_machine; |
|
61 |
|
62 /* shix.c */ |
|
63 extern QEMUMachine shix_machine; |
|
64 |
|
65 /* r2d.c */ |
|
66 extern QEMUMachine r2d_machine; |
|
67 |
|
68 /* sun4m.c */ |
|
69 extern QEMUMachine ss5_machine, ss10_machine, ss600mp_machine, ss20_machine; |
|
70 extern QEMUMachine voyager_machine, ss_lx_machine, ss4_machine, scls_machine; |
|
71 extern QEMUMachine sbook_machine; |
|
72 extern QEMUMachine ss2_machine; |
|
73 extern QEMUMachine ss1000_machine, ss2000_machine; |
|
74 |
|
75 /* sun4u.c */ |
|
76 extern QEMUMachine sun4u_machine; |
|
77 extern QEMUMachine sun4v_machine; |
|
78 extern QEMUMachine niagara_machine; |
|
79 |
|
80 /* integratorcp.c */ |
|
81 extern QEMUMachine integratorcp_machine; |
|
82 |
|
83 /* versatilepb.c */ |
|
84 extern QEMUMachine versatilepb_machine; |
|
85 extern QEMUMachine versatileab_machine; |
|
86 |
|
87 /* realview.c */ |
|
88 extern QEMUMachine realview_machine; |
|
89 |
|
90 /* spitz.c */ |
|
91 extern QEMUMachine akitapda_machine; |
|
92 extern QEMUMachine spitzpda_machine; |
|
93 extern QEMUMachine borzoipda_machine; |
|
94 extern QEMUMachine terrierpda_machine; |
|
95 |
|
96 /* omap_sx1.c */ |
|
97 extern QEMUMachine sx1_machine_v1; |
|
98 extern QEMUMachine sx1_machine_v2; |
|
99 |
|
100 /* palm.c */ |
|
101 extern QEMUMachine palmte_machine; |
|
102 |
|
103 /* nseries.c */ |
|
104 extern QEMUMachine n800_machine; |
|
105 extern QEMUMachine n810_machine; |
|
106 |
|
107 /* gumstix.c */ |
|
108 extern QEMUMachine connex_machine; |
|
109 extern QEMUMachine verdex_machine; |
|
110 |
|
111 /* stellaris.c */ |
|
112 extern QEMUMachine lm3s811evb_machine; |
|
113 extern QEMUMachine lm3s6965evb_machine; |
|
114 |
|
115 /* an5206.c */ |
|
116 extern QEMUMachine an5206_machine; |
|
117 |
|
118 /* mcf5208.c */ |
|
119 extern QEMUMachine mcf5208evb_machine; |
|
120 |
|
121 /* dummy_m68k.c */ |
|
122 extern QEMUMachine dummy_m68k_machine; |
|
123 |
|
124 /* mainstone.c */ |
|
125 extern QEMUMachine mainstone2_machine; |
|
126 |
|
127 /* musicpal.c */ |
|
128 extern QEMUMachine musicpal_machine; |
|
129 |
|
130 /* tosa.c */ |
|
131 extern QEMUMachine tosapda_machine; |
|
132 |
|
133 /* syborg.c */ |
|
134 extern QEMUMachine syborg_machine; |
|
135 extern QEMUMachine oldsyborg_machine; |
|
136 |
|
137 #endif |