]> Git Repo - qemu.git/blobdiff - hw/an5206.c
scsi: add topology support
[qemu.git] / hw / an5206.c
index cd40d2a504a3f4a120234a3da884a91b264c7c15..a4b83b0f44571cdd4287d6e21916e91c78dbead7 100644 (file)
@@ -11,6 +11,8 @@
 #include "mcf.h"
 #include "sysemu.h"
 #include "boards.h"
+#include "loader.h"
+#include "elf.h"
 
 #define KERNEL_LOAD_ADDR 0x10000
 #define AN5206_MBAR_ADDR 0x10000000
@@ -27,7 +29,7 @@ void irq_info(Monitor *mon)
 
 /* Board init.  */
 
-static void an5206_init(ram_addr_t ram_size, int vga_ram_size,
+static void an5206_init(ram_addr_t ram_size,
                      const char *boot_device,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)
@@ -35,13 +37,13 @@ static void an5206_init(ram_addr_t ram_size, int vga_ram_size,
     CPUState *env;
     int kernel_size;
     uint64_t elf_entry;
-    target_ulong entry;
+    target_phys_addr_t entry;
 
     if (!cpu_model)
         cpu_model = "m5206";
     env = cpu_init(cpu_model);
     if (!env) {
-        cpu_abort(env, "Unable to find m68k CPU definition\n");
+        hw_error("Unable to find m68k CPU definition\n");
     }
 
     /* Initialize CPU registers.  */
@@ -66,7 +68,8 @@ static void an5206_init(ram_addr_t ram_size, int vga_ram_size,
         exit(1);
     }
 
-    kernel_size = load_elf(kernel_filename, 0, &elf_entry, NULL, NULL);
+    kernel_size = load_elf(kernel_filename, 0, &elf_entry, NULL, NULL,
+                           1, ELF_MACHINE, 0);
     entry = elf_entry;
     if (kernel_size < 0) {
         kernel_size = load_uimage(kernel_filename, &entry, NULL, NULL);
@@ -84,9 +87,15 @@ static void an5206_init(ram_addr_t ram_size, int vga_ram_size,
     env->pc = entry;
 }
 
-QEMUMachine an5206_machine = {
+static QEMUMachine an5206_machine = {
     .name = "an5206",
     .desc = "Arnewsh 5206",
     .init = an5206_init,
-    .ram_require = 512,
 };
+
+static void an5206_machine_init(void)
+{
+    qemu_register_machine(&an5206_machine);
+}
+
+machine_init(an5206_machine_init);
This page took 0.024148 seconds and 4 git commands to generate.