iPXE
Data Structures | Macros | Typedefs | Functions
physdev.h File Reference
#include "xen.h"

Go to the source code of this file.

Data Structures

struct  physdev_eoi
 
struct  physdev_pirq_eoi_gmfn
 
struct  physdev_irq_status_query
 
struct  physdev_set_iopl
 
struct  physdev_set_iobitmap
 
struct  physdev_apic
 
struct  physdev_irq
 
struct  physdev_map_pirq
 
struct  physdev_unmap_pirq
 
struct  physdev_manage_pci
 
struct  physdev_restore_msi
 
struct  physdev_manage_pci_ext
 
struct  physdev_op
 
struct  physdev_setup_gsi
 
struct  physdev_get_free_pirq
 
struct  physdev_pci_mmcfg_reserved
 
struct  physdev_pci_device_add
 
struct  physdev_pci_device
 
struct  physdev_dbgp_op
 

Macros

#define PHYSDEVOP_eoi   12
 
#define PHYSDEVOP_pirq_eoi_gmfn_v1   17
 
#define PHYSDEVOP_pirq_eoi_gmfn_v2   28
 
#define PHYSDEVOP_irq_status_query   5
 
#define _XENIRQSTAT_needs_eoi   (0)
 
#define XENIRQSTAT_needs_eoi   (1U<<_XENIRQSTAT_needs_eoi)
 
#define _XENIRQSTAT_shared   (1)
 
#define XENIRQSTAT_shared   (1U<<_XENIRQSTAT_shared)
 
#define PHYSDEVOP_set_iopl   6
 
#define PHYSDEVOP_set_iobitmap   7
 
#define PHYSDEVOP_apic_read   8
 
#define PHYSDEVOP_apic_write   9
 
#define PHYSDEVOP_alloc_irq_vector   10
 
#define PHYSDEVOP_free_irq_vector   11
 
#define MAP_PIRQ_TYPE_MSI   0x0
 
#define MAP_PIRQ_TYPE_GSI   0x1
 
#define MAP_PIRQ_TYPE_UNKNOWN   0x2
 
#define MAP_PIRQ_TYPE_MSI_SEG   0x3
 
#define MAP_PIRQ_TYPE_MULTI_MSI   0x4
 
#define PHYSDEVOP_map_pirq   13
 
#define PHYSDEVOP_unmap_pirq   14
 
#define PHYSDEVOP_manage_pci_add   15
 
#define PHYSDEVOP_manage_pci_remove   16
 
#define PHYSDEVOP_restore_msi   19
 
#define PHYSDEVOP_manage_pci_add_ext   20
 
#define PHYSDEVOP_setup_gsi   21
 
#define PHYSDEVOP_get_free_pirq   23
 
#define XEN_PCI_MMCFG_RESERVED   0x1
 
#define PHYSDEVOP_pci_mmcfg_reserved   24
 
#define XEN_PCI_DEV_EXTFN   0x1
 
#define XEN_PCI_DEV_VIRTFN   0x2
 
#define XEN_PCI_DEV_PXM   0x4
 
#define PHYSDEVOP_pci_device_add   25
 
#define PHYSDEVOP_pci_device_remove   26
 
#define PHYSDEVOP_restore_msi_ext   27
 
#define PHYSDEVOP_prepare_msix   30
 
#define PHYSDEVOP_release_msix   31
 
#define PHYSDEVOP_DBGP_RESET_PREPARE   1
 
#define PHYSDEVOP_DBGP_RESET_DONE   2
 
#define PHYSDEVOP_DBGP_BUS_UNKNOWN   0
 
#define PHYSDEVOP_DBGP_BUS_PCI   1
 
#define PHYSDEVOP_dbgp_op   29
 
#define PHYSDEVOP_IRQ_UNMASK_NOTIFY   4
 
#define PHYSDEVOP_IRQ_STATUS_QUERY   PHYSDEVOP_irq_status_query
 
#define PHYSDEVOP_SET_IOPL   PHYSDEVOP_set_iopl
 
#define PHYSDEVOP_SET_IOBITMAP   PHYSDEVOP_set_iobitmap
 
#define PHYSDEVOP_APIC_READ   PHYSDEVOP_apic_read
 
#define PHYSDEVOP_APIC_WRITE   PHYSDEVOP_apic_write
 
#define PHYSDEVOP_ASSIGN_VECTOR   PHYSDEVOP_alloc_irq_vector
 
#define PHYSDEVOP_FREE_VECTOR   PHYSDEVOP_free_irq_vector
 
#define PHYSDEVOP_IRQ_NEEDS_UNMASK_NOTIFY   XENIRQSTAT_needs_eoi
 
#define PHYSDEVOP_IRQ_SHARED   XENIRQSTAT_shared
 
#define PHYSDEVOP_pirq_eoi_gmfn   PHYSDEVOP_pirq_eoi_gmfn_v1
 

Typedefs

typedef struct physdev_eoi physdev_eoi_t
 
typedef struct physdev_pirq_eoi_gmfn physdev_pirq_eoi_gmfn_t
 
typedef struct physdev_irq_status_query physdev_irq_status_query_t
 
typedef struct physdev_set_iopl physdev_set_iopl_t
 
typedef struct physdev_set_iobitmap physdev_set_iobitmap_t
 
typedef struct physdev_apic physdev_apic_t
 
typedef struct physdev_irq physdev_irq_t
 
typedef struct physdev_map_pirq physdev_map_pirq_t
 
typedef struct physdev_unmap_pirq physdev_unmap_pirq_t
 
typedef struct physdev_manage_pci physdev_manage_pci_t
 
typedef struct physdev_restore_msi physdev_restore_msi_t
 
typedef struct physdev_manage_pci_ext physdev_manage_pci_ext_t
 
typedef struct physdev_op physdev_op_t
 
typedef struct physdev_setup_gsi physdev_setup_gsi_t
 
typedef struct physdev_get_free_pirq physdev_get_free_pirq_t
 
typedef struct physdev_pci_mmcfg_reserved physdev_pci_mmcfg_reserved_t
 
typedef struct physdev_pci_device_add physdev_pci_device_add_t
 
typedef struct physdev_pci_device physdev_pci_device_t
 
typedef struct physdev_dbgp_op physdev_dbgp_op_t
 

Functions

 FILE_LICENCE (MIT)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_eoi_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_pirq_eoi_gmfn_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_irq_status_query_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_set_iopl_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_set_iobitmap_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_apic_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_irq_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_map_pirq_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_unmap_pirq_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_manage_pci_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_restore_msi_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_manage_pci_ext_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_op_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_setup_gsi_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_get_free_pirq_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_pci_mmcfg_reserved_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_pci_device_add_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_pci_device_t)
 
 DEFINE_XEN_GUEST_HANDLE (physdev_dbgp_op_t)
 

Macro Definition Documentation

◆ PHYSDEVOP_eoi

#define PHYSDEVOP_eoi   12

Definition at line 24 of file physdev.h.

◆ PHYSDEVOP_pirq_eoi_gmfn_v1

#define PHYSDEVOP_pirq_eoi_gmfn_v1   17

Definition at line 39 of file physdev.h.

◆ PHYSDEVOP_pirq_eoi_gmfn_v2

#define PHYSDEVOP_pirq_eoi_gmfn_v2   28

Definition at line 47 of file physdev.h.

◆ PHYSDEVOP_irq_status_query

#define PHYSDEVOP_irq_status_query   5

Definition at line 59 of file physdev.h.

◆ _XENIRQSTAT_needs_eoi

#define _XENIRQSTAT_needs_eoi   (0)

Definition at line 70 of file physdev.h.

◆ XENIRQSTAT_needs_eoi

#define XENIRQSTAT_needs_eoi   (1U<<_XENIRQSTAT_needs_eoi)

Definition at line 71 of file physdev.h.

◆ _XENIRQSTAT_shared

#define _XENIRQSTAT_shared   (1)

Definition at line 74 of file physdev.h.

◆ XENIRQSTAT_shared

#define XENIRQSTAT_shared   (1U<<_XENIRQSTAT_shared)

Definition at line 75 of file physdev.h.

◆ PHYSDEVOP_set_iopl

#define PHYSDEVOP_set_iopl   6

Definition at line 81 of file physdev.h.

◆ PHYSDEVOP_set_iobitmap

#define PHYSDEVOP_set_iobitmap   7

Definition at line 93 of file physdev.h.

◆ PHYSDEVOP_apic_read

#define PHYSDEVOP_apic_read   8

Definition at line 110 of file physdev.h.

◆ PHYSDEVOP_apic_write

#define PHYSDEVOP_apic_write   9

Definition at line 111 of file physdev.h.

◆ PHYSDEVOP_alloc_irq_vector

#define PHYSDEVOP_alloc_irq_vector   10

Definition at line 126 of file physdev.h.

◆ PHYSDEVOP_free_irq_vector

#define PHYSDEVOP_free_irq_vector   11

Definition at line 127 of file physdev.h.

◆ MAP_PIRQ_TYPE_MSI

#define MAP_PIRQ_TYPE_MSI   0x0

Definition at line 137 of file physdev.h.

◆ MAP_PIRQ_TYPE_GSI

#define MAP_PIRQ_TYPE_GSI   0x1

Definition at line 138 of file physdev.h.

◆ MAP_PIRQ_TYPE_UNKNOWN

#define MAP_PIRQ_TYPE_UNKNOWN   0x2

Definition at line 139 of file physdev.h.

◆ MAP_PIRQ_TYPE_MSI_SEG

#define MAP_PIRQ_TYPE_MSI_SEG   0x3

Definition at line 140 of file physdev.h.

◆ MAP_PIRQ_TYPE_MULTI_MSI

#define MAP_PIRQ_TYPE_MULTI_MSI   0x4

Definition at line 141 of file physdev.h.

◆ PHYSDEVOP_map_pirq

#define PHYSDEVOP_map_pirq   13

Definition at line 143 of file physdev.h.

◆ PHYSDEVOP_unmap_pirq

#define PHYSDEVOP_unmap_pirq   14

Definition at line 164 of file physdev.h.

◆ PHYSDEVOP_manage_pci_add

#define PHYSDEVOP_manage_pci_add   15

Definition at line 174 of file physdev.h.

◆ PHYSDEVOP_manage_pci_remove

#define PHYSDEVOP_manage_pci_remove   16

Definition at line 175 of file physdev.h.

◆ PHYSDEVOP_restore_msi

#define PHYSDEVOP_restore_msi   19

Definition at line 185 of file physdev.h.

◆ PHYSDEVOP_manage_pci_add_ext

#define PHYSDEVOP_manage_pci_add_ext   20

Definition at line 194 of file physdev.h.

◆ PHYSDEVOP_setup_gsi

#define PHYSDEVOP_setup_gsi   21

Definition at line 227 of file physdev.h.

◆ PHYSDEVOP_get_free_pirq

#define PHYSDEVOP_get_free_pirq   23

Definition at line 244 of file physdev.h.

◆ XEN_PCI_MMCFG_RESERVED

#define XEN_PCI_MMCFG_RESERVED   0x1

Definition at line 255 of file physdev.h.

◆ PHYSDEVOP_pci_mmcfg_reserved

#define PHYSDEVOP_pci_mmcfg_reserved   24

Definition at line 257 of file physdev.h.

◆ XEN_PCI_DEV_EXTFN

#define XEN_PCI_DEV_EXTFN   0x1

Definition at line 268 of file physdev.h.

◆ XEN_PCI_DEV_VIRTFN

#define XEN_PCI_DEV_VIRTFN   0x2

Definition at line 269 of file physdev.h.

◆ XEN_PCI_DEV_PXM

#define XEN_PCI_DEV_PXM   0x4

Definition at line 270 of file physdev.h.

◆ PHYSDEVOP_pci_device_add

#define PHYSDEVOP_pci_device_add   25

Definition at line 272 of file physdev.h.

◆ PHYSDEVOP_pci_device_remove

#define PHYSDEVOP_pci_device_remove   26

Definition at line 293 of file physdev.h.

◆ PHYSDEVOP_restore_msi_ext

#define PHYSDEVOP_restore_msi_ext   27

Definition at line 294 of file physdev.h.

◆ PHYSDEVOP_prepare_msix

#define PHYSDEVOP_prepare_msix   30

Definition at line 299 of file physdev.h.

◆ PHYSDEVOP_release_msix

#define PHYSDEVOP_release_msix   31

Definition at line 300 of file physdev.h.

◆ PHYSDEVOP_DBGP_RESET_PREPARE

#define PHYSDEVOP_DBGP_RESET_PREPARE   1

Definition at line 310 of file physdev.h.

◆ PHYSDEVOP_DBGP_RESET_DONE

#define PHYSDEVOP_DBGP_RESET_DONE   2

Definition at line 311 of file physdev.h.

◆ PHYSDEVOP_DBGP_BUS_UNKNOWN

#define PHYSDEVOP_DBGP_BUS_UNKNOWN   0

Definition at line 313 of file physdev.h.

◆ PHYSDEVOP_DBGP_BUS_PCI

#define PHYSDEVOP_DBGP_BUS_PCI   1

Definition at line 314 of file physdev.h.

◆ PHYSDEVOP_dbgp_op

#define PHYSDEVOP_dbgp_op   29

Definition at line 316 of file physdev.h.

◆ PHYSDEVOP_IRQ_UNMASK_NOTIFY

#define PHYSDEVOP_IRQ_UNMASK_NOTIFY   4

Definition at line 333 of file physdev.h.

◆ PHYSDEVOP_IRQ_STATUS_QUERY

#define PHYSDEVOP_IRQ_STATUS_QUERY   PHYSDEVOP_irq_status_query

Definition at line 341 of file physdev.h.

◆ PHYSDEVOP_SET_IOPL

#define PHYSDEVOP_SET_IOPL   PHYSDEVOP_set_iopl

Definition at line 342 of file physdev.h.

◆ PHYSDEVOP_SET_IOBITMAP

#define PHYSDEVOP_SET_IOBITMAP   PHYSDEVOP_set_iobitmap

Definition at line 343 of file physdev.h.

◆ PHYSDEVOP_APIC_READ

#define PHYSDEVOP_APIC_READ   PHYSDEVOP_apic_read

Definition at line 344 of file physdev.h.

◆ PHYSDEVOP_APIC_WRITE

#define PHYSDEVOP_APIC_WRITE   PHYSDEVOP_apic_write

Definition at line 345 of file physdev.h.

◆ PHYSDEVOP_ASSIGN_VECTOR

#define PHYSDEVOP_ASSIGN_VECTOR   PHYSDEVOP_alloc_irq_vector

Definition at line 346 of file physdev.h.

◆ PHYSDEVOP_FREE_VECTOR

#define PHYSDEVOP_FREE_VECTOR   PHYSDEVOP_free_irq_vector

Definition at line 347 of file physdev.h.

◆ PHYSDEVOP_IRQ_NEEDS_UNMASK_NOTIFY

#define PHYSDEVOP_IRQ_NEEDS_UNMASK_NOTIFY   XENIRQSTAT_needs_eoi

Definition at line 348 of file physdev.h.

◆ PHYSDEVOP_IRQ_SHARED

#define PHYSDEVOP_IRQ_SHARED   XENIRQSTAT_shared

Definition at line 349 of file physdev.h.

◆ PHYSDEVOP_pirq_eoi_gmfn

#define PHYSDEVOP_pirq_eoi_gmfn   PHYSDEVOP_pirq_eoi_gmfn_v1

Definition at line 353 of file physdev.h.

Typedef Documentation

◆ physdev_eoi_t

typedef struct physdev_eoi physdev_eoi_t

Definition at line 29 of file physdev.h.

◆ physdev_pirq_eoi_gmfn_t

Definition at line 52 of file physdev.h.

◆ physdev_irq_status_query_t

Definition at line 66 of file physdev.h.

◆ physdev_set_iopl_t

Definition at line 86 of file physdev.h.

◆ physdev_set_iobitmap_t

Definition at line 103 of file physdev.h.

◆ physdev_apic_t

typedef struct physdev_apic physdev_apic_t

Definition at line 119 of file physdev.h.

◆ physdev_irq_t

typedef struct physdev_irq physdev_irq_t

Definition at line 134 of file physdev.h.

◆ physdev_map_pirq_t

Definition at line 161 of file physdev.h.

◆ physdev_unmap_pirq_t

Definition at line 171 of file physdev.h.

◆ physdev_manage_pci_t

Definition at line 182 of file physdev.h.

◆ physdev_restore_msi_t

Definition at line 191 of file physdev.h.

◆ physdev_manage_pci_ext_t

Definition at line 207 of file physdev.h.

◆ physdev_op_t

typedef struct physdev_op physdev_op_t

Definition at line 224 of file physdev.h.

◆ physdev_setup_gsi_t

Definition at line 237 of file physdev.h.

◆ physdev_get_free_pirq_t

Definition at line 252 of file physdev.h.

◆ physdev_pci_mmcfg_reserved_t

Definition at line 265 of file physdev.h.

◆ physdev_pci_device_add_t

Definition at line 290 of file physdev.h.

◆ physdev_pci_device_t

Definition at line 307 of file physdev.h.

◆ physdev_dbgp_op_t

Definition at line 325 of file physdev.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( MIT  )

◆ DEFINE_XEN_GUEST_HANDLE() [1/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_eoi_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [2/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_pirq_eoi_gmfn_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [3/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_irq_status_query_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [4/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_set_iopl_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [5/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_set_iobitmap_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [6/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_apic_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [7/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_irq_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [8/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_map_pirq_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [9/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_unmap_pirq_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [10/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_manage_pci_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [11/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_restore_msi_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [12/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_manage_pci_ext_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [13/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_op_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [14/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_setup_gsi_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [15/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_get_free_pirq_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [16/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_pci_mmcfg_reserved_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [17/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_pci_device_add_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [18/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_pci_device_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [19/19]

DEFINE_XEN_GUEST_HANDLE ( physdev_dbgp_op_t  )