VirtualBox

Changeset 22168 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Aug 11, 2009 2:42:25 PM (15 years ago)
Author:
vboxsync
Message:

BIOS: Fix OS/2 bootmanager

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/rombios.c

    r21618 r22168  
    222222/* Enough for now */
    223223#    define BX_MAX_SCSI_DEVICES 4
     224#    define BX_MAX_STORAGE_DEVICES (BX_MAX_ATA_DEVICES + BX_MAX_SCSI_DEVICES)
    224225
    225226/* A SCSI device starts always at BX_MAX_ATA_DEVICES. */
     
    23572358  // hdidmap  and cdidmap init.
    23582359  for (device=0; device<BX_MAX_ATA_DEVICES; device++) {
    2359     write_byte(ebda_seg,&EbdaData->ata.hdidmap[device],BX_MAX_ATA_DEVICES);
    2360     write_byte(ebda_seg,&EbdaData->ata.cdidmap[device],BX_MAX_ATA_DEVICES);
     2360    write_byte(ebda_seg,&EbdaData->ata.hdidmap[device],BX_MAX_STORAGE_DEVICES);
     2361    write_byte(ebda_seg,&EbdaData->ata.cdidmap[device],BX_MAX_STORAGE_DEVICES);
    23612362    }
    23622363
     
    54205421#ifdef VBOX_WITH_SCSI
    54215422  // basic check : device has to be defined
    5422   if ( (GET_ELDL() < 0x80) || (GET_ELDL() >= 0x80 + BX_MAX_ATA_DEVICES + BX_MAX_SCSI_DEVICES) ) {
     5423  if ( (GET_ELDL() < 0x80) || (GET_ELDL() >= 0x80 + BX_MAX_STORAGE_DEVICES) ) {
    54235424    BX_INFO("int13_harddisk: function %02x, ELDL out of range %02x\n", GET_AH(), GET_ELDL());
    54245425    goto int13_fail;
     
    54375438#ifdef VBOX_WITH_SCSI
    54385439  // basic check : device has to be valid
    5439   if (device >= BX_MAX_ATA_DEVICES + BX_MAX_SCSI_DEVICES) {
     5440  if (device >= BX_MAX_STORAGE_DEVICES) {
    54405441    BX_INFO("int13_harddisk: function %02x, unmapped device for ELDL=%02x\n", GET_AH(), GET_ELDL());
    54415442    goto int13_fail;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette