]> Git Repo - qemu.git/blobdiff - hw/core/null-machine.c
Merge remote-tracking branch 'remotes/kraxel/tags/usb-20180703-pull-request' into...
[qemu.git] / hw / core / null-machine.c
index d813c089e7c59ae1a0ed376c47160963c0003996..cde4d3eb57c9a75b6fc10a4852812836af6e9995 100644 (file)
  *
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
+#include "qemu/error-report.h"
 #include "hw/hw.h"
 #include "hw/boards.h"
+#include "sysemu/sysemu.h"
+#include "exec/address-spaces.h"
+#include "cpu.h"
 
-static void machine_none_init(QEMUMachineInitArgs *args)
+static void machine_none_init(MachineState *mch)
 {
-}
+    CPUState *cpu = NULL;
 
-static QEMUMachine machine_none = {
-    .name = "none",
-    .desc = "empty machine",
-    .init = machine_none_init,
-    .max_cpus = 0,
-};
+    /* Initialize CPU (if user asked for it) */
+    if (mch->cpu_type) {
+        cpu = cpu_create(mch->cpu_type);
+        if (!cpu) {
+            error_report("Unable to initialize CPU");
+            exit(1);
+        }
+    }
 
-static void register_machines(void)
-{
-    qemu_register_machine(&machine_none);
+    /* RAM at address zero */
+    if (mch->ram_size) {
+        MemoryRegion *ram = g_new(MemoryRegion, 1);
+
+        memory_region_allocate_system_memory(ram, NULL, "ram", mch->ram_size);
+        memory_region_add_subregion(get_system_memory(), 0, ram);
+    }
+
+    if (mch->kernel_filename) {
+        error_report("The -kernel parameter is not supported "
+                     "(use the generic 'loader' device instead).");
+        exit(1);
+    }
 }
 
-machine_init(register_machines);
+static void machine_none_machine_init(MachineClass *mc)
+{
+    mc->desc = "empty machine";
+    mc->init = machine_none_init;
+    mc->max_cpus = 1;
+    mc->default_ram_size = 0;
+}
 
+DEFINE_MACHINE("none", machine_none_machine_init)
This page took 0.021604 seconds and 4 git commands to generate.