Hi,

the attached patch sets up the stack pointer in the c7 CAR-post routine, to 
make function calls work in the small area after CAR and before coreboot_ram.
For sufficient high loglevels, there are two printk_*s in generic CAR code 
that made the system reboot. (with my preceding patch, it crashes for all 
loglevel configurations and an issue like this one would have been found 
directly)


Signed-off-by: Patrick Georgi <[email protected]>
Index: src/cpu/via/car/cache_as_ram_post.c
===================================================================
--- src/cpu/via/car/cache_as_ram_post.c	(Revision 4216)
+++ src/cpu/via/car/cache_as_ram_post.c	(Arbeitskopie)
@@ -99,8 +99,7 @@
         "movl    %eax, %cr0\n\t"
 	 			"invd\n\t"
 
-	/* 
-	FIXME: I hope we don't need to change esp and ebp value here, so we can restore value from mmx sse back
-		But the problem is the range is some io related, So don't go back
-	*/
+	/* FIXME: These values might have to change for suspend-to-ram */
+	"movl	$0x00400000,%esp\n\t"
+	"movl	%esp,%ebp\n\t"
         );
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to