Changeset 34994 in vbox
- Timestamp:
- Dec 13, 2010 12:11:53 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/rombios.c
r34966 r34994 2856 2856 { 2857 2857 Bit16u ebda_seg=read_word(0x0040,0x000E); 2858 Bit16u iobase1, iobase2, blksize ;2858 Bit16u iobase1, iobase2, blksize, mult_blk_cnt; 2859 2859 Bit8u channel, slave; 2860 2860 Bit8u status, current, mode; … … 2874 2874 if (status & ATA_CB_STAT_BSY) 2875 2875 { 2876 BX_DEBUG_ATA("ata_cmd_data_in : disk busy\n"); 2876 2877 // Enable interrupts 2877 2878 outb(iobase2+ATA_CB_DC, ATA_CB_DC_HD15); … … 2922 2923 outb(iobase1 + ATA_CB_CMD, command); 2923 2924 2924 if (command == ATA_CMD_READ_MULTIPLE) 2925 if (command == ATA_CMD_READ_MULTIPLE || command == ATA_CMD_READ_MULTIPLE_EXT) { 2926 mult_blk_cnt = count; 2925 2927 count = 1; 2928 } else { 2929 mult_blk_cnt = 1; 2930 } 2926 2931 2927 2932 while (1) { … … 2993 2998 ASM_END 2994 2999 2995 current ++;3000 current += mult_blk_cnt; 2996 3001 write_word(ebda_seg, &EbdaData->ata.trsfsectors,current); 2997 3002 count--;
Note:
See TracChangeset
for help on using the changeset viewer.