Speed up coreboot_ram loading by moving the decompression stack
into the cached area. Back to 469ms until coreboot_ram is actually running on epia-cn Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5417 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
4d68df779f
commit
f17ca16624
|
@ -14,8 +14,16 @@ __main:
|
||||||
|
|
||||||
movl %ebp, %esi
|
movl %ebp, %esi
|
||||||
|
|
||||||
/* FIXME: look for a proper place for the stack */
|
/* For now: use CONFIG_RAMBASE + 1MB - 64K (counting downwards) as stack. This
|
||||||
movl $0x4000000, %esp
|
* makes sure that we stay completely within the 1M-64K of memory that we
|
||||||
|
* preserve for suspend/resume.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef HIGH_MEMORY_SAVE
|
||||||
|
#warning Need a central place for HIGH_MEMORY_SAVE
|
||||||
|
#define HIGH_MEMORY_SAVE ( (1024 - 64) * 1024 )
|
||||||
|
#endif
|
||||||
|
movl $(CONFIG_RAMBASE + HIGH_MEMORY_SAVE), %esp
|
||||||
movl %esp, %ebp
|
movl %esp, %ebp
|
||||||
pushl %esi
|
pushl %esi
|
||||||
call copy_and_run
|
call copy_and_run
|
||||||
|
|
|
@ -270,14 +270,16 @@ __main:
|
||||||
|
|
||||||
movl %ebp, %esi
|
movl %ebp, %esi
|
||||||
|
|
||||||
/* FIXME: These values might have to change for suspend-to-ram.
|
/* For now: use CONFIG_RAMBASE + 1MB - 64K (counting downwards) as stack. This
|
||||||
* the 0x00400000 was chosen as this is a place in memory that
|
* makes sure that we stay completely within the 1M-64K of memory that we
|
||||||
* should exist in all contemporary configurations (ie. large
|
* preserve for suspend/resume.
|
||||||
* enough RAM), but doesn't collide with anything coreboot does.
|
|
||||||
* Other than that, it's arbitrary.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
movl $0x4000000, %esp
|
#ifndef HIGH_MEMORY_SAVE
|
||||||
|
#warning Need a central place for HIGH_MEMORY_SAVE
|
||||||
|
#define HIGH_MEMORY_SAVE ( (1024 - 64) * 1024 )
|
||||||
|
#endif
|
||||||
|
movl $(CONFIG_RAMBASE + HIGH_MEMORY_SAVE), %esp
|
||||||
movl %esp, %ebp
|
movl %esp, %ebp
|
||||||
pushl %esi
|
pushl %esi
|
||||||
call copy_and_run
|
call copy_and_run
|
||||||
|
|
Loading…
Reference in New Issue