VirtualBox

Changeset 35107 in vbox


Ignore:
Timestamp:
Dec 14, 2010 5:15:17 PM (14 years ago)
Author:
vboxsync
Message:

BIOS: Fix for multi-sector transfers of exactly 64K.

File:
1 edited

Legend:

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

    r35098 r35107  
    28652865  mode    = read_byte(ebda_seg, &EbdaData->ata.devices[device].mode);
    28662866  blksize = read_word(ebda_seg, &EbdaData->ata.devices[device].blksize);
    2867   if (mode == ATA_MODE_PIO32) blksize>>=2;
    2868   else blksize>>=1;
     2867  if (blksize == 0) {   /* If transfer size is exactly 64K */
     2868      if (mode == ATA_MODE_PIO32) blksize=0x4000;
     2869      else blksize=0x8000;
     2870  } else {
     2871    if (mode == ATA_MODE_PIO32) blksize>>=2;
     2872    else blksize>>=1;
     2873  }
    28692874
    28702875#ifdef VBOX
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