[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [PATCH for-2.12 5/7] hw/moxie/moxiesim: Add support for loadi
From: |
Thomas Huth |
Subject: |
[Qemu-arm] [PATCH for-2.12 5/7] hw/moxie/moxiesim: Add support for loading a BIOS on moxiesim |
Date: |
Thu, 30 Nov 2017 09:53:06 +0100 |
The moxiesim machine already defines a memory region for a firmware,
but does not provide the possibility to load an image via "-bios" yet.
This will be needed for the boot-serial tester, so let's add support
for "-bios" here now.
Signed-off-by: Thomas Huth <address@hidden>
---
hw/moxie/moxiesim.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c
index 3ba5848..00f56df 100644
--- a/hw/moxie/moxiesim.c
+++ b/hw/moxie/moxiesim.c
@@ -25,6 +25,7 @@
* THE SOFTWARE.
*/
#include "qemu/osdep.h"
+#include "qemu/error-report.h"
#include "qapi/error.h"
#include "qemu-common.h"
#include "cpu.h"
@@ -41,6 +42,8 @@
#include "elf.h"
#define PHYS_MEM_BASE 0x80000000
+#define FIRMWARE_BASE 0x1000
+#define FIRMWARE_SIZE (128 * 0x1000)
typedef struct {
uint64_t ram_size;
@@ -123,8 +126,8 @@ static void moxiesim_init(MachineState *machine)
memory_region_init_ram(ram, NULL, "moxiesim.ram", ram_size, &error_fatal);
memory_region_add_subregion(address_space_mem, ram_base, ram);
- memory_region_init_ram(rom, NULL, "moxie.rom", 128 * 0x1000, &error_fatal);
- memory_region_add_subregion(get_system_memory(), 0x1000, rom);
+ memory_region_init_ram(rom, NULL, "moxie.rom", FIRMWARE_SIZE,
&error_fatal);
+ memory_region_add_subregion(get_system_memory(), FIRMWARE_BASE, rom);
if (kernel_filename) {
loader_params.ram_size = ram_size;
@@ -133,6 +136,11 @@ static void moxiesim_init(MachineState *machine)
loader_params.initrd_filename = initrd_filename;
load_kernel(cpu, &loader_params);
}
+ if (bios_name) {
+ if (load_image_targphys(bios_name, FIRMWARE_BASE, FIRMWARE_SIZE) < 0) {
+ error_report("Failed to load firmware '%s'", bios_name);
+ }
+ }
/* A single 16450 sits at offset 0x3f8. */
if (serial_hds[0]) {
--
1.8.3.1
- [Qemu-arm] [PATCH for-2.12 0/7] Test more machines and TCG CPUs automatically, Thomas Huth, 2017/11/30
- [Qemu-arm] [PATCH for-2.12 1/7] tests/boot-serial-test: Make sure that we check the timeout regularly, Thomas Huth, 2017/11/30
- [Qemu-arm] [PATCH for-2.12 2/7] tests/boot-serial-test: Add code to allow to specify our own kernel or bios, Thomas Huth, 2017/11/30
- [Qemu-arm] [PATCH for-2.12 3/7] tests/boot-serial-test: Add support for the mcf5208evb board, Thomas Huth, 2017/11/30
- [Qemu-arm] [PATCH for-2.12 4/7] tests/boot-serial-test: Add tests for microblaze boards, Thomas Huth, 2017/11/30
- [Qemu-arm] [PATCH for-2.12 5/7] hw/moxie/moxiesim: Add support for loading a BIOS on moxiesim,
Thomas Huth <=
- [Qemu-arm] [PATCH for-2.12 6/7] tests/boot-serial-test: Add a test for the moxiesim machine, Thomas Huth, 2017/11/30
- [Qemu-arm] [PATCH for-2.12 7/7] tests/boot-serial-test: Add support for the raspi2 machine, Thomas Huth, 2017/11/30