46 lines
1.4 KiB
Diff
46 lines
1.4 KiB
Diff
From 7a53bcbef278b4191d5cb497ef2b81509a00f670 Mon Sep 17 00:00:00 2001
|
|
From: Mark McLoughlin <markmc@redhat.com>
|
|
Date: Wed, 13 May 2009 12:59:47 +0100
|
|
Subject: [PATCH 1/1] Fix load_linux reset handling fix
|
|
|
|
This fix on the stable branch:
|
|
|
|
commit 2da1e398641d9fccf683645c808dee0d088f84cf
|
|
Author: Glauber Costa <glommer@redhat.com>
|
|
Date: Fri May 8 02:22:13 2009 -0300
|
|
|
|
reset state for load_linux
|
|
|
|
Caused -kernel to break.
|
|
|
|
The problem is that we're passing the ROM's ram_addr_t to
|
|
load_linux() rather than its target_phys_addr_t. We also
|
|
need to register the memory before trying to write to
|
|
it.
|
|
|
|
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
|
|
---
|
|
hw/pc.c | 4 ++--
|
|
1 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/hw/pc.c b/hw/pc.c
|
|
index 062c306..e69a1f7 100644
|
|
--- a/hw/pc.c
|
|
+++ b/hw/pc.c
|
|
@@ -954,10 +954,10 @@ vga_bios_error:
|
|
offset = option_rom_start;
|
|
if (linux_boot) {
|
|
option_rom_offset = qemu_ram_alloc(TARGET_PAGE_SIZE);
|
|
- load_linux(option_rom_offset,
|
|
- kernel_filename, initrd_filename, kernel_cmdline);
|
|
cpu_register_physical_memory(option_rom_start, TARGET_PAGE_SIZE,
|
|
option_rom_offset);
|
|
+ load_linux(option_rom_start,
|
|
+ kernel_filename, initrd_filename, kernel_cmdline);
|
|
offset += TARGET_PAGE_SIZE;
|
|
}
|
|
|
|
--
|
|
1.6.2.2
|
|
|