aboutsummaryrefslogtreecommitdiffstats
path: root/core/parseconfig.inc
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-12-11 14:59:36 -0800
committerH. Peter Anvin <hpa@zytor.com>2008-12-14 13:53:58 -0800
commite21e66137b454fb3afd50a113de68599dd28de09 (patch)
tree807860047ee9e406888e49590aa5f13ce03b2a1c /core/parseconfig.inc
parent36390f9712ac56be1dce7a635322bd96e15620c1 (diff)
downloadsyslinux-e21e66137b454fb3afd50a113de68599dd28de09.tar.gz
syslinux-e21e66137b454fb3afd50a113de68599dd28de09.tar.xz
syslinux-e21e66137b454fb3afd50a113de68599dd28de09.zip
Add new "UI" directive instead of abusing the DEFAULT directive
Add a new "UI" directive to specify a user interface module, instead of abusing the DEFAULT directive. This allows the DEFAULT directive to be used for setting the default, even when the menu system is enabled. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'core/parseconfig.inc')
-rw-r--r--core/parseconfig.inc9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/parseconfig.inc b/core/parseconfig.inc
index 55d6fbb0..2fb26fdd 100644
--- a/core/parseconfig.inc
+++ b/core/parseconfig.inc
@@ -18,12 +18,14 @@
section .text
;
-; "default" command
+; "default" or "ui" command, with level (1 = default, 2 = ui)
;
-pc_default: mov di,default_cmd
+pc_default: cmp ax,[DefaultLevel]
+ jb .skip
+ mov di,default_cmd
call getline
mov byte [di-1],0 ; null-terminate
- ret
+.skip: ret
;
; "ontimeout" command
@@ -467,6 +469,7 @@ NoComplete dw 0 ; No label completion on TAB key
AllowImplicit dw 1 ; Allow implicit kernels
AllowOptions dw 1 ; User-specified options allowed
IncludeLevel dw 1 ; Nesting level
+DefaultLevel dw 0 ; The current level of default
SerialPort dw 0 ; Serial port base (or 0 for no serial port)
VKernel db 0 ; Have we seen any "label" statements?