VirtualBox

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


Ignore:
Timestamp:
Aug 18, 2009 1:57:58 PM (15 years ago)
Author:
vboxsync
Message:

AHCI: Windows 7 doesn't detect additional hard disks. The command address calculation was wrong and could lead to incorrect guest addresses if set more than one time by the guest

File:
1 edited

Legend:

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

    r22124 r22324  
    13921392
    13931393    pAhciPort->regFBU = u32Value;
    1394     pAhciPort->GCPhysAddrFb |= ((RTGCPHYS)pAhciPort->regFBU) << 32;
     1394    pAhciPort->GCPhysAddrFb = AHCI_RTGCPHYS_FROM_U32(pAhciPort->regFBU, pAhciPort->regFB);
    13951395
    13961396    return VINF_SUCCESS;
     
    14151415
    14161416    pAhciPort->regFB = (u32Value & AHCI_PORT_FB_RESERVED);
    1417     pAhciPort->GCPhysAddrFb |= pAhciPort->regFB;
     1417    pAhciPort->GCPhysAddrFb = AHCI_RTGCPHYS_FROM_U32(pAhciPort->regFBU, pAhciPort->regFB);
    14181418
    14191419    return VINF_SUCCESS;
     
    14281428
    14291429    pAhciPort->regCLBU = u32Value;
    1430     pAhciPort->GCPhysAddrClb |= ((RTGCPHYS)pAhciPort->regCLBU) << 32;
     1430    pAhciPort->GCPhysAddrClb = AHCI_RTGCPHYS_FROM_U32(pAhciPort->regCLBU, pAhciPort->regCLB);
    14311431
    14321432    return VINF_SUCCESS;
     
    14611461
    14621462    pAhciPort->regCLB = (u32Value & AHCI_PORT_CLB_RESERVED);
    1463     pAhciPort->GCPhysAddrClb |= pAhciPort->regCLB;
     1463    pAhciPort->GCPhysAddrClb = AHCI_RTGCPHYS_FROM_U32(pAhciPort->regCLBU, pAhciPort->regCLB);
    14641464
    14651465    return VINF_SUCCESS;
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