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

Classes | Defines | Typedefs | Enumerations | Functions | Variables

pdmdev.h File Reference

#include <VBox/pdmqueue.h>
#include <VBox/pdmcritsect.h>
#include <VBox/pdmthread.h>
#include <VBox/pdmifs.h>
#include <VBox/pdmins.h>
#include <VBox/pdmcommon.h>
#include <VBox/iom.h>
#include <VBox/tm.h>
#include <VBox/ssm.h>
#include <VBox/cfgm.h>
#include <VBox/dbgf.h>
#include <VBox/err.h>
#include <VBox/pci.h>
#include <iprt/stdarg.h>
Include dependency graph for pdmdev.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PDMAPICHLPR0
struct  PDMAPICHLPR3
struct  PDMAPICHLPRC
struct  PDMAPICREG
struct  PDMDEVHLPR0
struct  PDMDEVHLPRC
struct  PDMDEVINS
struct  PDMDEVREG
struct  PDMDEVREGCB
struct  PDMHPETHLPR0
struct  PDMHPETHLPR3
struct  PDMHPETHLPRC
struct  PDMHPETREG
struct  PDMIOAPICHLPR0
struct  PDMIOAPICHLPR3
struct  PDMIOAPICHLPRC
struct  PDMIOAPICREG
struct  PDMPCIBUSREG
struct  PDMPCIHLPR0
struct  PDMPCIHLPR3
struct  PDMPCIHLPRC
struct  PDMPICHLPR0
struct  PDMPICHLPR3
struct  PDMPICHLPRC
struct  PDMPICREG
struct  PDMRTCHLP
struct  PDMRTCREG

Defines

#define PDM_APICHLPR0_VERSION   PDM_VERSION_MAKE(0xfff4, 1, 0)
#define PDM_APICHLPR3_VERSION   PDM_VERSION_MAKE(0xfff3, 1, 0)
#define PDM_APICHLPRC_VERSION   PDM_VERSION_MAKE(0xfff5, 1, 0)
#define PDM_APICREG_VERSION   PDM_VERSION_MAKE(0xfff6, 1, 0)
#define PDM_DEVHLPR0_VERSION   PDM_VERSION_MAKE(0xffe5, 1, 0)
#define PDM_DEVHLPR3_VERSION   PDM_VERSION_MAKE(0xffe7, 2, 0)
#define PDM_DEVHLPRC_VERSION   PDM_VERSION_MAKE(0xffe6, 1, 0)
#define PDM_DEVINS_VERSION   PDM_VERSION_MAKE(0xffe4, 2, 0)
#define PDM_DEVREG_CB_VERSION   PDM_VERSION_MAKE(0xffe3, 1, 0)
#define PDM_DEVREG_VERSION   PDM_VERSION_MAKE(0xffff, 1, 0)
#define PDM_HPETHLPR0_VERSION   PDM_VERSION_MAKE(0xffed, 2, 0)
#define PDM_HPETHLPR3_VERSION   PDM_VERSION_MAKE(0xffec, 2, 0)
#define PDM_HPETHLPRC_VERSION   PDM_VERSION_MAKE(0xffee, 2, 0)
#define PDM_HPETREG_VERSION   PDM_VERSION_MAKE(0xffe2, 1, 0)
#define PDM_IOAPICHLPR0_VERSION   PDM_VERSION_MAKE(0xfff0, 1, 0)
#define PDM_IOAPICHLPR3_VERSION   PDM_VERSION_MAKE(0xffef, 1, 0)
#define PDM_IOAPICHLPRC_VERSION   PDM_VERSION_MAKE(0xfff1, 1, 0)
#define PDM_IOAPICREG_VERSION   PDM_VERSION_MAKE(0xfff2, 1, 0)
#define PDM_PCIBUSREG_VERSION   PDM_VERSION_MAKE(0xfffe, 1, 0)
#define PDM_PCIHLPR0_VERSION   PDM_VERSION_MAKE(0xfffc, 1, 0)
#define PDM_PCIHLPR3_VERSION   PDM_VERSION_MAKE(0xfffb, 1, 0)
#define PDM_PCIHLPRC_VERSION   PDM_VERSION_MAKE(0xfffd, 1, 0)
#define PDM_PICHLPR0_VERSION   PDM_VERSION_MAKE(0xfff8, 1, 0)
#define PDM_PICHLPR3_VERSION   PDM_VERSION_MAKE(0xfff7, 1, 0)
#define PDM_PICHLPRC_VERSION   PDM_VERSION_MAKE(0xfff9, 1, 0)
#define PDM_PICREG_VERSION   PDM_VERSION_MAKE(0xfffa, 1, 0)
#define PDM_RTCHLP_VERSION   PDM_VERSION_MAKE(0xffe8, 1, 0)
#define PDM_RTCREG_VERSION   PDM_VERSION_MAKE(0xffe9, 1, 0)
#define PDMDEV_ASSERT_EMT(pDevIns)   do { } while (0)
#define PDMDEV_ASSERT_OTHER(pDevIns)   do { } while (0)
#define PDMDEV_ASSERT_VMLOCK_OWNER(pDevIns)   do { } while (0)
#define PDMDEV_CHECK_VERSIONS_RETURN(pDevIns)
#define PDMDEV_CHECK_VERSIONS_RETURN_QUIET(pDevIns)
#define PDMDEV_SET_ERROR(pDevIns, rc, pszError)   PDMDevHlpVMSetError(pDevIns, rc, RT_SRC_POS, "%s", pszError)
#define PDMDEV_SET_RUNTIME_ERROR(pDevIns, fFlags, pszErrorId, pszError)   PDMDevHlpVMSetRuntimeError(pDevIns, fFlags, pszErrorId, "%s", pszError)
#define PDMDEV_VALIDATE_CONFIG_RETURN(pDevIns, pszValidValues, pszValidNodes)
#define PDMDEVINS_2_R0PTR(pDevIns)   ( (R0PTRTYPE(PPDMDEVINS))((RTR0UINTPTR)(pDevIns)->pvInstanceDataR0 - RT_OFFSETOF(PDMDEVINS, achInstanceData)) )
#define PDMDEVINS_2_R3PTR(pDevIns)   ( (R3PTRTYPE(PPDMDEVINS))((RTHCUINTPTR)(pDevIns)->pvInstanceDataR3 - RT_OFFSETOF(PDMDEVINS, achInstanceData)) )
#define PDMDEVINS_2_RCPTR(pDevIns)   ( (RCPTRTYPE(PPDMDEVINS))((RTGCUINTPTR)(pDevIns)->pvInstanceDataRC - RT_OFFSETOF(PDMDEVINS, achInstanceData)) )
#define PDMIBASE_2_PDMDEV(pInterface)   ( (PPDMDEVINS)((char *)(pInterface) - RT_OFFSETOF(PDMDEVINS, IBase)) )
#define PDM_DEVREG_FLAGS_RC   0x00000001
#define PDM_DEVREG_FLAGS_R0   0x00000002
#define PDM_DEVREG_FLAGS_HOST_BITS_DEFAULT   0x00000010
#define PDM_DEVREG_FLAGS_HOST_BITS_MASK   0x00000030
#define PDM_DEVREG_FLAGS_GUEST_BITS_32   0x00000100
#define PDM_DEVREG_FLAGS_GUEST_BITS_64   0x00000200
#define PDM_DEVREG_FLAGS_GUEST_BITS_32_64   0x00000300
#define PDM_DEVREG_FLAGS_GUEST_BITS_DEFAULT   PDM_DEVREG_FLAGS_GUEST_BITS_32
#define PDM_DEVREG_FLAGS_GUEST_BITS_MASK   0x00000300
#define PDM_DEVREG_FLAGS_DEFAULT_BITS   (PDM_DEVREG_FLAGS_GUEST_BITS_DEFAULT | PDM_DEVREG_FLAGS_HOST_BITS_DEFAULT)
#define PDM_DEVREG_FLAGS_PAE36   0x00001000
#define PDM_DEVREG_FLAGS_FIRST_SUSPEND_NOTIFICATION   0x00002000
#define PDM_DEVREG_FLAGS_FIRST_POWEROFF_NOTIFICATION   0x00004000
#define PDM_DEVREG_CLASS_ARCH   RT_BIT(0)
#define PDM_DEVREG_CLASS_ARCH_BIOS   RT_BIT(1)
#define PDM_DEVREG_CLASS_BUS_PCI   RT_BIT(2)
#define PDM_DEVREG_CLASS_BUS_ISA   RT_BIT(3)
#define PDM_DEVREG_CLASS_INPUT   RT_BIT(4)
#define PDM_DEVREG_CLASS_PIC   RT_BIT(5)
#define PDM_DEVREG_CLASS_PIT   RT_BIT(6)
#define PDM_DEVREG_CLASS_RTC   RT_BIT(7)
#define PDM_DEVREG_CLASS_DMA   RT_BIT(8)
#define PDM_DEVREG_CLASS_VMM_DEV   RT_BIT(9)
#define PDM_DEVREG_CLASS_GRAPHICS   RT_BIT(10)
#define PDM_DEVREG_CLASS_STORAGE   RT_BIT(11)
#define PDM_DEVREG_CLASS_NETWORK   RT_BIT(12)
#define PDM_DEVREG_CLASS_AUDIO   RT_BIT(13)
#define PDM_DEVREG_CLASS_BUS_USB   RT_BIT(14)
#define PDM_DEVREG_CLASS_ACPI   RT_BIT(15)
#define PDM_DEVREG_CLASS_SERIAL   RT_BIT(16)
#define PDM_DEVREG_CLASS_PARALLEL   RT_BIT(17)
#define PDM_DEVREG_CLASS_MISC   RT_BIT(31)
IRQ Level for use with the *SetIrq APIs.
#define PDM_IRQ_LEVEL_HIGH   RT_BIT(0)
#define PDM_IRQ_LEVEL_LOW   0
#define PDM_IRQ_LEVEL_FLIP_FLOP   (RT_BIT(1) | PDM_IRQ_LEVEL_HIGH)

Typedefs

typedef RTUINT void RTUINT cbIn
typedef RTUINT void RTUINT
void RTUINT 
cbOut
typedef unsigned uint32_t fFlags
typedef int iInstance
typedef unsigned iLUN
typedef RTGCINTPTR offDelta
typedef RTUINT void RTUINT
void RTUINT PRTUINT 
pcbOut
typedef int PCFGMNODE pCfg
typedef PDMDEVREG const * PCPDMDEVREG
typedef const PDMRTCHLPPCPDMRTCHLP
typedef const PDMRTCREGPCPDMRTCREG
typedef struct PDMAPICHLPR0 PDMAPICHLPR0
typedef struct PDMAPICHLPR3 PDMAPICHLPR3
typedef struct PDMAPICHLPRC PDMAPICHLPRC
typedef enum PDMAPICIRQ PDMAPICIRQ
typedef struct PDMAPICREG PDMAPICREG
typedef enum PDMAPICVERSION PDMAPICVERSION
typedef struct PDMDEVHLPR0 PDMDEVHLPR0
typedef struct PDMDEVHLPRC PDMDEVHLPRC
typedef struct PDMDEVINS PDMDEVINS
typedef struct PDMDEVREG PDMDEVREG
typedef struct PDMDEVREGCB PDMDEVREGCB
typedef struct PDMHPETHLPR0 PDMHPETHLPR0
typedef struct PDMHPETHLPR3 PDMHPETHLPR3
typedef struct PDMHPETHLPRC PDMHPETHLPRC
typedef struct PDMHPETREG PDMHPETREG
typedef struct PDMIOAPICHLPR0 PDMIOAPICHLPR0
typedef struct PDMIOAPICHLPR3 PDMIOAPICHLPR3
typedef struct PDMIOAPICHLPRC PDMIOAPICHLPRC
typedef struct PDMIOAPICREG PDMIOAPICREG
typedef struct PDMPCIBUSREG PDMPCIBUSREG
typedef struct PDMPCIHLPR0 PDMPCIHLPR0
typedef struct PDMPCIHLPR3 PDMPCIHLPR3
typedef struct PDMPCIHLPRC PDMPCIHLPRC
typedef struct PDMPICHLPR0 PDMPICHLPR0
typedef struct PDMPICHLPR3 PDMPICHLPR3
typedef struct PDMPICHLPRC PDMPICHLPRC
typedef struct PDMPICREG PDMPICREG
typedef struct PDMRTCHLP PDMRTCHLP
typedef struct PDMRTCREG PDMRTCREG
typedef FNPDMDEVATTACH * PFNPDMDEVATTACH
typedef FNPDMDEVCONSTRUCT * PFNPDMDEVCONSTRUCT
typedef FNPDMDEVDESTRUCT * PFNPDMDEVDESTRUCT
typedef FNPDMDEVDETACH * PFNPDMDEVDETACH
typedef FNPDMDEVINITCOMPLETE * PFNPDMDEVINITCOMPLETE
typedef FNPDMDEVIOCTL * PFNPDMDEVIOCTL
typedef FNPDMDEVPOWEROFF * PFNPDMDEVPOWEROFF
typedef FNPDMDEVPOWERON * PFNPDMDEVPOWERON
typedef FNPDMDEVQUERYINTERFACE * PFNPDMDEVQUERYINTERFACE
typedef FNPDMDEVRELOCATE * PFNPDMDEVRELOCATE
typedef FNPDMDEVRESET * PFNPDMDEVRESET
typedef FNPDMDEVRESUME * PFNPDMDEVRESUME
typedef FNPDMDEVSUSPEND * PFNPDMDEVSUSPEND
typedef unsigned PPDMIBASEppBase
typedef PDMAPICREGPPDMAPICREG
typedef PDMDEVREGPPDMDEVREG
typedef PDMHPETREGPPDMHPETREG
typedef PDMIOAPICREGPPDMIOAPICREG
typedef PDMPCIBUSREGPPDMPCIBUSREG
typedef PDMPICREGPPDMPICREG
typedef PDMRTCHLPPPDMRTCHLP
typedef PDMRTCREGPPDMRTCREG
typedef RTUINT void * pvIn
typedef RTUINT void RTUINT void * pvOut
typedef uint32_t u32Version
typedef RTUINT uFunction

Enumerations

enum  PDMAPICIRQ {
  PDMAPICIRQ_INVALID = 0, PDMAPICIRQ_HARDWARE, PDMAPICIRQ_NMI, PDMAPICIRQ_SMI,
  PDMAPICIRQ_EXTINT, PDMAPICIRQ_32BIT_HACK = 0x7fffffff
}
enum  PDMAPICVERSION {
  PDMAPICVERSION_INVALID = 0, PDMAPICVERSION_NONE, PDMAPICVERSION_APIC, PDMAPICVERSION_X2APIC,
  PDMAPICVERSION_32BIT_HACK = 0x7fffffff
}

Functions

typedef DECLCALLBACK (int) FNPDMDEVCONSTRUCT(PPDMDEVINS pDevIns
typedef DECLCALLBACK (void) FNPDMDEVRELOCATE(PPDMDEVINS pDevIns
 DECLINLINE (int) PDMDevHlpPhysRead(PPDMDEVINS pDevIns
typedef R0PTRTYPE (const struct PDMDEVHLPR0 *) PCPDMDEVHLPR0
typedef R0PTRTYPE (const PDMAPICHLPR0 *) PCPDMAPICHLPR0
typedef R0PTRTYPE (struct PDMDEVHLPR0 *) PPDMDEVHLPR0
typedef R0PTRTYPE (PDMPCIHLPR0 *) PPDMPCIHLPR0
typedef R0PTRTYPE (PDMPICHLPR0 *) PPDMPICHLPR0
typedef R0PTRTYPE (PDMIOAPICHLPR0 *) PPDMIOAPICHLPR0
typedef R0PTRTYPE (const PDMPCIHLPR0 *) PCPDMPCIHLPR0
typedef R0PTRTYPE (const PDMPICHLPR0 *) PCPDMPICHLPR0
typedef R0PTRTYPE (const PDMIOAPICHLPR0 *) PCPDMIOAPICHLPR0
typedef R0PTRTYPE (PDMHPETHLPR0 *) PPDMHPETHLPR0
typedef R0PTRTYPE (const PDMHPETHLPR0 *) PCPDMHPETHLPR0
typedef R3PTRTYPE (const PDMIOAPICHLPR3 *) PCPDMIOAPICHLPR3
typedef R3PTRTYPE (const PDMHPETHLPR3 *) PCPDMHPETHLPR3
typedef R3PTRTYPE (struct PDMDEVHLPR3 *) PPDMDEVHLPR3
typedef R3PTRTYPE (const struct PDMDEVHLPR3 *) PCPDMDEVHLPR3
typedef R3PTRTYPE (const PDMPCIHLPR3 *) PCPDMPCIHLPR3
typedef R3PTRTYPE (PDMAPICHLPR3 *) PPDMAPICHLPR3
typedef R3PTRTYPE (const PDMAPICHLPR3 *) PCPDMAPICHLPR3
typedef R3PTRTYPE (PDMHPETHLPR3 *) PPDMHPETHLPR3
typedef R3PTRTYPE (PDMIOAPICHLPR3 *) PPDMIOAPICHLPR3
typedef R3PTRTYPE (PDMPICHLPR3 *) PPDMPICHLPR3
typedef R3PTRTYPE (PDMPCIHLPR3 *) PPDMPCIHLPR3
typedef R3PTRTYPE (const PDMPICHLPR3 *) PCPDMPICHLPR3
typedef RCPTRTYPE (const PDMHPETHLPRC *) PCPDMHPETHLPRC
typedef RCPTRTYPE (PDMPCIHLPRC *) PPDMPCIHLPRC
typedef RCPTRTYPE (PDMHPETHLPRC *) PPDMHPETHLPRC
typedef RCPTRTYPE (PDMAPICHLPR0 *) PPDMAPICHLPR0
typedef RCPTRTYPE (const PDMPCIHLPRC *) PCPDMPCIHLPRC
typedef RCPTRTYPE (struct PDMDEVHLPRC *) PPDMDEVHLPRC
typedef RCPTRTYPE (PDMAPICHLPRC *) PPDMAPICHLPRC
typedef RCPTRTYPE (const struct PDMDEVHLPRC *) PCPDMDEVHLPRC
typedef RCPTRTYPE (PDMPICHLPRC *) PPDMPICHLPRC
typedef RCPTRTYPE (PDMIOAPICHLPRC *) PPDMIOAPICHLPRC
typedef RCPTRTYPE (const PDMIOAPICHLPRC *) PCPDMIOAPICHLPRC
typedef RCPTRTYPE (const PDMAPICHLPRC *) PCPDMAPICHLPRC
typedef RCPTRTYPE (const PDMPICHLPRC *) PCPDMPICHLPRC

Variables

RTGCPHYS GCPhys
RTGCPHYS void * pvBuf

Detailed Description

PDM - Pluggable Device Manager, Devices. (VMM)

Definition in file pdmdev.h.


Generated by  Doxygen 1.6.0   Back to index