diff options
author | Shao Miller <shao.miller@yrdsb.edu.on.ca> | 2010-06-14 18:50:56 -0400 |
---|---|---|
committer | Shao Miller <shao.miller@yrdsb.edu.on.ca> | 2010-06-15 00:48:34 -0400 |
commit | 62ac3a7710b846c66a190156a11b7170015e7afb (patch) | |
tree | 67c722a96f4e28742b7a7fe4b69930d237a87356 /dosutil | |
parent | f23e586f898704626b4db5287a1c70cdfb11af5d (diff) | |
download | syslinux-62ac3a7710b846c66a190156a11b7170015e7afb.tar.gz |
eltorito: Include drive 0xFF in scan
Although drive 0xFF could yield a false positive as the El Torito
booted-from drive number, some users of GRUB4DOS actually use
this drive number, so we should include it in our scan.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
Diffstat (limited to 'dosutil')
-rw-r--r-- | dosutil/eltorito.asm | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/dosutil/eltorito.asm b/dosutil/eltorito.asm index 96cfd9ba..d6b6b50e 100644 --- a/dosutil/eltorito.asm +++ b/dosutil/eltorito.asm @@ -1029,9 +1029,11 @@ SpecGo: mov si,SpecPkt ScanDrives: push ax ; at df3 in 1.4 push si - mov dl, 80h ;Start at Drive 0x80 -NextDrv: mov ax,4B01h ;Get Bootable CD-ROM Status - mov BYTE [SpecPkt],0 ;Clear 1st byte of SpecPkt + mov dl, 7fh ;Start at Drive 0x80 +NextDrv: inc dl + clc + mov ax,4B01h ;Get Bootable CD-ROM Status + mov BYTE [SpecPkt],0 ;Clear 1st byte of SpecPkt call SpecGo ; Carry is not cleared in buggy Dell BIOSes, ; so I'm checking packet size byte @@ -1044,10 +1046,9 @@ NextDrv: mov ax,4B01h ;Get Bootable CD-ROM Status ja FindFail ; in 1.4 at e16 jmp short SendFound ; in 1.4 at e26 -FindFail: inc dl ;Next drive - cmp dl, 0ffh - jb SendFail ; Check from 80h..ffh - jmp short NextDrv +FindFail: cmp dl, 0ffh + je SendFail ; Check from 80h..ffh + jmp short NextDrv ;Next drive SendFail: xor dl,dl stc jmp short ThingDone |