Changeset 7060 in vbox
- Timestamp:
- Feb 20, 2008 6:49:47 PM (17 years ago)
- Location:
- trunk/src/VBox/Devices/Storage
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevATA.cpp
r7058 r7060 321 321 /** The BusMaster DMA state. */ 322 322 BMDMAState BmDma; 323 /** Pointer to first DMA descriptor. */324 RTGCPHYSpFirstDMADesc;325 /** Pointer to last DMA descriptor. */326 RTGCPHYSpLastDMADesc;327 /** Pointer to current DMA buffer (for redo operations). */328 RTGCPHYSpRedoDMABuffer;323 /** (32 bit) GC phys pointer to first DMA descriptor. */ 324 uint32_t pFirstDMADesc; 325 /** (32 bit) GC phys pointer to last DMA descriptor. */ 326 uint32_t pLastDMADesc; 327 /** (32 bit) GC phys pointer to current DMA buffer (for redo operations). */ 328 uint32_t pRedoDMABuffer; 329 329 /** Size of current DMA buffer (for redo operations). */ 330 330 uint32_t cbRedoDMABuffer; 331 /** Alignmnet padding. */332 uint32_t u32Alignment0;333 331 334 332 /** The ATA/ATAPI interfaces of this controller. */ … … 3911 3909 ATADevState *s = &pCtl->aIfs[pCtl->iAIOIf]; 3912 3910 bool fRedo; 3913 RTGCPHYSpDesc;3911 uint32_t pDesc; 3914 3912 uint32_t cbTotalTransfer, cbElementaryTransfer; 3915 3913 uint32_t iIOBufferCur, iIOBufferEnd; … … 3941 3939 { 3942 3940 BMDMADesc DMADesc; 3943 RTGCPHYSpBuffer;3941 uint32_t pBuffer; 3944 3942 uint32_t cbBuffer; 3945 3943 … … 3969 3967 dmalen = RT_MIN(cbBuffer, iIOBufferEnd - iIOBufferCur); 3970 3968 Log2(("%s: DMA desc %#010x: addr=%#010x size=%#010x\n", __FUNCTION__, 3971 (int)pDesc, pBuffer, cbBuffer));3969 pDesc, pBuffer, cbBuffer)); 3972 3970 if (uTxDir == PDMBLOCKTXDIR_FROM_DEVICE) 3973 3971 PDMDevHlpPhysWrite(pDevIns, pBuffer, s->CTXSUFF(pbIOBuffer) + iIOBufferCur, dmalen); … … 5625 5623 SSMR3PutBool(pSSMHandle, pData->aCts[i].fRedoDMALastDesc); 5626 5624 SSMR3PutMem(pSSMHandle, &pData->aCts[i].BmDma, sizeof(pData->aCts[i].BmDma)); 5627 SSMR3Put GCPhys(pSSMHandle, pData->aCts[i].pFirstDMADesc);5628 SSMR3Put GCPhys(pSSMHandle, pData->aCts[i].pLastDMADesc);5629 SSMR3Put GCPhys(pSSMHandle, pData->aCts[i].pRedoDMABuffer);5625 SSMR3PutU32(pSSMHandle, pData->aCts[i].pFirstDMADesc); 5626 SSMR3PutU32(pSSMHandle, pData->aCts[i].pLastDMADesc); 5627 SSMR3PutU32(pSSMHandle, pData->aCts[i].pRedoDMABuffer); 5630 5628 SSMR3PutU32(pSSMHandle, pData->aCts[i].cbRedoDMABuffer); 5631 5629 … … 5730 5728 SSMR3GetBool(pSSMHandle, (bool *)&pData->aCts[i].fRedoDMALastDesc); 5731 5729 SSMR3GetMem(pSSMHandle, &pData->aCts[i].BmDma, sizeof(pData->aCts[i].BmDma)); 5732 SSMR3Get GCPhys(pSSMHandle, &pData->aCts[i].pFirstDMADesc);5733 SSMR3Get GCPhys(pSSMHandle, &pData->aCts[i].pLastDMADesc);5734 SSMR3Get GCPhys(pSSMHandle, &pData->aCts[i].pRedoDMABuffer);5730 SSMR3GetU32(pSSMHandle, &pData->aCts[i].pFirstDMADesc); 5731 SSMR3GetU32(pSSMHandle, &pData->aCts[i].pLastDMADesc); 5732 SSMR3GetU32(pSSMHandle, &pData->aCts[i].pRedoDMABuffer); 5735 5733 SSMR3GetU32(pSSMHandle, &pData->aCts[i].cbRedoDMABuffer); 5736 5734 … … 6108 6106 pIf->cbIOBuffer = 0; 6109 6107 pIf->pbIOBufferHC = NULL; 6110 pIf->pbIOBufferGC = NIL_RTGCP HYS;6108 pIf->pbIOBufferGC = NIL_RTGCPTR; 6111 6109 LogRel(("PIIX3 ATA: LUN#%d: no unit\n", pIf->iLUN)); 6112 6110 } -
trunk/src/VBox/Devices/Storage/PIIX3ATABmDma.h
r7043 r7060 53 53 typedef struct BMDMAState { 54 54 /** Address of the MMIO region in the guest's memory space. */ 55 RTGCPHYSpvAddr;55 uint32_t pvAddr; 56 56 /** Command register. */ 57 57 uint8_t u8Cmd; 58 58 /** Status register. */ 59 59 uint8_t u8Status; 60 uint8_t au8Alignment[6]; /**< Alignment padding. */61 60 } BMDMAState; 62 61 … … 65 64 typedef struct BMDMADesc { 66 65 /** Address of the DMA source/target buffer. */ 67 RTGCPHYSpBuffer;66 uint32_t pBuffer; 68 67 /** Size of the DMA source/target buffer. */ 69 68 uint32_t cbBuffer; 70 uint32_t u32Alignment; /**< Alignment padding. */71 69 } BMDMADesc; 72 70
Note:
See TracChangeset
for help on using the changeset viewer.