diff options
author | Alexandru Gagniuc <mr.nuke.me@gmail.com> | 2015-10-02 16:17:41 -0700 |
---|---|---|
committer | Alexandru Gagniuc <mr.nuke.me@gmail.com> | 2015-10-08 16:44:38 +0000 |
commit | c46a39237a18bdd4de826bce10ae89be718f9289 (patch) | |
tree | 7a821d21573bd02cfe9c9577536dcb3bf55cb53a /src/arch/x86/Makefile.inc | |
parent | dbeedbef701d404b8e48380d6a5617dc6c1d9b2c (diff) | |
download | coreboot-c46a39237a18bdd4de826bce10ae89be718f9289.tar.xz |
arch/x86: Link walkcbfs.S instead on including it in bootblock.S
The code flow doesn't fall through to walkcbfs, as it does in the rest
of bootblock.S. Instead, walkcbfs is called (albeit via a jmp). The
linker cannot know this when walkcbfs.S is included directly.
When we use a CAR bootblock, we lose several hundred bytes because
walkcbfs is not garbage-collected, yet it isn't used. This problem
is solved by assembling walkcbfs.S separately, and linking it.
Change-Id: Ib3a976db09b9ff270b7677cb4f9db80b0b025e22
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/11785
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/arch/x86/Makefile.inc')
-rw-r--r-- | src/arch/x86/Makefile.inc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index ff3b4fec1a..46c98cd142 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -85,6 +85,7 @@ endif # the right order. Make sure the auto generated bootblock.inc is a proper # dependency. Make the same true for the linker sript. bootblock-y += bootblock.S +bootblock-y += walkcbfs.S $(obj)/arch/x86/bootblock.bootblock.o: $(objgenerated)/bootblock.inc bootblock-y += bootblock.ld |