[coreboot] [PATCH] v3: fix initial printk buffer address initialization

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Thu Sep 4 04:35:50 CEST 2008


Fix initial printk buffer address initialization. This was broken in
r785 (move from explicit asm to implicit C) and unfortunately qemu never
triggered the bug, only real hardware did.

Thanks to Ron for bisecting this.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Index: corebootv3-printk_buffer_addr_init/lib/console.c
===================================================================
--- corebootv3-printk_buffer_addr_init/lib/console.c	(Revision 856)
+++ corebootv3-printk_buffer_addr_init/lib/console.c	(Arbeitskopie)
@@ -82,7 +82,9 @@
 
 void printk_buffer_init(void)
 {
-	struct printk_buffer *buf = printk_buffer_addr();
+	struct printk_buffer *buf = (struct printk_buffer *)PRINTK_BUF_ADDR_CAR;
+	global_vars()->printk_buffer = buf;
+	buf = printk_buffer_addr();
 	buf->len = PRINTK_BUF_SIZE_CAR - sizeof(struct printk_buffer);
 	buf->readoffset = 0;
 	buf->writeoffset = 0;


-- 
http://www.hailfinger.org/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: linuxbios3_printk_buffer_addr_init.diff
Type: text/x-patch
Size: 621 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20080904/31ff8811/attachment.diff>


More information about the coreboot mailing list