Author: stepan Date: 2007-10-04 07:37:24 +0200 (Thu, 04 Oct 2007) New Revision: 503
Modified: LinuxBIOSv3/Kconfig LinuxBIOSv3/arch/x86/Makefile Log: 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
Modified: LinuxBIOSv3/Kconfig =================================================================== --- LinuxBIOSv3/Kconfig 2007-09-26 19:49:38 UTC (rev 502) +++ LinuxBIOSv3/Kconfig 2007-10-04 05:37:24 UTC (rev 503) @@ -53,25 +53,6 @@ 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 @@ 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 @@
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.
Modified: LinuxBIOSv3/arch/x86/Makefile =================================================================== --- LinuxBIOSv3/arch/x86/Makefile 2007-09-26 19:49:38 UTC (rev 502) +++ LinuxBIOSv3/arch/x86/Makefile 2007-10-04 05:37:24 UTC (rev 503) @@ -122,7 +122,7 @@ endif endif
-ifeq ($(CONFIG_NOELF), y) +ifeq ($(CONFIG_PAYLOAD_PREPARSE_ELF), y) PARSEELF = -e else PARSEELF =