Logo Search packages:      
Sourcecode: virtualbox-ose version File versions

Internal
[The Pluggable Device Manager API]


Detailed Description

For internal use only.


Classes

struct  PDM
struct  PDMAPIC
struct  PDMCPU
struct  PDMCRITSECTINT
struct  PDMDEV
struct  PDMDEVHLPTASK
union  PDMDEVHLPTASK::PDMDEVHLPTASKPARAMS
struct  PDMDEVINSINT
struct  PDMDRV
struct  PDMDRVINSINT
struct  PDMIOAPIC
struct  PDMLUN
struct  PDMMOD
struct  PDMPCIBUS
struct  PDMPIC
struct  PDMQUEUE
struct  PDMQUEUE::PDMQUEUEFREEITEM
struct  PDMTHREADINT
struct  PDMUSB
struct  PDMUSBHUB
struct  PDMUSBINSINT
struct  PDMUSERPERVM

PDM::fQueueFlushing

enum  PDMDEVHLPTASKOP {
  PDMDEVHLPTASKOP_INVALID = 0, PDMDEVHLPTASKOP_ISA_SET_IRQ, PDMDEVHLPTASKOP_PCI_SET_IRQ, PDMDEVHLPTASKOP_IOAPIC_SET_IRQ,
  PDMDEVHLPTASKOP_32BIT_HACK = 0x7fffffff
}
typedef const PDMDEVHLPTASKPCPDMDEVHLPTASK
typedef const PDMUSBHUBPCPDMUSBHUB
typedef PDMPPDM
typedef struct
PDMASYNCCOMPLETIONEPCLASS
PPDMASYNCCOMPLETIONEPCLASS
typedef struct
PDMASYNCCOMPLETIONTEMPLATE
PPDMASYNCCOMPLETIONTEMPLATE
typedef PDMDEVHLPTASKPPDMDEVHLPTASK
typedef PDMUSERPERVMPPDMUSERPERVM
void pdmLock (PVM pVM)
int pdmLockEx (PVM pVM, int rc)
void pdmUnlock (PVM pVM)
#define PDM2VM(pPDM)   ( (PVM)((char*)pPDM - pPDM->offVM) )
#define PDM_QUEUE_FLUSH_FLAG_ACTIVE   RT_BIT_32(PDM_QUEUE_FLUSH_FLAG_ACTIVE_BIT)
#define PDM_QUEUE_FLUSH_FLAG_ACTIVE_BIT   0
#define PDM_QUEUE_FLUSH_FLAG_PENDING   RT_BIT_32(PDM_QUEUE_FLUSH_FLAG_PENDING_BIT)
#define PDM_QUEUE_FLUSH_FLAG_PENDING_BIT   1
#define PDMDEV_ASSERT_DEVINS(pDevIns)   do { } while (0)

VMM device heap

RTUINT PDM::cbVMMDevHeap
RTUINT PDM::cbVMMDevHeapLeft
RTGCPHYS PDM::GCPhysVMMDevHeap
RTR3PTR PDM::pvVMMDevHeap

PDM Async Completion

 PDM::R3PTRTYPE (PPDMASYNCCOMPLETIONTEMPLATE) pAsyncCompletionTemplates
 PDM::R3PTRTYPE (PPDMASYNCCOMPLETIONEPCLASS *) papAsyncCompletionEndpointClass

Defines

#define PDM_PCI_BUSSES_MAX   8
#define PDM_WITH_R3R0_CRIT_SECT
#define PDMCRITSECT_FLAGS_PENDING_UNLOCK   RT_BIT_32(17)
#define PDMCRITSECTINT_DECLARED
#define PDMDEVINSINT_DECLARED
#define PDMDRVINSINT_DECLARED
#define PDMMOD_NAME_LEN   32
#define PDMQUEUE_FREE_SLACK   16
#define PDMTHREADINT_DECLARED
#define PDMUSBINSINT_DECLARED

Typedefs

typedef PDMCRITSECTINTPPDMCRITSECTINT
typedef struct PDMDEVPPDMDEV
typedef struct PDMDMAC * PPDMDMAC
typedef struct PDMDRVPPDMDRV
typedef struct PDMLUNPPDMLUN
typedef PDMMODPPDMMOD
typedef struct PDMPCIBUSPPDMPCIBUS
typedef struct PDMQUEUEPPDMQUEUE
typedef struct PDMRTC * PPDMRTC
typedef struct PDMUSBPPDMUSB
typedef struct PDMUSBHUBPPDMUSBHUB
typedef PPDMDEVPPPDMDEV
typedef PPDMDRVPPPDMDRV
typedef PPDMLUNPPPDMLUN
typedef PPDMUSBPPPDMUSB

Enumerations

enum  PDMMODTYPE { PDMMOD_TYPE_RC, PDMMOD_TYPE_R0, PDMMOD_TYPE_R3 }
enum  PDMQUEUETYPE { PDMQUEUETYPE_DEV = 1, PDMQUEUETYPE_DRV, PDMQUEUETYPE_INTERNAL, PDMQUEUETYPE_EXTERNAL }
enum  PDMTHREADTYPE {
  PDMTHREADTYPE_INVALID = 0, PDMTHREADTYPE_DEVICE, PDMTHREADTYPE_USB, PDMTHREADTYPE_DRIVER,
  PDMTHREADTYPE_INTERNAL, PDMTHREADTYPE_EXTERNAL, PDMTHREADTYPE_32BIT_HACK = 0x7fffffff
}

Functions

 PDMPCIBUS::DECLR0CALLBACKMEMBER (void, pfnSetIrqR0,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iIrq, int iLevel))
 PDMIOAPIC::DECLR0CALLBACKMEMBER (void, pfnSetIrqR0,(PPDMDEVINS pDevIns, int iIrq, int iLevel))
 PDMAPIC::DECLR0CALLBACKMEMBER (int, pfnBusDeliverR0,(PPDMDEVINS pDevIns, uint8_t u8Dest, uint8_t u8DestMode, uint8_t u8DeliveryMode, uint8_t iVector, uint8_t u8Polarity, uint8_t u8TriggerMode))
 PDMAPIC::DECLR0CALLBACKMEMBER (uint32_t, pfnReadMSRR0,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint32_t u32Reg, uint64_t *pu64Value))
 PDMAPIC::DECLR0CALLBACKMEMBER (uint32_t, pfnWriteMSRR0,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint32_t u32Reg, uint64_t u64Value))
 PDMAPIC::DECLR0CALLBACKMEMBER (uint8_t, pfnGetTPRR0,(PPDMDEVINS pDevIns, VMCPUID idCpu))
 PDMAPIC::DECLR0CALLBACKMEMBER (void, pfnSetTPRR0,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint8_t u8TPR))
 PDMAPIC::DECLR0CALLBACKMEMBER (uint64_t, pfnGetBaseR0,(PPDMDEVINS pDevIns))
 PDMAPIC::DECLR0CALLBACKMEMBER (void, pfnSetBaseR0,(PPDMDEVINS pDevIns, uint64_t u64Base))
 PDMAPIC::DECLR0CALLBACKMEMBER (bool, pfnHasPendingIrqR0,(PPDMDEVINS pDevIns))
 PDMAPIC::DECLR0CALLBACKMEMBER (int, pfnGetInterruptR0,(PPDMDEVINS pDevIns))
 PDMPIC::DECLR0CALLBACKMEMBER (int, pfnGetInterruptR0,(PPDMDEVINS pDevIns))
 PDMPIC::DECLR0CALLBACKMEMBER (void, pfnSetIrqR0,(PPDMDEVINS pDevIns, int iIrq, int iLevel))
 PDMPCIBUS::DECLR3CALLBACKMEMBER (int, pfnFakePCIBIOSR3,(PPDMDEVINS pDevIns))
 PDMPCIBUS::DECLR3CALLBACKMEMBER (int, pfnLoadExecR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PSSMHANDLE pSSMHandle))
 PDMPCIBUS::DECLR3CALLBACKMEMBER (int, pfnSaveExecR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PSSMHANDLE pSSMHandle))
 PDMPCIBUS::DECLR3CALLBACKMEMBER (void, pfnSetConfigCallbacksR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld, PFNPCICONFIGWRITE pfnWrite, PPFNPCICONFIGWRITE ppfnWriteOld))
 PDMPCIBUS::DECLR3CALLBACKMEMBER (int, pfnIORegionRegisterR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, uint32_t cbRegion, PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback))
 PDMPCIBUS::DECLR3CALLBACKMEMBER (int, pfnRegisterR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, const char *pszName, int iDev))
 PDMPCIBUS::DECLR3CALLBACKMEMBER (void, pfnSetIrqR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iIrq, int iLevel))
 PDMIOAPIC::DECLR3CALLBACKMEMBER (void, pfnSetIrqR3,(PPDMDEVINS pDevIns, int iIrq, int iLevel))
 PDMAPIC::DECLR3CALLBACKMEMBER (int, pfnBusDeliverR3,(PPDMDEVINS pDevIns, uint8_t u8Dest, uint8_t u8DestMode, uint8_t u8DeliveryMode, uint8_t iVector, uint8_t u8Polarity, uint8_t u8TriggerMode))
 PDMAPIC::DECLR3CALLBACKMEMBER (int, pfnReadMSRR3,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint32_t u32Reg, uint64_t *pu64Value))
 PDMAPIC::DECLR3CALLBACKMEMBER (int, pfnWriteMSRR3,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint32_t u32Reg, uint64_t u64Value))
 PDMAPIC::DECLR3CALLBACKMEMBER (uint8_t, pfnGetTPRR3,(PPDMDEVINS pDevIns, VMCPUID idCpu))
 PDMAPIC::DECLR3CALLBACKMEMBER (void, pfnSetTPRR3,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint8_t u8TPR))
 PDMAPIC::DECLR3CALLBACKMEMBER (uint64_t, pfnGetBaseR3,(PPDMDEVINS pDevIns))
 PDMAPIC::DECLR3CALLBACKMEMBER (void, pfnSetBaseR3,(PPDMDEVINS pDevIns, uint64_t u64Base))
 PDMAPIC::DECLR3CALLBACKMEMBER (bool, pfnHasPendingIrqR3,(PPDMDEVINS pDevIns))
 PDMAPIC::DECLR3CALLBACKMEMBER (int, pfnGetInterruptR3,(PPDMDEVINS pDevIns))
 PDMPIC::DECLR3CALLBACKMEMBER (int, pfnGetInterruptR3,(PPDMDEVINS pDevIns))
 PDMPIC::DECLR3CALLBACKMEMBER (void, pfnSetIrqR3,(PPDMDEVINS pDevIns, int iIrq, int iLevel))
 PDMPCIBUS::DECLRCCALLBACKMEMBER (void, pfnSetIrqRC,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iIrq, int iLevel))
 PDMIOAPIC::DECLRCCALLBACKMEMBER (void, pfnSetIrqRC,(PPDMDEVINS pDevIns, int iIrq, int iLevel))
 PDMAPIC::DECLRCCALLBACKMEMBER (int, pfnBusDeliverRC,(PPDMDEVINS pDevIns, uint8_t u8Dest, uint8_t u8DestMode, uint8_t u8DeliveryMode, uint8_t iVector, uint8_t u8Polarity, uint8_t u8TriggerMode))
 PDMAPIC::DECLRCCALLBACKMEMBER (uint32_t, pfnReadMSRRC,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint32_t u32Reg, uint64_t *pu64Value))
 PDMAPIC::DECLRCCALLBACKMEMBER (uint32_t, pfnWriteMSRRC,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint32_t u32Reg, uint64_t u64Value))
 PDMAPIC::DECLRCCALLBACKMEMBER (uint8_t, pfnGetTPRRC,(PPDMDEVINS pDevIns, VMCPUID idCpu))
 PDMAPIC::DECLRCCALLBACKMEMBER (void, pfnSetTPRRC,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint8_t u8TPR))
 PDMAPIC::DECLRCCALLBACKMEMBER (uint64_t, pfnGetBaseRC,(PPDMDEVINS pDevIns))
 PDMAPIC::DECLRCCALLBACKMEMBER (void, pfnSetBaseRC,(PPDMDEVINS pDevIns, uint64_t u64Base))
 PDMAPIC::DECLRCCALLBACKMEMBER (bool, pfnHasPendingIrqRC,(PPDMDEVINS pDevIns))
 PDMAPIC::DECLRCCALLBACKMEMBER (int, pfnGetInterruptRC,(PPDMDEVINS pDevIns))
 PDMPIC::DECLRCCALLBACKMEMBER (int, pfnGetInterruptRC,(PPDMDEVINS pDevIns))
 PDMPIC::DECLRCCALLBACKMEMBER (void, pfnSetIrqRC,(PPDMDEVINS pDevIns, int iIrq, int iLevel))
 PDM::R0PTRTYPE (struct PDMQUEUE *) pQueueFlushR0
 PDM::R0PTRTYPE (PPDMQUEUE) pDevHlpQueueR0
 PDMQUEUE::PDMQUEUEFREEITEM::R0PTRTYPE (PPDMQUEUEITEMCORE) volatile pItemR0
 PDMQUEUE::R0PTRTYPE (PPDMQUEUEITEMCORE) volatile pPendingR0
 PDMPCIBUS::R0PTRTYPE (PPDMDEVINS) pDevInsR0
 PDMDEVINSINT::R0PTRTYPE (PPDMPCIBUS) pPciBusR0
 PDMDEVINSINT::R0PTRTYPE (struct PCIDevice *) pPciDeviceR0
 PDM::R3PTRTYPE (PPDMTHREAD) pThreads
 PDM::R3PTRTYPE (struct PDMQUEUE *) pQueuesTimer
 PDM::R3PTRTYPE (PPDMQUEUE) pDevHlpQueueR3
 PDM::R3PTRTYPE (PPDMUSBHUB) pUsbHubs
 PDM::R3PTRTYPE (PPDMRTC) pRtc
 PDM::R3PTRTYPE (PPDMDMAC) pDmac
 PDM::R3PTRTYPE (PPDMCRITSECTINT) pCritSects
 PDM::R3PTRTYPE (PPDMDRV) pDrvs
 PDM::R3PTRTYPE (PPDMUSBINS) pUsbInstances
 PDM::R3PTRTYPE (PPDMUSB) pUsbDevs
 PDM::R3PTRTYPE (PPDMDEVINS) pDevInstances
 PDM::R3PTRTYPE (PPDMDEV) pDevs
 PDMCPU::R3PTRTYPE (PPDMCRITSECT) apQueuedCritSectsLeaves[8]
 PDMQUEUE::R3PTRTYPE (PPDMQUEUEITEMCORE) volatile pPendingR3
 PDMQUEUE::@737::@741::R3PTRTYPE (void *) pvUser
 PDMQUEUE::@737::@739::R3PTRTYPE (PPDMDRVINS) pDrvIns
 PDMQUEUE::@737::@738::R3PTRTYPE (PPDMDEVINS) pDevIns
 PDMUSB::R3PTRTYPE (PPDMUSBINS) pInstances
 PDMUSB::R3PTRTYPE (const struct PDMUSBREG *) pUsbReg
 PDMDEV::R3PTRTYPE (const struct PDMDEVREG *) pDevReg
 PDMTHREADINT::R3PTRTYPE (struct PDMTHREAD *) pNext
 PDMCRITSECTINT::R3PTRTYPE (const char *) pszName
 PDMCRITSECTINT::R3PTRTYPE (struct PDMCRITSECTINT *) pNext
 PDMUSBINSINT::R3PTRTYPE (PPDMUSBHUB) pHub
 PDMUSBINSINT::R3PTRTYPE (PCFGMNODE) pCfg
 PDMUSBINSINT::R3PTRTYPE (PPDMLUN) pLuns
 PDMUSBINSINT::R3PTRTYPE (PPDMUSB) pUsbDev
 PDMUSBINSINT::R3PTRTYPE (PPDMUSBINS) pNext
 PDMDEVINSINT::R3PTRTYPE (PPDMPCIBUS) pPciBusR3
 PDMDEVINSINT::R3PTRTYPE (struct PCIDevice *) pPciDeviceR3
 PDMDEVINSINT::R3PTRTYPE (PCFGMNODE) pCfgHandle
 PDMDEVINSINT::R3PTRTYPE (PPDMLUN) pLunsR3
 PDMDEVINSINT::R3PTRTYPE (PPDMDEV) pDevR3
 PDMDEVINSINT::R3PTRTYPE (PPDMDEVINS) pPerDeviceNextR3
 PDM::RCPTRTYPE (struct PDMQUEUE *) pQueueFlushRC
 PDM::RCPTRTYPE (PPDMQUEUE) pDevHlpQueueRC
 PDMQUEUE::PDMQUEUEFREEITEM::RCPTRTYPE (PPDMQUEUEITEMCORE) volatile pItemRC
 PDMQUEUE::RCPTRTYPE (PPDMQUEUEITEMCORE) volatile pPendingRC
 PDMDEVINSINT::RCPTRTYPE (PPDMPCIBUS) pPciBusRC
 PDMDEVINSINT::RCPTRTYPE (struct PCIDevice *) pPciDeviceRC

Variables

struct PDMQUEUE::PDMQUEUEFREEITEM PDMQUEUE::aFreeItems [1]
RTR0PTR PDMDEVINSINT::Alignment0
RTRCPTR PDMDEVINSINT::Alignment1
PDMPCIBUS PDM::aPciBuses [PDM_PCI_BUSSES_MAX]
PDMAPIC PDM::Apic
RTSEMEVENTMULTI PDMTHREADINT::BlockEvent
uint32_t PDMUSBHUB::cAvailablePorts
RTUINT PDMQUEUE::cbItem
RTUINT PDMUSB::cchName
RTUINT PDMDEV::cchName
RTUINT PDMDRV::cInstances
RTUINT PDMDEV::cInstances
RTUINT PDMQUEUE::cItems
uint32_t PDMQUEUE::cMilliesInterval
uint32_t PDMUSBHUB::cPorts
PDMCRITSECT PDM::CritSect
struct {
 R3PTRTYPE (PPDMDRVINS) pDrvIns
 R3PTRTYPE (PFNPDMQUEUEDRV) pfnCallback
}   PDMQUEUE::Drv
PDMDEVHLPTASKOP PDMDEVHLPTASK::enmOp
PDMQUEUETYPE PDMQUEUE::enmType
PDMTHREADTYPE PDMTHREADINT::enmType
PDMMODTYPE PDMMOD::eType
RTSEMEVENT PDMCRITSECTINT::EventToSignal
struct {
 R3PTRTYPE (void *) pvUser
 R3PTRTYPE (PFNPDMQUEUEEXT) pfnCallback
}   PDMQUEUE::Ext
bool PDMDRVINSINT::fDetaching
uint32_t volatile PDM::fQueueFlushing
RTLDRMOD PDMMOD::hLdrMod
uint32_t volatile PDMQUEUE::iFreeHead
uint32_t volatile PDMQUEUE::iFreeTail
int PDMDEVHLPTASK::PDMDEVHLPTASKPARAMS::PDMDEVHLPTASKSETIRQ::iLevel
RTUINTPTR PDMMOD::ImageBase
RTUINT PDMUSB::iNextInstance
struct {
 R3PTRTYPE (PFNPDMQUEUEINT) pfnCallback
}   PDMQUEUE::Int
PDMIOAPIC PDM::IoApic
uint32_t PDMUSBINSINT::iPort
RTCRITSECT PDM::MiscCritSect
RTUINTPTR PDMMOD::OldImageBase
PPDMIBASE PDMLUN::pBase
PPDMDRVINS PDMLUN::pBottom
PCFGMNODE PDMDRVINSINT::pCfgHandle
PPDMDEVINS PDMLUN::pDevIns
PPDMDEVINSR0 PDMIOAPIC::pDevInsR0
PPDMDEVINSR0 PDMAPIC::pDevInsR0
PPDMDEVINSR0 PDMPIC::pDevInsR0
PPDMDEVINSR3 PDMDEVHLPTASK::pDevInsR3
PPDMDEVINSR3 PDMPCIBUS::pDevInsR3
PPDMDEVINSRC PDMPCIBUS::pDevInsRC
PPDMDEVINSRC PDMIOAPIC::pDevInsRC
PPDMDEVINSRC PDMAPIC::pDevInsRC
PPDMDEVINSRC PDMPIC::pDevInsRC
PPDMDRVINS PDMDRVINSINT::pDown
PPDMDRV PDMDRVINSINT::pDrv
PPDMDRVINS PDMUSBHUB::pDrvIns
struct PDMDRVREGPDMDRV::pDrvReg
PDMPIC PDM::Pic
PPDMDEVINSR3 PDMDEV::pInstances
PPDMLUN PDMDRVINSINT::pLun
struct PDMUSBHUBPDMUSBHUB::pNext
struct PDMMODPDMMOD::pNext
PPDMLUN PDMLUN::pNext
const char * PDMLUN::pszDesc
PTMTIMERR3 PDMQUEUE::pTimer
PPDMDRVINS PDMLUN::pTop
PPDMUSBINS PDMLUN::pUsbIns
void * PDMMOD::pvBits
RTR3PTR PDMCRITSECTINT::pvKey
PVM PDMDRVINSINT::pVM
PVMR3 PDMUSBINSINT::pVM
PVMR0 PDMQUEUE::pVMR0
PVMR0 PDMCRITSECTINT::pVMR0
PVMR0 PDMDEVINSINT::pVMR0
PVMR3 PDMQUEUE::pVMR3
PVMR3 PDMCRITSECTINT::pVMR3
PVMR3 PDMDEVINSINT::pVMR3
PVMRC PDMQUEUE::pVMRC
PVMRC PDMCRITSECTINT::pVMRC
PVMRC PDMDEVINSINT::pVMRC
RTRCPTR PDMPIC::RCPtrPadding
PDMUSBHUBREG PDMUSBHUB::Reg
RTSEMEVENTMULTI PDMTHREADINT::SleepEvent
STAMCOUNTER PDMCRITSECTINT::StatContentionR3
STAMCOUNTER PDMCRITSECTINT::StatContentionRZLock
STAMCOUNTER PDMCRITSECTINT::StatContentionRZUnlock
STAMPROFILEADV PDMCRITSECTINT::StatLocked
STAMCOUNTER PDM::StatQueuedCritSectLeaves
char PDMMOD::szFilename [1]
union
PDMDEVHLPTASK::PDMDEVHLPTASKPARAMS 
PDMDEVHLPTASK::u
union {
   struct {
 R3PTRTYPE (PPDMDEVINS) pDevIns
 R3PTRTYPE (PFNPDMQUEUEDEV) pfnCallback
   }   Dev
   struct {
 R3PTRTYPE (PPDMDRVINS) pDrvIns
 R3PTRTYPE (PFNPDMQUEUEDRV) pfnCallback
   }   PDMQUEUE::Drv
   struct {
 R3PTRTYPE (void *) pvUser
 R3PTRTYPE (PFNPDMQUEUEEXT) pfnCallback
   }   PDMQUEUE::Ext
   struct {
 R3PTRTYPE (PFNPDMQUEUEINT) pfnCallback
   }   PDMQUEUE::Int
PDMQUEUE::u
RTUINT PDM::uPadding0
uint32_t PDMCPU::uPadding0
RTUINT PDMPCIBUS::uPadding0
RTUINT PDM::uPadding1


Generated by  Doxygen 1.6.0   Back to index