VirtualBox

Changeset 88224 in vbox


Ignore:
Timestamp:
Mar 22, 2021 6:19:50 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143411
Message:

Intel IOMMU: bugref:9967 WIP.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Bus/DevIommuIntel.cpp

    r88222 r88224  
    342342
    343343/** Array of RW masks for all register groups. */
    344 static const uint8_t *g_pabRwMasks[]   = { (uint8_t *)&g_au32RwMasks0[0], (uint8_t *)&g_au32RwMasks1[0] };
     344static const uint8_t *g_apbRwMasks[]   = { (uint8_t *)&g_au32RwMasks0[0], (uint8_t *)&g_au32RwMasks1[0] };
    345345
    346346/** Array of RW1C masks for all register groups. */
    347 static const uint8_t *g_pabRw1cMasks[] = { (uint8_t *)&g_au32Rw1cMasks0[0], (uint8_t *)&g_au32Rw1cMasks1[0] };
     347static const uint8_t *g_apbRw1cMasks[] = { (uint8_t *)&g_au32Rw1cMasks0[0], (uint8_t *)&g_au32Rw1cMasks1[0] };
    348348
    349349
    350350#ifndef VBOX_DEVICE_STRUCT_TESTCASE
    351351
    352 static uint8_t * iommuIntelRegGetGroup(PIOMMU pThis, uint16_t offReg, uint8_t cbReg, uint8_t *pIdxGroup)
     352DECLINLINE(uint8_t *) iommuIntelRegGetGroup(PIOMMU pThis, uint16_t offReg, uint8_t cbReg, uint8_t *pIdxGroup)
    353353{
    354354    AssertCompile(VTD_MMIO_GROUP_0_OFF_FIRST == 0);
     
    385385    uint8_t idxGroup;
    386386    uint8_t const *pabRegs      = iommuIntelRegGetGroup(pThis, offReg, sizeof(uint64_t), &idxGroup);
    387     uint8_t const *pabRwMasks   = g_pabRwMasks[idxGroup];
    388     uint8_t const *pabRw1cMasks = g_pabRw1cMasks[idxGroup];
     387    uint8_t const *pabRwMasks   = g_apbRwMasks[idxGroup];
     388    uint8_t const *pabRw1cMasks = g_apbRw1cMasks[idxGroup];
    389389    *puReg      = *(uint64_t *)(pabRegs      + offReg);
    390390    *pfRwMask   = *(uint64_t *)(pabRwMasks   + offReg);
     
    397397    uint8_t idxGroup;
    398398    uint8_t const *pabRegs      = iommuIntelRegGetGroup(pThis, offReg, sizeof(uint32_t), &idxGroup);
    399     uint8_t const *pabRwMasks   = g_pabRwMasks[idxGroup];
    400     uint8_t const *pabRw1cMasks = g_pabRw1cMasks[idxGroup];
     399    uint8_t const *pabRwMasks   = g_apbRwMasks[idxGroup];
     400    uint8_t const *pabRw1cMasks = g_apbRw1cMasks[idxGroup];
    401401    *puReg      = *(uint32_t *)(pabRegs      + offReg);
    402402    *pfRwMask   = *(uint32_t *)(pabRwMasks   + offReg);
     
    452452
    453453
    454 static uint64_t iommuIntelRegRead32(PIOMMU pThis, uint16_t offReg)
     454static uint32_t iommuIntelRegRead32(PIOMMU pThis, uint16_t offReg)
    455455{
    456456    uint32_t uCurReg;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette