Create a valid stack pointer after leaving CAR, so function calls don't
reset the machine in the small window between CAR and coreboot_ram. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4218 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
bc9de2f1e2
commit
932257869f
|
@ -99,8 +99,11 @@ and in x86_setup_fixed_mtrrs()(mtrr.c), 0-256M is set cacheable.*/
|
||||||
"movl %eax, %cr0\n\t"
|
"movl %eax, %cr0\n\t"
|
||||||
"invd\n\t"
|
"invd\n\t"
|
||||||
|
|
||||||
/*
|
/* FIXME: These values might have to change for suspend-to-ram.
|
||||||
FIXME: I hope we don't need to change esp and ebp value here, so we can restore value from mmx sse back
|
the 0x00400000 was chosen as this is a place in memory that
|
||||||
But the problem is the range is some io related, So don't go back
|
should exist in all contemporary configurations (ie. large
|
||||||
*/
|
enough RAM), but doesn't collide with anything coreboot does.
|
||||||
|
Other than that, it's arbitrary. */
|
||||||
|
"movl $0x00400000,%esp\n\t"
|
||||||
|
"movl %esp,%ebp\n\t"
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue