aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaulo Alcantara <pcacjr@zytor.com>2012-04-11 19:24:19 -0300
committerPaulo Alcantara <pcacjr@zytor.com>2012-04-11 19:24:19 -0300
commitb0098b1dc0fde65e46a673656e97b18fbdfefc3b (patch)
tree9d074ba207363267a1f19427aa225fbe1fb77b4a
parentc21292c2ed81359ec3ad336e34eca51261011921 (diff)
downloadsyslinux-b0098b1dc0fde65e46a673656e97b18fbdfefc3b.tar.gz
syslinux-b0098b1dc0fde65e46a673656e97b18fbdfefc3b.tar.xz
syslinux-b0098b1dc0fde65e46a673656e97b18fbdfefc3b.zip
PXELINUX: call open_config() function before loading 32-bit environment
ldlinux.c32 needs ConfigName variable to be set before jumping to 32-bit ELF space. As pxe_open_config() is called from open_config() in core/pxelinux.asm, it will set ConfigName variable accordingly. Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
-rw-r--r--core/pxelinux.asm10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/pxelinux.asm b/core/pxelinux.asm
index 0a62bd7b..38e1319e 100644
--- a/core/pxelinux.asm
+++ b/core/pxelinux.asm
@@ -264,6 +264,16 @@ ROOT_FS_OPS:
%endmacro
;
+; Open configuration file. ldlinux.c32 needs ConfigName to be set - so we need
+; to call open_config() before loading it.
+;
+; Note: We don't need to check return value of open_config() function. It will
+; call kaboom() on failure.
+;
+ extern open_config
+ pm_call open_config
+
+;
; Jump to 32-bit ELF space
;
pm_call load_env32