aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>2015-05-14 19:23:30 -0700
committerPeter Maydell <peter.maydell@linaro.org>2015-05-18 16:41:14 +0100
commit082587b741efc5329380b4a156d86f2bdbfa2d70 (patch)
tree77c707eac0fbaca869ecf5be9958bd4e0a5d1195 /hw
parentb79b9d28f6b8f7879c50b6c053b4e3796de5b7d0 (diff)
arm: xlnx-ep108: Add bootloading
Add bootloader support using standard ARM bootloader. Reviewed-by: Alistair Francis <alistair.francis@xilinx.com> Tested-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Message-id: b829abaf2b70d02b28e79301553cbd74afc416a1.1431381507.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw')
-rw-r--r--hw/arm/xlnx-ep108.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c
index 46f145b97d..b924f5eca5 100644
--- a/hw/arm/xlnx-ep108.c
+++ b/hw/arm/xlnx-ep108.c
@@ -28,6 +28,8 @@ typedef struct XlnxEP108 {
/* Max 2GB RAM */
#define EP108_MAX_RAM_SIZE 0x80000000ull
+static struct arm_boot_info xlnx_ep108_binfo;
+
static void xlnx_ep108_init(MachineState *machine)
{
XlnxEP108 *s = g_new0(XlnxEP108, 1);
@@ -57,6 +59,13 @@ static void xlnx_ep108_init(MachineState *machine)
memory_region_allocate_system_memory(&s->ddr_ram, NULL, "ddr-ram",
machine->ram_size);
memory_region_add_subregion(get_system_memory(), 0, &s->ddr_ram);
+
+ xlnx_ep108_binfo.ram_size = machine->ram_size;
+ xlnx_ep108_binfo.kernel_filename = machine->kernel_filename;
+ xlnx_ep108_binfo.kernel_cmdline = machine->kernel_cmdline;
+ xlnx_ep108_binfo.initrd_filename = machine->initrd_filename;
+ xlnx_ep108_binfo.loader_start = 0;
+ arm_load_kernel(&s->soc.cpu[0], &xlnx_ep108_binfo);
}
static QEMUMachine xlnx_ep108_machine = {