Fix the config process so that pre-parsing of elf works again. It was broken

(I think) when the PAYLOAD_NONE change was put in.                                                                                        

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>   
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@503 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
Stefan Reinauer 2007-10-04 05:37:24 +00:00
parent 573c0d783e
commit a2b318b2c4
2 changed files with 21 additions and 21 deletions

40
Kconfig
View file

@ -53,25 +53,6 @@ config LOCALVERSION
help
Append an extra string to the end of the LinuxBIOS version.
config NOELF
bool "Don't use ELF for payloads"
depends EXPERT
default n
help
Until now, LinuxBIOS has used elf for the payload. There are many problems
this, not least being the inefficiency -- the ELF has to be decompressed to
memory and then the segments have to be copied. Plus, lar can't see the segments
in the elf -- to see all segments, you have to extract the elf and run readelf on it.
There are problems with collisions of the decompressed ELF location in memory
and the segment locations in memory.
Finally, validation of the ELF is done at run time, once you have flashed the
FLASH and rebooted the machine. Boot time is really not the time you want to find
out your ELF payload is broken.
With this option, LinuxBIOS will direct lar to break each elf segment into a LAR
entry. ELF will not be used at all. Note that (for now) LinuxBIOS is backward
compatible -- if you put an ELF payload in, LinuxBIOS can still parse it. We hope
to remove ELF entirely in the future.
config BEEPS
bool "Enable beeps upon certain LinuxBIOS events"
depends EXPERT
@ -113,6 +94,25 @@ choice
prompt "Payload type"
default PAYLOAD_NONE
config PAYLOAD_PREPARSE_ELF
bool "Pre-parse ELF file and convert ELF segments to LAR entries"
depends EXPERT
default n
help
Until now, LinuxBIOS has used elf for the payload. There are many problems
this, not least being the inefficiency -- the ELF has to be decompressed to
memory and then the segments have to be copied. Plus, lar can't see the segments
in the elf -- to see all segments, you have to extract the elf and run readelf on it.
There are problems with collisions of the decompressed ELF location in memory
and the segment locations in memory.
Finally, validation of the ELF is done at run time, once you have flashed the
FLASH and rebooted the machine. Boot time is really not the time you want to find
out your ELF payload is broken.
With this option, LinuxBIOS will direct lar to break each elf segment into a LAR
entry. ELF will not be used at all. Note that (for now) LinuxBIOS is backward
compatible -- if you put an ELF payload in, LinuxBIOS can still parse it. We hope
to remove ELF entirely in the future.
config PAYLOAD_ELF
bool "An ELF executable payload file"
help
@ -137,7 +137,7 @@ endchoice
config PAYLOAD_FILE
string "Payload path and filename"
depends PAYLOAD_ELF
depends PAYLOAD_ELF || PAYLOAD_PREPARSE_ELF
default "payload.elf"
help
The path and filename of the ELF executable file to use as payload.

View file

@ -122,7 +122,7 @@ else
endif
endif
ifeq ($(CONFIG_NOELF), y)
ifeq ($(CONFIG_PAYLOAD_PREPARSE_ELF), y)
PARSEELF = -e
else
PARSEELF =