VirtualBox

Changeset 50037 in vbox for trunk/src/VBox/Devices/Storage


Ignore:
Timestamp:
Jan 9, 2014 1:38:27 PM (11 years ago)
Author:
vboxsync
Message:

DevAHCI: Do not let the guest trash PxCMD.CCS bits. Fixes XP SATA CD-ROMs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DevAHCI.cpp

    r50036 r50037  
    12911291static int PortCmd_r(PAHCI ahci, PAHCIPort pAhciPort, uint32_t iReg, uint32_t *pu32Value)
    12921292{
    1293     ahciLog(("%s: read regCMD=%#010x\n", __FUNCTION__, pAhciPort->regCMD));
     1293    ahciLog(("%s: read regCMD=%#010x\n", __FUNCTION__, pAhciPort->regCMD | AHCI_PORT_CMD_CCS_SHIFT(pAhciPort->u32CurrentCommandSlot)));
    12941294    ahciLog(("%s: ICC=%d ASP=%d ALPE=%d DLAE=%d ATAPI=%d CPD=%d ISP=%d HPCP=%d PMA=%d CPS=%d CR=%d FR=%d ISS=%d CCS=%d FRE=%d CLO=%d POD=%d SUD=%d ST=%d\n",
    12951295             __FUNCTION__, (pAhciPort->regCMD & AHCI_PORT_CMD_ICC) >> 28, (pAhciPort->regCMD & AHCI_PORT_CMD_ASP) >> 27,
     
    13251325             (u32Value & AHCI_PORT_CMD_POD) >> 2, (u32Value & AHCI_PORT_CMD_SUD) >> 1,
    13261326             (u32Value & AHCI_PORT_CMD_ST)));
     1327
     1328    /* The PxCMD.CCS bits are R/O and maintained separately. */
     1329    u32Value &= ~AHCI_PORT_CMD_CCS;
    13271330
    13281331    if (pAhciPort->fPoweredOn && pAhciPort->fSpunUp)
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