bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCHES] CD + extended floppy format


From: Yoshinori K. Okuji
Subject: Re: [PATCHES] CD + extended floppy format
Date: Mon, 15 Oct 2001 14:09:54 +0900

From: Thierry Laronde <address@hidden>
Subject: [PATCHES] CD + extended floppy format
Date: Sun, 14 Oct 2001 16:24:47 +0200

> Here are the patches and the ChangeLog for support of CD booting and
> extended floppy formats use. Everything works OK for me so please test !

Thanks for your contribution. I, however, must ask you some questions,
as your patch is so large! ;)

A question I have is why you needed the patch to boot GRUB from a
CD. Could you tell me what was wrong and how you solved it?

One problem I found is that the new function "disk_changed" cannot be
so simple. The reason is obvious, if you see the Ralf Brown's
Interrupt List. Here's the very part at which you should take a look:

INT 13 - FLOPPY DISK - DETECT DISK CHANGE (XT 1986/1/10 or later,XT286,AT,PS)
        AH = 16h
        DL = drive number (00h-7Fh)
        SI = 0000h (to avoid crash on AT&T 6300)
Return: CF clear if change line inactive
            AH = 00h (disk not changed)
        CF set if change line active
            AH = status
                01h invalid command (SyQuest)
                06h change line active or not supported
                80h drive not ready or not present
Notes:  call AH=15h first to determine whether the drive supports a change
          line
        this call also clears the media-change status, so that a disk change
          is only reported once
BUGS:   some versions of Award 386 Modular BIOS and AMI BIOS fail to clear
          the media-change status
        AT&T 6300 WGS systems crash if SI <> 0 on entry.
        some pre 1986/08/04 Compaq ROM BIOS have a serious bug where this
          function may re-configure a hard disk depending on what is located
          at ES:[BX] and data indexed to by it. MS-DOS/PC DOS IO.SYS/IBMBIO.COM
          install a special filter when they detect Compaq ROM BIOSes with
          earlier dates.
        some Compaq 286 systems have a bug in all INT 13h functions >= 16h,
          which causes the byte at DS:0074h to be destroyed when called for
          hard disks (DL >= 80h). MS-DOS/PC DOS IO.SYS/IBMBIO.COM performs a
          test on this bug using this sub-function, and if found installs a
          special filter which points DS into ROM, so that it cannot cause
          any harm.
        some drives (or controllers???) forget the change line status
          if another drive is accessed afterwards. The DOS BIOS takes care
          of this by not relying on the reported change line status when
          the change line is not active and a different drive is accessed,
          instead it reports "don't know" to the DOS kernel.
SeeAlso: AH=15h,AH=49h


I think I will have more questions later, but I haven't read your
patch thoroughly yet.

Regards,
Okuji



reply via email to

[Prev in Thread] Current Thread [Next in Thread]