[SeaBIOS] [SeaBIOS PATCH v2] Fix regression of commit 87b533bf
Amos Kong
akong at redhat.com
Tue Sep 20 10:00:57 CEST 2011
>From 4678a3cb0e0a3cd7a4bc3d284c5719fdba90bc61 Mon Sep 17 00:00:00 2001
From: Kevin O'Connor <kevin at koconnor.net>
Date: Tue, 20 Sep 2011 15:43:55 +0800
Subject: [PATCH V2] Fix regression of commit 87b533bf
From: Kevin O'Connor <kevin at koconnor.net>
After adding more device entries in ACPI DSDT tables,
the filesize of bios.bin changed from 128K to 256K.
But bios could not initialize successfully.
This is a regression since seabios commit 87b533bf. Prior to
that commit, seabios did not mark the early 32bit initialization
code as init code. However, a side effect of marking that code
(handle_post) as init code is that it is more likely the linker
could place the code at an address less than 0xe0000.
The patch (just a hack) would cover up the issue.
---
Changes from v1:
- correct the attribution
Signed-off-by: Kevin O'Connor <kevin at koconnor.net>
---
src/post.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/src/post.c b/src/post.c
index e195e89..bc2e548 100644
--- a/src/post.c
+++ b/src/post.c
@@ -336,7 +336,7 @@ reloc_init(void)
// Start of Power On Self Test (POST) - the BIOS initilization phase.
// This function does the setup needed for code relocation, and then
// invokes the relocation and main setup code.
-void VISIBLE32INIT
+void VISIBLE32FLAT
handle_post(void)
{
debug_serial_setup();
@@ -356,6 +356,14 @@ handle_post(void)
// Allow writes to modify bios area (0xf0000)
make_bios_writable();
+
+ void handle_post2(void);
+ handle_post2();
+}
+
+void VISIBLE32INIT
+handle_post2(void)
+{
HaveRunPost = 1;
// Detect ram and setup internal malloc.
--
1.7.6.1
More information about the SeaBIOS
mailing list