summaryrefslogtreecommitdiff
path: root/core/parseconfig.inc
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-05-18 14:32:57 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-05-18 14:32:57 -0700
commit12ae69d843447d3a973b0d9087f4f34f18e96ae8 (patch)
tree4e301fda2cf201bddda9e9ed445958308e8e3e24 /core/parseconfig.inc
parentb59d70ca4c0140550d9be8d029dc79e605fa3954 (diff)
parent4826c90afd85d3bc8ee963de0bf1438340db865a (diff)
downloadsyslinux-12ae69d843447d3a973b0d9087f4f34f18e96ae8.tar.gz
Merge branch 'master' into core32
Conflicts: core/extlinux.asm core/isolinux.asm core/ldlinux.asm core/pxeidle.inc core/pxelinux.asm Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'core/parseconfig.inc')
-rw-r--r--core/parseconfig.inc13
1 files changed, 6 insertions, 7 deletions
diff --git a/core/parseconfig.inc b/core/parseconfig.inc
index 77afaa65..e6819bf7 100644
--- a/core/parseconfig.inc
+++ b/core/parseconfig.inc
@@ -178,9 +178,8 @@ pc_include: inc word [IncludeLevel]
pc_serial: call getint
jc .err
push bx ; Serial port #
- xor ax,ax
- mov [FlowControl],ax ; Default to no flow control
- mov [FlowIgnore],al
+ xor eax,eax
+ mov [FlowControl],eax ; Default to no flow control
call skipspace
jc .nobaud
call ungetc
@@ -200,7 +199,7 @@ pc_serial: call getint
shl bh,4
mov [FlowIgnore],bh
mov bh,bl
- and bx,0F003h ; Valid bits
+ and bx,0F00Bh ; Valid bits
mov [FlowControl],bx
pop ebx ; Baud rate
jmp short .parse_baud
@@ -247,7 +246,8 @@ pc_serial: call getint
jne .err ; Assume serial port busted
dec dx
dec dx ; DX -> IER
- xor al,al ; IRQ disable
+ test byte [FlowOutput],8
+ setnz al ; Bit 0 -> input available IRQ
call slow_out
inc dx ; DX -> FCR/IIR
@@ -262,8 +262,7 @@ pc_serial: call getint
inc dx
inc dx ; DX -> MCR
- in al,dx
- or al,[FlowOutput] ; Assert bits
+ mov al,[FlowOutput] ; Assert bits
call slow_out
; Show some life