diff options
Diffstat (limited to 'sys/arch/i386')
-rw-r--r-- | sys/arch/i386/stand/cdbr/cdbr.S | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/arch/i386/stand/cdbr/cdbr.S b/sys/arch/i386/stand/cdbr/cdbr.S index e9947c2cbe2..2089c8b49d8 100644 --- a/sys/arch/i386/stand/cdbr/cdbr.S +++ b/sys/arch/i386/stand/cdbr/cdbr.S @@ -1,4 +1,4 @@ -/* $OpenBSD: cdbr.S,v 1.2 2004/08/24 15:24:05 tom Exp $ */ +/* $OpenBSD: cdbr.S,v 1.3 2012/10/31 14:29:58 jsing Exp $ */ /* * Copyright (c) 2004 Tom Cosgrove <tom.cosgrove@arches-consulting.com> @@ -204,9 +204,11 @@ load_loop: load_notrunc: subb %dh, %cl /* Update count */ pushl %eax /* Save */ - movw %bx, %es /* %bx had the segment (para) number */ - xorw %bx, %bx /* %es:0000 for destination */ + pushl %ebx /* Save */ + movw %bx, %es /* %bx has the segment (para) number */ + xorw %bx, %bx /* %es:0000 for destination */ call read /* Read it in */ + popl %ebx /* Restore */ popl %eax /* Restore */ addl $MAX_READ_SEC, %eax /* Update LBA */ addw $MAX_READ_PARAS, %bx /* Update dest addr */ |