File: | hw/i386/../pc_piix.c |
Location: | line 193, column 19 |
Description: | Pass-by-value argument in function call is undefined |
1 | /* | ||
2 | * QEMU PC System Emulator | ||
3 | * | ||
4 | * Copyright (c) 2003-2004 Fabrice Bellard | ||
5 | * | ||
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy | ||
7 | * of this software and associated documentation files (the "Software"), to deal | ||
8 | * in the Software without restriction, including without limitation the rights | ||
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
10 | * copies of the Software, and to permit persons to whom the Software is | ||
11 | * furnished to do so, subject to the following conditions: | ||
12 | * | ||
13 | * The above copyright notice and this permission notice shall be included in | ||
14 | * all copies or substantial portions of the Software. | ||
15 | * | ||
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
19 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
22 | * THE SOFTWARE. | ||
23 | */ | ||
24 | |||
25 | #include <glib.h> | ||
26 | |||
27 | #include "hw.h" | ||
28 | #include "pc.h" | ||
29 | #include "apic.h" | ||
30 | #include "pci.h" | ||
31 | #include "pci_ids.h" | ||
32 | #include "usb.h" | ||
33 | #include "net.h" | ||
34 | #include "boards.h" | ||
35 | #include "ide.h" | ||
36 | #include "kvm.h" | ||
37 | #include "kvm/clock.h" | ||
38 | #include "sysemu.h" | ||
39 | #include "sysbus.h" | ||
40 | #include "arch_init.h" | ||
41 | #include "blockdev.h" | ||
42 | #include "smbus.h" | ||
43 | #include "xen.h" | ||
44 | #include "memory.h" | ||
45 | #include "exec-memory.h" | ||
46 | #ifdef CONFIG_XEN | ||
47 | # include <xen/hvm/hvm_info_table.h> | ||
48 | #endif | ||
49 | |||
50 | #define MAX_IDE_BUS2 2 | ||
51 | |||
52 | static const int ide_iobase[MAX_IDE_BUS2] = { 0x1f0, 0x170 }; | ||
53 | static const int ide_iobase2[MAX_IDE_BUS2] = { 0x3f6, 0x376 }; | ||
54 | static const int ide_irq[MAX_IDE_BUS2] = { 14, 15 }; | ||
55 | |||
56 | static void kvm_piix3_setup_irq_routing(bool_Bool pci_enabled) | ||
57 | { | ||
58 | #ifdef CONFIG_KVM1 | ||
59 | KVMState *s = kvm_state; | ||
60 | int i; | ||
61 | |||
62 | if (kvm_check_extension(s, KVM_CAP_IRQ_ROUTING25)) { | ||
63 | for (i = 0; i < 8; ++i) { | ||
64 | if (i == 2) { | ||
65 | continue; | ||
66 | } | ||
67 | kvm_irqchip_add_irq_route(s, i, KVM_IRQCHIP_PIC_MASTER0, i); | ||
68 | } | ||
69 | for (i = 8; i < 16; ++i) { | ||
70 | kvm_irqchip_add_irq_route(s, i, KVM_IRQCHIP_PIC_SLAVE1, i - 8); | ||
71 | } | ||
72 | if (pci_enabled) { | ||
73 | for (i = 0; i < 24; ++i) { | ||
74 | if (i == 0) { | ||
75 | kvm_irqchip_add_irq_route(s, i, KVM_IRQCHIP_IOAPIC2, 2); | ||
76 | } else if (i != 2) { | ||
77 | kvm_irqchip_add_irq_route(s, i, KVM_IRQCHIP_IOAPIC2, i); | ||
78 | } | ||
79 | } | ||
80 | } | ||
81 | } | ||
82 | #endif /* CONFIG_KVM */ | ||
83 | } | ||
84 | |||
85 | static void kvm_piix3_gsi_handler(void *opaque, int n, int level) | ||
86 | { | ||
87 | GSIState *s = opaque; | ||
88 | |||
89 | if (n < ISA_NUM_IRQS16) { | ||
90 | /* Kernel will forward to both PIC and IOAPIC */ | ||
91 | qemu_set_irq(s->i8259_irq[n], level); | ||
92 | } else { | ||
93 | qemu_set_irq(s->ioapic_irq[n], level); | ||
94 | } | ||
95 | } | ||
96 | |||
97 | static void ioapic_init(GSIState *gsi_state) | ||
98 | { | ||
99 | DeviceState *dev; | ||
100 | SysBusDevice *d; | ||
101 | unsigned int i; | ||
102 | |||
103 | if (kvm_irqchip_in_kernel()(kvm_kernel_irqchip)) { | ||
104 | dev = qdev_create(NULL((void *)0), "kvm-ioapic"); | ||
105 | } else { | ||
106 | dev = qdev_create(NULL((void *)0), "ioapic"); | ||
107 | } | ||
108 | /* FIXME: this should be under the piix3. */ | ||
109 | object_property_add_child(object_resolve_path("i440fx", NULL((void *)0)), | ||
110 | "ioapic", OBJECT(dev)((Object *)(dev)), NULL((void *)0)); | ||
111 | qdev_init_nofail(dev); | ||
112 | d = sysbus_from_qdev(dev)((SysBusDevice *)(dev)); | ||
113 | sysbus_mmio_map(d, 0, 0xfec00000); | ||
114 | |||
115 | for (i = 0; i < IOAPIC_NUM_PINS24; i++) { | ||
116 | gsi_state->ioapic_irq[i] = qdev_get_gpio_in(dev, i); | ||
117 | } | ||
118 | } | ||
119 | |||
120 | /* PC hardware initialisation */ | ||
121 | static void pc_init1(MemoryRegion *system_memory, | ||
122 | MemoryRegion *system_io, | ||
123 | ram_addr_t ram_size, | ||
124 | const char *boot_device, | ||
125 | const char *kernel_filename, | ||
126 | const char *kernel_cmdline, | ||
127 | const char *initrd_filename, | ||
128 | const char *cpu_model, | ||
129 | int pci_enabled, | ||
130 | int kvmclock_enabled) | ||
131 | { | ||
132 | int i; | ||
133 | ram_addr_t below_4g_mem_size, above_4g_mem_size; | ||
134 | PCIBus *pci_bus; | ||
135 | ISABus *isa_bus; | ||
136 | PCII440FXState *i440fx_state; | ||
137 | int piix3_devfn = -1; | ||
138 | qemu_irq *cpu_irq; | ||
139 | qemu_irq *gsi; | ||
140 | qemu_irq *i8259; | ||
141 | qemu_irq *smi_irq; | ||
142 | GSIState *gsi_state; | ||
143 | DriveInfo *hd[MAX_IDE_BUS2 * MAX_IDE_DEVS2]; | ||
144 | BusState *idebus[MAX_IDE_BUS2]; | ||
145 | ISADevice *rtc_state; | ||
146 | ISADevice *floppy; | ||
147 | MemoryRegion *ram_memory; | ||
| |||
148 | MemoryRegion *pci_memory; | ||
149 | MemoryRegion *rom_memory; | ||
150 | void *fw_cfg = NULL((void *)0); | ||
151 | |||
152 | pc_cpus_init(cpu_model); | ||
153 | |||
154 | if (kvmclock_enabled) { | ||
| |||
155 | kvmclock_create(); | ||
156 | } | ||
157 | |||
158 | if (ram_size >= 0xe0000000 ) { | ||
| |||
159 | above_4g_mem_size = ram_size - 0xe0000000; | ||
160 | below_4g_mem_size = 0xe0000000; | ||
161 | } else { | ||
162 | above_4g_mem_size = 0; | ||
163 | below_4g_mem_size = ram_size; | ||
164 | } | ||
165 | |||
166 | if (pci_enabled) { | ||
| |||
167 | pci_memory = g_new(MemoryRegion, 1)((MemoryRegion *) g_malloc_n ((1), sizeof (MemoryRegion))); | ||
168 | memory_region_init(pci_memory, "pci", INT64_MAX(9223372036854775807L)); | ||
169 | rom_memory = pci_memory; | ||
170 | } else { | ||
171 | pci_memory = NULL((void *)0); | ||
172 | rom_memory = system_memory; | ||
173 | } | ||
174 | |||
175 | /* allocate ram and load rom/bios */ | ||
176 | if (!xen_enabled()) { | ||
| |||
177 | fw_cfg = pc_memory_init(system_memory, | ||
178 | kernel_filename, kernel_cmdline, initrd_filename, | ||
179 | below_4g_mem_size, above_4g_mem_size, | ||
180 | pci_enabled ? rom_memory : system_memory, &ram_memory); | ||
181 | } | ||
182 | |||
183 | gsi_state = g_malloc0(sizeof(*gsi_state)); | ||
184 | if (kvm_irqchip_in_kernel()(kvm_kernel_irqchip)) { | ||
| |||
185 | kvm_piix3_setup_irq_routing(pci_enabled); | ||
186 | gsi = qemu_allocate_irqs(kvm_piix3_gsi_handler, gsi_state, | ||
187 | GSI_NUM_PINS24); | ||
188 | } else { | ||
189 | gsi = qemu_allocate_irqs(gsi_handler, gsi_state, GSI_NUM_PINS24); | ||
190 | } | ||
191 | |||
192 | if (pci_enabled) { | ||
| |||
193 | pci_bus = i440fx_init(&i440fx_state, &piix3_devfn, &isa_bus, gsi, | ||
| |||
194 | system_memory, system_io, ram_size, | ||
195 | below_4g_mem_size, | ||
196 | 0x100000000ULL - below_4g_mem_size, | ||
197 | 0x100000000ULL + above_4g_mem_size, | ||
198 | (sizeof(target_phys_addr_t) == 4 | ||
| |||
199 | ? 0 | ||
200 | : ((uint64_t)1 << 62)), | ||
201 | pci_memory, ram_memory); | ||
202 | } else { | ||
203 | pci_bus = NULL((void *)0); | ||
204 | i440fx_state = NULL((void *)0); | ||
205 | isa_bus = isa_bus_new(NULL((void *)0), system_io); | ||
206 | no_hpet = 1; | ||
207 | } | ||
208 | isa_bus_irqs(isa_bus, gsi); | ||
209 | |||
210 | if (kvm_irqchip_in_kernel()(kvm_kernel_irqchip)) { | ||
211 | i8259 = kvm_i8259_init(isa_bus); | ||
212 | } else if (xen_enabled()) { | ||
213 | i8259 = xen_interrupt_controller_init(); | ||
214 | } else { | ||
215 | cpu_irq = pc_allocate_cpu_irq(); | ||
216 | i8259 = i8259_init(isa_bus, cpu_irq[0]); | ||
217 | } | ||
218 | |||
219 | for (i = 0; i < ISA_NUM_IRQS16; i++) { | ||
220 | gsi_state->i8259_irq[i] = i8259[i]; | ||
221 | } | ||
222 | if (pci_enabled) { | ||
223 | ioapic_init(gsi_state); | ||
224 | } | ||
225 | |||
226 | pc_register_ferr_irq(gsi[13]); | ||
227 | |||
228 | pc_vga_init(isa_bus, pci_enabled ? pci_bus : NULL((void *)0)); | ||
229 | if (xen_enabled()) { | ||
230 | pci_create_simple(pci_bus, -1, "xen-platform"); | ||
231 | } | ||
232 | |||
233 | /* init basic PC hardware */ | ||
234 | pc_basic_device_init(isa_bus, gsi, &rtc_state, &floppy, xen_enabled()); | ||
235 | |||
236 | for(i = 0; i < nb_nics; i++) { | ||
237 | NICInfo *nd = &nd_table[i]; | ||
238 | |||
239 | if (!pci_enabled || (nd->model && strcmp(nd->model, "ne2k_isa") == 0)) | ||
240 | pc_init_ne2k_isa(isa_bus, nd); | ||
241 | else | ||
242 | pci_nic_init_nofail(nd, "e1000", NULL((void *)0)); | ||
243 | } | ||
244 | |||
245 | ide_drive_get(hd, MAX_IDE_BUS2); | ||
246 | if (pci_enabled) { | ||
247 | PCIDevice *dev; | ||
248 | if (xen_enabled()) { | ||
249 | dev = pci_piix3_xen_ide_init(pci_bus, hd, piix3_devfn + 1); | ||
250 | } else { | ||
251 | dev = pci_piix3_ide_init(pci_bus, hd, piix3_devfn + 1); | ||
252 | } | ||
253 | idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0"); | ||
254 | idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1"); | ||
255 | } else { | ||
256 | for(i = 0; i < MAX_IDE_BUS2; i++) { | ||
257 | ISADevice *dev; | ||
258 | dev = isa_ide_init(isa_bus, ide_iobase[i], ide_iobase2[i], | ||
259 | ide_irq[i], | ||
260 | hd[MAX_IDE_DEVS2 * i], hd[MAX_IDE_DEVS2 * i + 1]); | ||
261 | idebus[i] = qdev_get_child_bus(&dev->qdev, "ide.0"); | ||
262 | } | ||
263 | } | ||
264 | |||
265 | audio_init(isa_bus, pci_enabled ? pci_bus : NULL((void *)0)); | ||
266 | |||
267 | pc_cmos_init(below_4g_mem_size, above_4g_mem_size, boot_device, | ||
268 | floppy, idebus[0], idebus[1], rtc_state); | ||
269 | |||
270 | if (pci_enabled && usb_enabled) { | ||
271 | pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci"); | ||
272 | } | ||
273 | |||
274 | if (pci_enabled && acpi_enabled) { | ||
275 | i2c_bus *smbus; | ||
276 | |||
277 | smi_irq = qemu_allocate_irqs(pc_acpi_smi_interrupt, first_cpu, 1); | ||
278 | /* TODO: Populate SPD eeprom data. */ | ||
279 | smbus = piix4_pm_init(pci_bus, piix3_devfn + 3, 0xb100, | ||
280 | gsi[9], *smi_irq, | ||
281 | kvm_enabled()(kvm_allowed), fw_cfg); | ||
282 | smbus_eeprom_init(smbus, 8, NULL((void *)0), 0); | ||
283 | } | ||
284 | |||
285 | if (pci_enabled) { | ||
286 | pc_pci_device_init(pci_bus); | ||
287 | } | ||
288 | } | ||
289 | |||
290 | static void pc_init_pci(ram_addr_t ram_size, | ||
291 | const char *boot_device, | ||
292 | const char *kernel_filename, | ||
293 | const char *kernel_cmdline, | ||
294 | const char *initrd_filename, | ||
295 | const char *cpu_model) | ||
296 | { | ||
297 | pc_init1(get_system_memory(), | ||
298 | get_system_io(), | ||
299 | ram_size, boot_device, | ||
300 | kernel_filename, kernel_cmdline, | ||
301 | initrd_filename, cpu_model, 1, 1); | ||
302 | } | ||
303 | |||
304 | static void pc_init_pci_no_kvmclock(ram_addr_t ram_size, | ||
305 | const char *boot_device, | ||
306 | const char *kernel_filename, | ||
307 | const char *kernel_cmdline, | ||
308 | const char *initrd_filename, | ||
309 | const char *cpu_model) | ||
310 | { | ||
311 | pc_init1(get_system_memory(), | ||
312 | get_system_io(), | ||
313 | ram_size, boot_device, | ||
314 | kernel_filename, kernel_cmdline, | ||
315 | initrd_filename, cpu_model, 1, 0); | ||
316 | } | ||
317 | |||
318 | static void pc_init_isa(ram_addr_t ram_size, | ||
319 | const char *boot_device, | ||
320 | const char *kernel_filename, | ||
321 | const char *kernel_cmdline, | ||
322 | const char *initrd_filename, | ||
323 | const char *cpu_model) | ||
324 | { | ||
325 | if (cpu_model == NULL((void *)0)) | ||
326 | cpu_model = "486"; | ||
327 | pc_init1(get_system_memory(), | ||
328 | get_system_io(), | ||
329 | ram_size, boot_device, | ||
330 | kernel_filename, kernel_cmdline, | ||
331 | initrd_filename, cpu_model, 0, 1); | ||
332 | } | ||
333 | |||
334 | #ifdef CONFIG_XEN | ||
335 | static void pc_xen_hvm_init(ram_addr_t ram_size, | ||
336 | const char *boot_device, | ||
337 | const char *kernel_filename, | ||
338 | const char *kernel_cmdline, | ||
339 | const char *initrd_filename, | ||
340 | const char *cpu_model) | ||
341 | { | ||
342 | if (xen_hvm_init() != 0) { | ||
343 | hw_error("xen hardware virtual machine initialisation failed"); | ||
344 | } | ||
345 | pc_init_pci_no_kvmclock(ram_size, boot_device, | ||
346 | kernel_filename, kernel_cmdline, | ||
347 | initrd_filename, cpu_model); | ||
348 | xen_vcpu_init(); | ||
349 | } | ||
350 | #endif | ||
351 | |||
352 | static QEMUMachine pc_machine_v1_2 = { | ||
353 | .name = "pc-1.2", | ||
354 | .alias = "pc", | ||
355 | .desc = "Standard PC", | ||
356 | .init = pc_init_pci, | ||
357 | .max_cpus = 255, | ||
358 | .is_default = 1, | ||
359 | }; | ||
360 | |||
361 | #define PC_COMPAT_1_1{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", } \ | ||
362 | {\ | ||
363 | .driver = "VGA",\ | ||
364 | .property = "vgamem_mb",\ | ||
365 | .value = stringify(8)"8",\ | ||
366 | },{\ | ||
367 | .driver = "vmware-svga",\ | ||
368 | .property = "vgamem_mb",\ | ||
369 | .value = stringify(8)"8",\ | ||
370 | },{\ | ||
371 | .driver = "qxl-vga",\ | ||
372 | .property = "vgamem_mb",\ | ||
373 | .value = stringify(8)"8",\ | ||
374 | },{\ | ||
375 | .driver = "qxl",\ | ||
376 | .property = "vgamem_mb",\ | ||
377 | .value = stringify(8)"8",\ | ||
378 | } | ||
379 | |||
380 | static QEMUMachine pc_machine_v1_1 = { | ||
381 | .name = "pc-1.1", | ||
382 | .desc = "Standard PC", | ||
383 | .init = pc_init_pci, | ||
384 | .max_cpus = 255, | ||
385 | .compat_props = (GlobalProperty[]) { | ||
386 | PC_COMPAT_1_1{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, | ||
387 | { /* end of list */ } | ||
388 | }, | ||
389 | }; | ||
390 | |||
391 | #define PC_COMPAT_1_0{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", } \ | ||
392 | PC_COMPAT_1_1{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", },\ | ||
393 | {\ | ||
394 | .driver = "pc-sysfw",\ | ||
395 | .property = "rom_only",\ | ||
396 | .value = stringify(1)"1",\ | ||
397 | }, {\ | ||
398 | .driver = "isa-fdc",\ | ||
399 | .property = "check_media_rate",\ | ||
400 | .value = "off",\ | ||
401 | }, {\ | ||
402 | .driver = "virtio-balloon-pci",\ | ||
403 | .property = "class",\ | ||
404 | .value = stringify(PCI_CLASS_MEMORY_RAM)"0x0500",\ | ||
405 | },{\ | ||
406 | .driver = "apic",\ | ||
407 | .property = "vapic",\ | ||
408 | .value = "off",\ | ||
409 | },{\ | ||
410 | .driver = TYPE_USB_DEVICE"usb-device",\ | ||
411 | .property = "full-path",\ | ||
412 | .value = "no",\ | ||
413 | } | ||
414 | |||
415 | static QEMUMachine pc_machine_v1_0 = { | ||
416 | .name = "pc-1.0", | ||
417 | .desc = "Standard PC", | ||
418 | .init = pc_init_pci, | ||
419 | .max_cpus = 255, | ||
420 | .compat_props = (GlobalProperty[]) { | ||
421 | PC_COMPAT_1_0{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, | ||
422 | { /* end of list */ } | ||
423 | }, | ||
424 | .hw_version = "1.0", | ||
425 | }; | ||
426 | |||
427 | #define PC_COMPAT_0_15{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", } \ | ||
428 | PC_COMPAT_1_0{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", } | ||
429 | |||
430 | static QEMUMachine pc_machine_v0_15 = { | ||
431 | .name = "pc-0.15", | ||
432 | .desc = "Standard PC", | ||
433 | .init = pc_init_pci, | ||
434 | .max_cpus = 255, | ||
435 | .compat_props = (GlobalProperty[]) { | ||
436 | PC_COMPAT_0_15{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, | ||
437 | { /* end of list */ } | ||
438 | }, | ||
439 | .hw_version = "0.15", | ||
440 | }; | ||
441 | |||
442 | #define PC_COMPAT_0_14{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", } \ | ||
443 | PC_COMPAT_0_15{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", },\ | ||
444 | {\ | ||
445 | .driver = "virtio-blk-pci",\ | ||
446 | .property = "event_idx",\ | ||
447 | .value = "off",\ | ||
448 | },{\ | ||
449 | .driver = "virtio-serial-pci",\ | ||
450 | .property = "event_idx",\ | ||
451 | .value = "off",\ | ||
452 | },{\ | ||
453 | .driver = "virtio-net-pci",\ | ||
454 | .property = "event_idx",\ | ||
455 | .value = "off",\ | ||
456 | },{\ | ||
457 | .driver = "virtio-balloon-pci",\ | ||
458 | .property = "event_idx",\ | ||
459 | .value = "off",\ | ||
460 | } | ||
461 | |||
462 | static QEMUMachine pc_machine_v0_14 = { | ||
463 | .name = "pc-0.14", | ||
464 | .desc = "Standard PC", | ||
465 | .init = pc_init_pci, | ||
466 | .max_cpus = 255, | ||
467 | .compat_props = (GlobalProperty[]) { | ||
468 | PC_COMPAT_0_14{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, | ||
469 | { | ||
470 | .driver = "qxl", | ||
471 | .property = "revision", | ||
472 | .value = stringify(2)"2", | ||
473 | },{ | ||
474 | .driver = "qxl-vga", | ||
475 | .property = "revision", | ||
476 | .value = stringify(2)"2", | ||
477 | }, | ||
478 | { /* end of list */ } | ||
479 | }, | ||
480 | .hw_version = "0.14", | ||
481 | }; | ||
482 | |||
483 | #define PC_COMPAT_0_13{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, { .driver = "pci-device" , .property = "command_serr_enable", .value = "off", },{ .driver = "AC97", .property = "use_broken_id", .value = "1", } \ | ||
484 | PC_COMPAT_0_14{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", },\ | ||
485 | {\ | ||
486 | .driver = TYPE_PCI_DEVICE"pci-device",\ | ||
487 | .property = "command_serr_enable",\ | ||
488 | .value = "off",\ | ||
489 | },{\ | ||
490 | .driver = "AC97",\ | ||
491 | .property = "use_broken_id",\ | ||
492 | .value = stringify(1)"1",\ | ||
493 | } | ||
494 | |||
495 | static QEMUMachine pc_machine_v0_13 = { | ||
496 | .name = "pc-0.13", | ||
497 | .desc = "Standard PC", | ||
498 | .init = pc_init_pci_no_kvmclock, | ||
499 | .max_cpus = 255, | ||
500 | .compat_props = (GlobalProperty[]) { | ||
501 | PC_COMPAT_0_13{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, { .driver = "pci-device" , .property = "command_serr_enable", .value = "off", },{ .driver = "AC97", .property = "use_broken_id", .value = "1", }, | ||
502 | { | ||
503 | .driver = "virtio-9p-pci", | ||
504 | .property = "vectors", | ||
505 | .value = stringify(0)"0", | ||
506 | },{ | ||
507 | .driver = "VGA", | ||
508 | .property = "rombar", | ||
509 | .value = stringify(0)"0", | ||
510 | },{ | ||
511 | .driver = "vmware-svga", | ||
512 | .property = "rombar", | ||
513 | .value = stringify(0)"0", | ||
514 | }, | ||
515 | { /* end of list */ } | ||
516 | }, | ||
517 | .hw_version = "0.13", | ||
518 | }; | ||
519 | |||
520 | #define PC_COMPAT_0_12{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, { .driver = "pci-device" , .property = "command_serr_enable", .value = "off", },{ .driver = "AC97", .property = "use_broken_id", .value = "1", }, { .driver = "virtio-serial-pci", .property = "max_ports", .value = "1" , },{ .driver = "virtio-serial-pci", .property = "vectors", . value = "0", } \ | ||
521 | PC_COMPAT_0_13{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, { .driver = "pci-device" , .property = "command_serr_enable", .value = "off", },{ .driver = "AC97", .property = "use_broken_id", .value = "1", },\ | ||
522 | {\ | ||
523 | .driver = "virtio-serial-pci",\ | ||
524 | .property = "max_ports",\ | ||
525 | .value = stringify(1)"1",\ | ||
526 | },{\ | ||
527 | .driver = "virtio-serial-pci",\ | ||
528 | .property = "vectors",\ | ||
529 | .value = stringify(0)"0",\ | ||
530 | } | ||
531 | |||
532 | static QEMUMachine pc_machine_v0_12 = { | ||
533 | .name = "pc-0.12", | ||
534 | .desc = "Standard PC", | ||
535 | .init = pc_init_pci_no_kvmclock, | ||
536 | .max_cpus = 255, | ||
537 | .compat_props = (GlobalProperty[]) { | ||
538 | PC_COMPAT_0_12{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, { .driver = "pci-device" , .property = "command_serr_enable", .value = "off", },{ .driver = "AC97", .property = "use_broken_id", .value = "1", }, { .driver = "virtio-serial-pci", .property = "max_ports", .value = "1" , },{ .driver = "virtio-serial-pci", .property = "vectors", . value = "0", }, | ||
539 | { | ||
540 | .driver = "VGA", | ||
541 | .property = "rombar", | ||
542 | .value = stringify(0)"0", | ||
543 | },{ | ||
544 | .driver = "vmware-svga", | ||
545 | .property = "rombar", | ||
546 | .value = stringify(0)"0", | ||
547 | }, | ||
548 | { /* end of list */ } | ||
549 | }, | ||
550 | .hw_version = "0.12", | ||
551 | }; | ||
552 | |||
553 | #define PC_COMPAT_0_11{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, { .driver = "pci-device" , .property = "command_serr_enable", .value = "off", },{ .driver = "AC97", .property = "use_broken_id", .value = "1", }, { .driver = "virtio-serial-pci", .property = "max_ports", .value = "1" , },{ .driver = "virtio-serial-pci", .property = "vectors", . value = "0", }, { .driver = "virtio-blk-pci", .property = "vectors" , .value = "0", },{ .driver = "pci-device", .property = "rombar" , .value = "0", } \ | ||
554 | PC_COMPAT_0_12{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, { .driver = "pci-device" , .property = "command_serr_enable", .value = "off", },{ .driver = "AC97", .property = "use_broken_id", .value = "1", }, { .driver = "virtio-serial-pci", .property = "max_ports", .value = "1" , },{ .driver = "virtio-serial-pci", .property = "vectors", . value = "0", },\ | ||
555 | {\ | ||
556 | .driver = "virtio-blk-pci",\ | ||
557 | .property = "vectors",\ | ||
558 | .value = stringify(0)"0",\ | ||
559 | },{\ | ||
560 | .driver = TYPE_PCI_DEVICE"pci-device",\ | ||
561 | .property = "rombar",\ | ||
562 | .value = stringify(0)"0",\ | ||
563 | } | ||
564 | |||
565 | static QEMUMachine pc_machine_v0_11 = { | ||
566 | .name = "pc-0.11", | ||
567 | .desc = "Standard PC, qemu 0.11", | ||
568 | .init = pc_init_pci_no_kvmclock, | ||
569 | .max_cpus = 255, | ||
570 | .compat_props = (GlobalProperty[]) { | ||
571 | PC_COMPAT_0_11{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, { .driver = "pci-device" , .property = "command_serr_enable", .value = "off", },{ .driver = "AC97", .property = "use_broken_id", .value = "1", }, { .driver = "virtio-serial-pci", .property = "max_ports", .value = "1" , },{ .driver = "virtio-serial-pci", .property = "vectors", . value = "0", }, { .driver = "virtio-blk-pci", .property = "vectors" , .value = "0", },{ .driver = "pci-device", .property = "rombar" , .value = "0", }, | ||
572 | { | ||
573 | .driver = "ide-drive", | ||
574 | .property = "ver", | ||
575 | .value = "0.11", | ||
576 | },{ | ||
577 | .driver = "scsi-disk", | ||
578 | .property = "ver", | ||
579 | .value = "0.11", | ||
580 | }, | ||
581 | { /* end of list */ } | ||
582 | }, | ||
583 | .hw_version = "0.11", | ||
584 | }; | ||
585 | |||
586 | static QEMUMachine pc_machine_v0_10 = { | ||
587 | .name = "pc-0.10", | ||
588 | .desc = "Standard PC, qemu 0.10", | ||
589 | .init = pc_init_pci_no_kvmclock, | ||
590 | .max_cpus = 255, | ||
591 | .compat_props = (GlobalProperty[]) { | ||
592 | PC_COMPAT_0_11{ .driver = "VGA", .property = "vgamem_mb", .value = "8", },{ .driver = "vmware-svga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl-vga", .property = "vgamem_mb", .value = "8" , },{ .driver = "qxl", .property = "vgamem_mb", .value = "8", }, { .driver = "pc-sysfw", .property = "rom_only", .value = "1" , }, { .driver = "isa-fdc", .property = "check_media_rate", . value = "off", }, { .driver = "virtio-balloon-pci", .property = "class", .value = "0x0500", },{ .driver = "apic", .property = "vapic", .value = "off", },{ .driver = "usb-device", .property = "full-path", .value = "no", }, { .driver = "virtio-blk-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-serial-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-net-pci" , .property = "event_idx", .value = "off", },{ .driver = "virtio-balloon-pci" , .property = "event_idx", .value = "off", }, { .driver = "pci-device" , .property = "command_serr_enable", .value = "off", },{ .driver = "AC97", .property = "use_broken_id", .value = "1", }, { .driver = "virtio-serial-pci", .property = "max_ports", .value = "1" , },{ .driver = "virtio-serial-pci", .property = "vectors", . value = "0", }, { .driver = "virtio-blk-pci", .property = "vectors" , .value = "0", },{ .driver = "pci-device", .property = "rombar" , .value = "0", }, | ||
593 | { | ||
594 | .driver = "virtio-blk-pci", | ||
595 | .property = "class", | ||
596 | .value = stringify(PCI_CLASS_STORAGE_OTHER)"0x0180", | ||
597 | },{ | ||
598 | .driver = "virtio-serial-pci", | ||
599 | .property = "class", | ||
600 | .value = stringify(PCI_CLASS_DISPLAY_OTHER)"0x0380", | ||
601 | },{ | ||
602 | .driver = "virtio-net-pci", | ||
603 | .property = "vectors", | ||
604 | .value = stringify(0)"0", | ||
605 | },{ | ||
606 | .driver = "ide-drive", | ||
607 | .property = "ver", | ||
608 | .value = "0.10", | ||
609 | },{ | ||
610 | .driver = "scsi-disk", | ||
611 | .property = "ver", | ||
612 | .value = "0.10", | ||
613 | }, | ||
614 | { /* end of list */ } | ||
615 | }, | ||
616 | .hw_version = "0.10", | ||
617 | }; | ||
618 | |||
619 | static QEMUMachine isapc_machine = { | ||
620 | .name = "isapc", | ||
621 | .desc = "ISA-only PC", | ||
622 | .init = pc_init_isa, | ||
623 | .max_cpus = 1, | ||
624 | .compat_props = (GlobalProperty[]) { | ||
625 | { | ||
626 | .driver = "pc-sysfw", | ||
627 | .property = "rom_only", | ||
628 | .value = stringify(1)"1", | ||
629 | }, | ||
630 | { /* end of list */ } | ||
631 | }, | ||
632 | }; | ||
633 | |||
634 | #ifdef CONFIG_XEN | ||
635 | static QEMUMachine xenfv_machine = { | ||
636 | .name = "xenfv", | ||
637 | .desc = "Xen Fully-virtualized PC", | ||
638 | .init = pc_xen_hvm_init, | ||
639 | .max_cpus = HVM_MAX_VCPUS, | ||
640 | .default_machine_opts = "accel=xen", | ||
641 | }; | ||
642 | #endif | ||
643 | |||
644 | static void pc_machine_init(void) | ||
645 | { | ||
646 | qemu_register_machine(&pc_machine_v1_2); | ||
647 | qemu_register_machine(&pc_machine_v1_1); | ||
648 | qemu_register_machine(&pc_machine_v1_0); | ||
649 | qemu_register_machine(&pc_machine_v0_15); | ||
650 | qemu_register_machine(&pc_machine_v0_14); | ||
651 | qemu_register_machine(&pc_machine_v0_13); | ||
652 | qemu_register_machine(&pc_machine_v0_12); | ||
653 | qemu_register_machine(&pc_machine_v0_11); | ||
654 | qemu_register_machine(&pc_machine_v0_10); | ||
655 | qemu_register_machine(&isapc_machine); | ||
656 | #ifdef CONFIG_XEN | ||
657 | qemu_register_machine(&xenfv_machine); | ||
658 | #endif | ||
659 | } | ||
660 | |||
661 | machine_init(pc_machine_init)static void __attribute__((constructor)) do_qemu_init_pc_machine_init (void) { register_module_init(pc_machine_init, MODULE_INIT_MACHINE ); }; |