VirtualBox

Changeset 36329 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Mar 21, 2011 4:47:48 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
70660
Message:

PCI: per-VM initialization (for IOMMU domains)

Location:
trunk/include/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/rawpci.h

    r36260 r36329  
    2929#include <iprt/types.h>
    3030
    31 
    3231RT_C_DECLS_BEGIN
    3332
     
    3736typedef uint32_t PCIRAWDEVHANDLE;
    3837
     38/** Data being part of the VM structure. */
     39typedef struct RAWPCIVM
     40{
     41    /* Shall only be interpreted by the host PCI driver. */
     42    RTR0PTR  pDriverData;
     43} RAWPCIVM;
     44typedef RAWPCIVM *PRAWPCIVM;
    3945
    4046/** Parameters buffer for PCIRAWR0_DO_OPEN_DEVICE call */
     
    5460    uint32_t fFlags;
    5561} PCIRAWREQCLOSEDEVICE;
    56 
    5762
    5863/** Parameters buffer for PCIRAWR0_DO_GET_REGION_INFO call */
     
    418423
    419424
     425    /**
     426     * Initialize per-VM data related to PCI passthrough.
     427     *
     428     * @returns VBox status code.
     429     *
     430     * @param   pIfFactory          Pointer to this structure.
     431     * @param   pVM                 Pointer to VM structure to initialize.
     432     * @param   pPciData            Pointer to PCI data.
     433     */
     434    DECLR0CALLBACKMEMBER(int, pfnInitVm,(PRAWPCIFACTORY       pFactory,
     435                                         PVM                  pVM,
     436                                         PRAWPCIVM            pPciData));
     437
     438    /**
     439     * Deinitialize per-VM data related to PCI passthrough.
     440     *
     441     * @returns VBox status code.
     442     *
     443     * @param   pIfFactory          Pointer to this structure.
     444     * @param   pVM                 Pointer to VM structure to deinitialize.
     445     * @param   pPciData            Pointer to PCI data.
     446     */
     447    DECLR0CALLBACKMEMBER(void, pfnDeinitVm,(PRAWPCIFACTORY       pFactory,
     448                                            PVM                  pVM,
     449                                            PRAWPCIVM            pPciData));
    420450} RAWPCIFACTORY;
    421451
    422 #define RAWPCIFACTORY_UUID_STR "c0268f49-e1e4-402b-b7e0-eb8d09659a9b"
     452#define RAWPCIFACTORY_UUID_STR   "0382086d-d37c-48e8-9749-c3bee355acf6"
    423453
    424454/**
  • trunk/include/VBox/vmm/vm.h

    r36054 r36329  
    10131013    } cfgm;
    10141014
     1015    /** RAWPCIVM part. */
     1016    union
     1017    {
     1018#ifdef ___VBox_rawpci_h
     1019        struct RAWPCIVM s;
     1020#endif
     1021        uint8_t     padding[64];         /* multiple of 8 */
     1022    } rawpci;
     1023
    10151024    /** Padding for aligning the cpu array on a page boundary. */
    1016     uint8_t         abAlignment2[1502];
     1025    uint8_t         abAlignment2[1438];
    10171026
    10181027    /* ---- end small stuff ---- */
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