summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhpa <hpa>2005-08-18 23:31:59 +0000
committerhpa <hpa>2005-08-18 23:31:59 +0000
commit4c9edee7a68021fcfbc91e279342678b7f2c4d6d (patch)
treedd7fc0dab030963afa69df877c0ab51c8ab24320
parent94db804fb314c86adca32b899cd1b3e10fb5610b (diff)
downloadsyslinux-4c9edee7a68021fcfbc91e279342678b7f2c4d6d.tar.gz
Try again to make "noescape" actually work...
-rw-r--r--abort.inc4
-rw-r--r--parseconfig.inc2
-rw-r--r--ui.inc6
3 files changed, 8 insertions, 4 deletions
diff --git a/abort.inc b/abort.inc
index e2cfcbb9..25598d3f 100644
--- a/abort.inc
+++ b/abort.inc
@@ -54,7 +54,7 @@ abort_check:
%elif IS_PXELINUX
lss esp,[BaseStack]
%elif IS_ISOLINUX
- lss sp,[cs:Stack]
+ lss sp,[Stack]
%else
NEED TO KNOW HOW TO RESET STACK
%endif
@@ -62,7 +62,7 @@ abort_check:
call cwritestr ; Expects SI -> error msg
; If NOESCAPE is active, then execute the default command
- cmp byte [KbdFlags],0
+ cmp byte [KbdFlagMask],0
jz auto_boot ; Default command
jmp enter_command ; Otherwise command prompt
diff --git a/parseconfig.inc b/parseconfig.inc
index 77caf845..1e5ff5f2 100644
--- a/parseconfig.inc
+++ b/parseconfig.inc
@@ -279,7 +279,7 @@ pc_say: call pc_getline ; "say" command
; "noescape" command
;
pc_noescape:
- mov byte [KbdFlags],0
+ mov byte [KbdFlagMask],0 ; No escape route available...
; Fall into pc_getline
;
diff --git a/ui.inc b/ui.inc
index 06b67e92..968f778b 100644
--- a/ui.inc
+++ b/ui.inc
@@ -22,7 +22,8 @@ no_config_file:
check_for_key:
cmp word [ForcePrompt],byte 0 ; Force prompt?
jnz enter_command
- test byte [KbdFlags],5Bh ; Caps, Scroll, Shift, Alt
+ mov al,[KbdFlags]
+ test al,[KbdFlagMask]
jz auto_boot ; If neither, default boot
enter_command:
@@ -485,6 +486,9 @@ kernel_good:
%endif
; Otherwise Linux kernel
+ section .data
+KbdFlagMask db 5Bh ; Caps, Scroll, Shift, Alt
+
section .bss
alignb 2
KernelExtPtr resw 1 ; During search, final null pointer