VirtualBox

Changeset 84431 in vbox for trunk/include/VBox


Ignore:
Timestamp:
May 21, 2020 8:42:19 AM (5 years ago)
Author:
vboxsync
Message:

AMD IOMMU: bugref:9654 IOMMU interrupt remapping callback skeleton.

Location:
trunk/include/VBox/vmm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pdmdev.h

    r84332 r84431  
    12851285                                           PRTGCPHYS pGCPhysSpa));
    12861286
     1287    /**
     1288     * Performs an interrupt remap request through the IOMMU.
     1289     *
     1290     * @returns VBox status code.
     1291     * @param   pDevIns     The IOMMU device instance.
     1292     * @param   uDevId      The device identifier (bus, device, function).
     1293     * @param   GCPhysIn    The source MSI address.
     1294     * @param   uDataIn     The source MSI data.
     1295     * @param   pGCPhysOut  Where to store the remapped MSI address.
     1296     * @param   puDataOut   Where to store the remapped MSI data.
     1297     *
     1298     * @thread  Any.
     1299     */
     1300    DECLR0CALLBACKMEMBER(int, pfnMsiRemap,(PPDMDEVINS pDevIns, uint16_t uDevId, RTGCPHYS GCPhysIn, uint32_t uDataIn,
     1301                                           PRTGCPHYS pGCPhysOut, uint32_t *puDataOut));
     1302
    12871303    /** Just a safety precaution. */
    12881304    uint32_t            u32TheEnd;
     
    13361352                                           PRTGCPHYS pGCPhysSpa));
    13371353
     1354    /**
     1355     * Performs an interrupt remap request through the IOMMU.
     1356     *
     1357     * @returns VBox status code.
     1358     * @param   pDevIns     The IOMMU device instance.
     1359     * @param   uDevId      The device identifier (bus, device, function).
     1360     * @param   GCPhysIn    The source MSI address.
     1361     * @param   uDataIn     The source MSI data.
     1362     * @param   pGCPhysOut  Where to store the remapped MSI address.
     1363     * @param   puDataOut   Where to store the remapped MSI data.
     1364     *
     1365     * @thread  Any.
     1366     */
     1367    DECLRCCALLBACKMEMBER(int, pfnMsiRemap,(PPDMDEVINS pDevIns, uint16_t uDevId, RTGCPHYS GCPhysIn, uint32_t uDataIn,
     1368                                           PRTGCPHYS pGCPhysOut, uint32_t *puDataOut));
     1369
    13381370    /** Just a safety precaution. */
    13391371    uint32_t            u32TheEnd;
     
    13861418    DECLR3CALLBACKMEMBER(int, pfnMemWrite,(PPDMDEVINS pDevIns, uint16_t uDevId, uint64_t uIova, size_t cbWrite,
    13871419                                           PRTGCPHYS pGCPhysSpa));
     1420
     1421    /**
     1422     * Performs an interrupt remap request through the IOMMU.
     1423     *
     1424     * @returns VBox status code.
     1425     * @param   pDevIns     The IOMMU device instance.
     1426     * @param   uDevId      The device identifier (bus, device, function).
     1427     * @param   GCPhysIn    The source MSI address.
     1428     * @param   uDataIn     The source MSI data.
     1429     * @param   pGCPhysOut  Where to store the remapped MSI address.
     1430     * @param   puDataOut   Where to store the remapped MSI data.
     1431     *
     1432     * @thread  Any.
     1433     */
     1434    DECLR3CALLBACKMEMBER(int, pfnMsiRemap,(PPDMDEVINS pDevIns, uint16_t uDevId, RTGCPHYS GCPhysIn, uint32_t uDataIn,
     1435                                           PRTGCPHYS pGCPhysOut, uint32_t *puDataOut));
    13881436
    13891437    /** Just a safety precaution. */
  • trunk/include/VBox/vmm/vm.h

    r83263 r84431  
    13151315        struct PDM s;
    13161316#endif
    1317         uint8_t     padding[8064];      /* multiple of 64 */
     1317        uint8_t     padding[8128];      /* multiple of 64 */
    13181318    } pdm;
    13191319
     
    14501450
    14511451    /** Padding for aligning the structure size on a page boundrary. */
    1452     uint8_t         abAlignment2[600 - 256 - 64 + 256 - sizeof(PVMCPUR3) * VMM_MAX_CPU_COUNT];
     1452    uint8_t         abAlignment2[4568 - sizeof(PVMCPUR3) * VMM_MAX_CPU_COUNT];
    14531453
    14541454    /* ---- end small stuff ---- */
  • trunk/include/VBox/vmm/vm.mac

    r83263 r84431  
    126126    .selm                   resb 768
    127127    .mm                     resb 192
    128     .pdm                    resb 8064
     128    .pdm                    resb 8128
    129129    .iom                    resb 1152
    130130    .em                     resb 256
     
    139139    .R0Stats                resb 64
    140140
    141     .abAlignment2           resb 600 - 256 - 64 + 256 - RTR0PTR_CB * VMM_MAX_CPU_COUNT
     141    .abAlignment2           resb 4568 - RTR0PTR_CB * VMM_MAX_CPU_COUNT
    142142
    143143    alignb RTR0PTR_CB * VMM_MAX_CPU_COUNT ; ASSUMES VMM_MAX_CPU_COUNT is a power of two.
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