]>
Commit | Line | Data |
---|---|---|
b4a738bf AL |
1 | /* |
2 | * Empty machine | |
3 | * | |
4 | * Copyright IBM, Corp. 2012 | |
5 | * | |
6 | * Authors: | |
7 | * Anthony Liguori <[email protected]> | |
8 | * | |
9 | * This work is licensed under the terms of the GNU GPL, version 2 or later. | |
10 | * See the COPYING file in the top-level directory. | |
11 | * | |
12 | */ | |
13 | ||
18c86e2b | 14 | #include "qemu/osdep.h" |
b4a738bf | 15 | #include "qemu-common.h" |
3964ec6c | 16 | #include "qemu/error-report.h" |
b4a738bf AL |
17 | #include "hw/hw.h" |
18 | #include "hw/boards.h" | |
3964ec6c TH |
19 | #include "sysemu/sysemu.h" |
20 | #include "exec/address-spaces.h" | |
21 | #include "cpu.h" | |
b4a738bf | 22 | |
3964ec6c | 23 | static void machine_none_init(MachineState *mch) |
b4a738bf | 24 | { |
3964ec6c TH |
25 | CPUState *cpu = NULL; |
26 | ||
2278b939 IM |
27 | /* Initialize CPU (if user asked for it) */ |
28 | if (mch->cpu_type) { | |
29 | cpu = cpu_create(mch->cpu_type); | |
3964ec6c TH |
30 | if (!cpu) { |
31 | error_report("Unable to initialize CPU"); | |
32 | exit(1); | |
33 | } | |
34 | } | |
35 | ||
36 | /* RAM at address zero */ | |
37 | if (mch->ram_size) { | |
38 | MemoryRegion *ram = g_new(MemoryRegion, 1); | |
39 | ||
40 | memory_region_allocate_system_memory(ram, NULL, "ram", mch->ram_size); | |
41 | memory_region_add_subregion(get_system_memory(), 0, ram); | |
42 | } | |
991db247 TH |
43 | |
44 | if (mch->kernel_filename) { | |
45 | error_report("The -kernel parameter is not supported " | |
46 | "(use the generic 'loader' device instead)."); | |
47 | exit(1); | |
48 | } | |
b4a738bf AL |
49 | } |
50 | ||
e264d29d | 51 | static void machine_none_machine_init(MachineClass *mc) |
b4a738bf | 52 | { |
e264d29d EH |
53 | mc->desc = "empty machine"; |
54 | mc->init = machine_none_init; | |
3964ec6c TH |
55 | mc->max_cpus = 1; |
56 | mc->default_ram_size = 0; | |
b4a738bf AL |
57 | } |
58 | ||
e264d29d | 59 | DEFINE_MACHINE("none", machine_none_machine_init) |