VirtualBox

Changeset 83850 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Apr 20, 2020 11:35:14 AM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
137379
Message:

AMD IOMMU: bugref:9654 R0 registration bits.

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

Legend:

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

    r82989 r83850  
    202202        struct PDMR0PERVM   s;
    203203#endif
    204         uint8_t             padding[1792];
     204        uint8_t             padding[1920];
    205205    } pdmr0;
    206206
     
    231231    /** Padding so aCpus starts on a page boundrary.  */
    232232#ifdef VBOX_WITH_NEM_R0
    233     uint8_t         abPadding2[4096*2 - 64 - 256 - 1024 - 256 - 64 - 1792 - 640 - 512 - 64 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT];
    234 #else
    235     uint8_t         abPadding2[4096*2 - 64 - 256 - 1024       - 64 - 1792 - 640 - 512 - 64 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT];
     233    uint8_t         abPadding2[4096*2 - 64 - 256 - 1024 - 256 - 64 - 1920 - 640 - 512 - 64 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT];
     234#else
     235    uint8_t         abPadding2[4096*2 - 64 - 256 - 1024       - 64 - 1920 - 640 - 512 - 64 - sizeof(PGVMCPU) * VMM_MAX_CPU_COUNT];
    236236#endif
    237237
  • trunk/include/VBox/vmm/pdmdev.h

    r83285 r83850  
    35673567     * @param   ppIommuHlp          Where to store the pointer to the ring-3 IOMMU
    35683568     *                              helpers.
    3569      */
    3570     DECLR3CALLBACKMEMBER(int, pfnIommuRegister,(PPDMDEVINS pDevIns, PPDMIOMMUREGR3 pIommuReg, PCPDMIOMMUHLPR3 *ppIommuHlp));
     3569     * @param   pidxIommu           Where to return the IOMMU index. Optional.
     3570     */
     3571    DECLR3CALLBACKMEMBER(int, pfnIommuRegister,(PPDMDEVINS pDevIns, PPDMIOMMUREGR3 pIommuReg, PCPDMIOMMUHLPR3 *ppIommuHlp,
     3572                                                uint32_t *pidxIommu));
    35713573
    35723574    /**
     
    45154517
    45164518    /**
     4519     * Sets up the IOMMU for the raw-mode context.
     4520     *
     4521     * This must be called after ring-3 has registered the IOMMU using
     4522     * PDMDevHlpIommuRegister().
     4523     *
     4524     * @returns VBox status code.
     4525     * @param   pDevIns     The device instance.
     4526     * @param   pIommuReg   The IOMMU registration information for raw-mode,
     4527     *                      considered volatile.
     4528     * @param   ppIommuHlp  Where to return the raw-mode IOMMU helpers.
     4529     */
     4530    DECLRCCALLBACKMEMBER(int, pfnIommuSetUpContext,(PPDMDEVINS pDevIns, PPDMIOMMUREGRC pIommuReg, PCPDMIOMMUHLPRC *ppIommuHlp));
     4531
     4532    /**
    45174533     * Sets up the PIC for the ring-0 context.
    45184534     *
     
    45904606
    45914607/** Current PDMDEVHLP version number. */
    4592 #define PDM_DEVHLPRC_VERSION                    PDM_VERSION_MAKE(0xffe6, 14, 0)
     4608#define PDM_DEVHLPRC_VERSION                    PDM_VERSION_MAKE(0xffe6, 15, 0)
    45934609
    45944610
     
    50365052
    50375053    /**
     5054     * Sets up the IOMMU for the ring-0 context.
     5055     *
     5056     * This must be called after ring-3 has registered the IOMMU using
     5057     * PDMDevHlpIommuRegister().
     5058     *
     5059     * @returns VBox status code.
     5060     * @param   pDevIns     The device instance.
     5061     * @param   pIommuReg   The IOMMU registration information for ring-0,
     5062     *                      considered volatile and copied.
     5063     * @param   ppIommuHlp  Where to return the ring-0 IOMMU helpers.
     5064     */
     5065    DECLR0CALLBACKMEMBER(int, pfnIommuSetUpContext,(PPDMDEVINS pDevIns, PPDMIOMMUREGR0 pIommuReg, PCPDMIOMMUHLPR0 *ppIommuHlp));
     5066
     5067    /**
    50385068     * Sets up the PIC for the ring-0 context.
    50395069     *
     
    51115141
    51125142/** Current PDMDEVHLP version number. */
    5113 #define PDM_DEVHLPR0_VERSION                    PDM_VERSION_MAKE(0xffe5, 16, 0)
     5143#define PDM_DEVHLPR0_VERSION                    PDM_VERSION_MAKE(0xffe5, 17, 0)
    51145144
    51155145
     
    73987428 * @copydoc PDMDEVHLPR3::pfnIommuRegister
    73997429 */
    7400 DECLINLINE(int) PDMDevHlpIommuRegister(PPDMDEVINS pDevIns, PPDMIOMMUREGR3 pIommuReg, PCPDMIOMMUHLPR3 *ppIommuHlp)
    7401 {
    7402     return pDevIns->pHlpR3->pfnIommuRegister(pDevIns, pIommuReg, ppIommuHlp);
     7430DECLINLINE(int) PDMDevHlpIommuRegister(PPDMDEVINS pDevIns, PPDMIOMMUREGR3 pIommuReg, PCPDMIOMMUHLPR3 *ppIommuHlp, uint32_t *pidxIommu)
     7431{
     7432    return pDevIns->pHlpR3->pfnIommuRegister(pDevIns, pIommuReg, ppIommuHlp, pidxIommu);
    74037433}
    74047434
     
    75577587{
    75587588    return pDevIns->CTX_SUFF(pHlp)->pfnPCIBusSetUpContext(pDevIns, pPciBusReg, ppPciHlp);
     7589}
     7590
     7591/**
     7592 * @copydoc PDMDEVHLPR0::pfnIommuSetUpContext
     7593 */
     7594DECLINLINE(int) PDMDevHlpIommuSetUpContext(PPDMDEVINS pDevIns, CTX_SUFF(PPDMIOMMUREG) pIommuReg, CTX_SUFF(PCPDMIOMMUHLP) *ppIommuHlp)
     7595{
     7596    return pDevIns->CTX_SUFF(pHlp)->pfnIommuSetUpContext(pDevIns, pIommuReg, ppIommuHlp);
    75597597}
    75607598
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