aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2009-06-29 15:37:37 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-06-29 13:52:12 -0500
commit1d108d9734f0734e2c6638c873fcd54ff8aa3ddf (patch)
treeb7501b3254a2f7333fd2c9836c2540a441c79586 /hw
parent6c0d7ee8951a330c0885b0ebcd4c9596661900a9 (diff)
Change bochs bios init order
For multiboot support, we need bochs_bios_init to happen before load_linux, so we get the fw_cfg device. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/pc.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/hw/pc.c b/hw/pc.c
index 86e5cfefbe..f54de7e82e 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -967,6 +967,12 @@ static void pc_init1(ram_addr_t ram_size,
if (oprom_area_size < 0x8000)
oprom_area_size = 0x8000;
+ /* map all the bios at the top of memory */
+ cpu_register_physical_memory((uint32_t)(-bios_size),
+ bios_size, bios_offset | IO_MEM_ROM);
+
+ bochs_bios_init();
+
if (linux_boot) {
load_linux(0xc0000 + oprom_area_size,
kernel_filename, initrd_filename, kernel_cmdline, below_4g_mem_size);
@@ -993,12 +999,6 @@ static void pc_init1(ram_addr_t ram_size,
0xe0000);
}
- /* map all the bios at the top of memory */
- cpu_register_physical_memory((uint32_t)(-bios_size),
- bios_size, bios_offset | IO_MEM_ROM);
-
- bochs_bios_init();
-
cpu_irq = qemu_allocate_irqs(pic_irq_request, NULL, 1);
i8259 = i8259_init(cpu_irq[0]);
ferr_irq = i8259[13];