[SeaBIOS] [PATCH] Support multiple hard disks in boot list.

Gaurav Poothia gaurav.poothia at gmail.com
Fri Jul 14 02:30:43 CEST 2017


Hi Kevin,
I also tried this patch to fallback from non bootable SCSI disk to
bootable SCSI disk with Windows installed. That worked too.
So while we cannot see the Windows bootloader source it sure seems to
be honoring the DL values other than 0x80

Thanks
Gaurav

On Mon, Jul 10, 2017 at 1:49 PM, Gaurav Poothia
<gaurav.poothia at gmail.com> wrote:
> Hi Kevin,
> Thanks for your response!
>
> I have tested this successfully against grub (specifically GRUB 2)
> Since you asked I went digging for the relevant code in grub - here is
> the line of code that will validate range of acceptable DL values and
> if acceptable jump ahead to boot from that disk and skip hardcoding DL
> to 0x80:
> https://github.com/coreos/grub/blob/master/grub-core/boot/i386/pc/boot.S#L222
>
> So for example if bios were to set DL to 0x81 (by fallback logic in
> the patch) that will be acceptable to grub
>
> On Fri, Jul 7, 2017 at 7:55 AM, Kevin O'Connor <kevin at koconnor.net> wrote:
>> On Fri, Jun 30, 2017 at 08:48:27PM -0400, Gaurav Poothia wrote:
>>> If multiple disks in boot order and first is unbootable
>>> then fallback to other disks in list.
>> [...]
>>> @@ -731,7 +736,10 @@ do_boot(int seq_nr)
>>>          break;
>>>      case IPL_TYPE_HARDDISK:
>>>          printf("Booting from Hard Disk...\n");
>>> -        boot_disk(0x80, 1);
>>> +        if (ie->hdid == -1)
>>> +          boot_disk(0x80 , 1);
>>> +        else
>>> +          boot_disk(0x80 + ie->hdid, 1);
>>>          break;
>>>      case IPL_TYPE_CDROM:
>>>          boot_cdrom((void*)ie->vector);
>>
>> Ultimately, what this patch does is set the DL register to something
>> other than 0x80.  I tested this approach a few years ago, and at the
>> time I could not find a single bootloader that used DL.  What
>> bootloaders did you test with this, and which ones worked and did not
>> work?
>>
>> -Kevin
>
>
>
> --
> Kiva.org - Loans That Change Lives



-- 
Kiva.org - Loans That Change Lives



More information about the SeaBIOS mailing list