VirtualBox

Changeset 83027 in vbox


Ignore:
Timestamp:
Feb 8, 2020 9:21:29 PM (5 years ago)
Author:
vboxsync
Message:

BIOS: Always report non-IDE disks as ready, reading the ATA status register is harmful for SCSI etc. drives.

File:
1 edited

Legend:

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

    r82980 r83027  
    6868
    6969/* Generic disk read/write routine signature. */
    70 typedef __fastcall (* dsk_rw_func)(bio_dsk_t __far *bios_dsk);
     70typedef int __fastcall (* dsk_rw_func)(bio_dsk_t __far *bios_dsk);
    7171
    7272/* Controller specific disk access routines. Declared as a union to reduce
     
    426426        // should look at 40:8E also???
    427427
     428#ifdef VBOX_WITH_SCSI
     429        /* SCSI drives are always "ready". */
     430        if (!VBOX_IS_SCSI_DEVICE(device)) {
     431#endif
    428432        // Read the status from controller
    429433        status = inb(bios_dsk->channels[device/2].iobase1 + ATA_CB_STAT);
     
    434438            goto int13_fail_noah;
    435439        }
     440#ifdef VBOX_WITH_SCSI
     441        } else  /* It's not an ATA drive. */
     442            goto int13_success;
     443#endif
    436444        break;
    437445
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