iPXE
Data Structures | Macros | Typedefs | Enumerations | Functions
hvm_op.h File Reference
#include "../xen.h"
#include "../trace.h"
#include "../event_channel.h"

Go to the source code of this file.

Data Structures

struct  xen_hvm_param
 
struct  xen_hvm_altp2m_suppress_ve
 
struct  xen_hvm_altp2m_suppress_ve_multi
 
struct  xen_hvm_set_pci_intx_level
 
struct  xen_hvm_set_isa_irq_level
 
struct  xen_hvm_set_pci_link_route
 
struct  xen_hvm_pagetable_dying
 
struct  xen_hvm_get_time
 
struct  xen_hvm_xentrace
 
struct  xen_hvm_get_mem_type
 
struct  xen_hvm_altp2m_domain_state
 
struct  xen_hvm_altp2m_vcpu_enable_notify
 
struct  xen_hvm_altp2m_vcpu_disable_notify
 
struct  xen_hvm_altp2m_view
 
struct  xen_hvm_altp2m_set_mem_access
 
struct  xen_hvm_altp2m_mem_access
 
struct  xen_hvm_altp2m_set_mem_access_multi
 
struct  xen_hvm_altp2m_change_gfn
 
struct  xen_hvm_altp2m_get_vcpu_p2m_idx
 
struct  xen_hvm_altp2m_set_visibility
 
struct  xen_hvm_altp2m_op
 

Macros

#define HVMOP_set_param   0
 
#define HVMOP_get_param   1
 
#define HVMOP_set_pci_intx_level   2
 
#define HVMOP_set_isa_irq_level   3
 
#define HVMOP_set_pci_link_route   4
 
#define HVMOP_flush_tlbs   5
 
#define HVMOP_pagetable_dying   9
 
#define HVMOP_get_time   10
 
#define HVMOP_xentrace   11
 
#define HVMOP_get_mem_type   15
 
#define HVMOP_guest_request_vm_event   24
 
#define HVMOP_altp2m   25
 
#define HVMOP_ALTP2M_INTERFACE_VERSION   0x00000001
 
#define HVMOP_altp2m_get_domain_state   1
 
#define HVMOP_altp2m_set_domain_state   2
 
#define HVMOP_altp2m_vcpu_enable_notify   3
 
#define HVMOP_altp2m_create_p2m   4
 
#define HVMOP_altp2m_destroy_p2m   5
 
#define HVMOP_altp2m_switch_p2m   6
 
#define HVMOP_altp2m_set_mem_access   7
 
#define HVMOP_altp2m_change_gfn   8
 
#define HVMOP_altp2m_set_mem_access_multi   9
 
#define HVMOP_altp2m_set_suppress_ve   10
 
#define HVMOP_altp2m_get_suppress_ve   11
 
#define HVMOP_altp2m_get_mem_access   12
 
#define HVMOP_altp2m_vcpu_disable_notify   13
 
#define HVMOP_altp2m_get_p2m_idx   14
 
#define HVMOP_altp2m_set_suppress_ve_multi   15
 
#define HVMOP_altp2m_set_visibility   16
 

Typedefs

typedef struct xen_hvm_param xen_hvm_param_t
 
typedef struct xen_hvm_set_pci_intx_level xen_hvm_set_pci_intx_level_t
 
typedef struct xen_hvm_set_isa_irq_level xen_hvm_set_isa_irq_level_t
 
typedef struct xen_hvm_set_pci_link_route xen_hvm_set_pci_link_route_t
 
typedef struct xen_hvm_pagetable_dying xen_hvm_pagetable_dying_t
 
typedef struct xen_hvm_get_time xen_hvm_get_time_t
 
typedef struct xen_hvm_xentrace xen_hvm_xentrace_t
 
typedef struct xen_hvm_get_mem_type xen_hvm_get_mem_type_t
 
typedef struct xen_hvm_altp2m_domain_state xen_hvm_altp2m_domain_state_t
 
typedef struct xen_hvm_altp2m_vcpu_enable_notify xen_hvm_altp2m_vcpu_enable_notify_t
 
typedef struct xen_hvm_altp2m_vcpu_disable_notify xen_hvm_altp2m_vcpu_disable_notify_t
 
typedef struct xen_hvm_altp2m_view xen_hvm_altp2m_view_t
 
typedef struct xen_hvm_altp2m_set_mem_access xen_hvm_altp2m_set_mem_access_t
 
typedef struct xen_hvm_altp2m_mem_access xen_hvm_altp2m_mem_access_t
 
typedef struct xen_hvm_altp2m_change_gfn xen_hvm_altp2m_change_gfn_t
 
typedef struct xen_hvm_altp2m_op xen_hvm_altp2m_op_t
 

Enumerations

enum  hvmmem_type_t {
  HVMMEM_ram_rw, HVMMEM_ram_ro, HVMMEM_mmio_dm, HVMMEM_mmio_write_dm,
  HVMMEM_ioreq_server
}
 

Functions

 FILE_LICENCE (MIT)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_param_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_set_pci_intx_level_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_set_isa_irq_level_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_set_pci_link_route_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_pagetable_dying_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_get_time_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_xentrace_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_get_mem_type_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_altp2m_domain_state_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_altp2m_vcpu_enable_notify_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_altp2m_vcpu_disable_notify_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_altp2m_view_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_altp2m_set_mem_access_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_altp2m_mem_access_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_altp2m_change_gfn_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_hvm_altp2m_op_t)
 

Macro Definition Documentation

◆ HVMOP_set_param

#define HVMOP_set_param   0

Definition at line 16 of file hvm_op.h.

◆ HVMOP_get_param

#define HVMOP_get_param   1

Definition at line 17 of file hvm_op.h.

◆ HVMOP_set_pci_intx_level

#define HVMOP_set_pci_intx_level   2

Definition at line 48 of file hvm_op.h.

◆ HVMOP_set_isa_irq_level

#define HVMOP_set_isa_irq_level   3

Definition at line 61 of file hvm_op.h.

◆ HVMOP_set_pci_link_route

#define HVMOP_set_pci_link_route   4

Definition at line 73 of file hvm_op.h.

◆ HVMOP_flush_tlbs

#define HVMOP_flush_tlbs   5

Definition at line 88 of file hvm_op.h.

◆ HVMOP_pagetable_dying

#define HVMOP_pagetable_dying   9

Definition at line 119 of file hvm_op.h.

◆ HVMOP_get_time

#define HVMOP_get_time   10

Definition at line 131 of file hvm_op.h.

◆ HVMOP_xentrace

#define HVMOP_xentrace   11

Definition at line 138 of file hvm_op.h.

◆ HVMOP_get_mem_type

#define HVMOP_get_mem_type   15

Definition at line 157 of file hvm_op.h.

◆ HVMOP_guest_request_vm_event

#define HVMOP_guest_request_vm_event   24

Definition at line 208 of file hvm_op.h.

◆ HVMOP_altp2m

#define HVMOP_altp2m   25

Definition at line 211 of file hvm_op.h.

◆ HVMOP_ALTP2M_INTERFACE_VERSION

#define HVMOP_ALTP2M_INTERFACE_VERSION   0x00000001

Definition at line 213 of file hvm_op.h.

◆ HVMOP_altp2m_get_domain_state

#define HVMOP_altp2m_get_domain_state   1

Definition at line 316 of file hvm_op.h.

◆ HVMOP_altp2m_set_domain_state

#define HVMOP_altp2m_set_domain_state   2

Definition at line 317 of file hvm_op.h.

◆ HVMOP_altp2m_vcpu_enable_notify

#define HVMOP_altp2m_vcpu_enable_notify   3

Definition at line 319 of file hvm_op.h.

◆ HVMOP_altp2m_create_p2m

#define HVMOP_altp2m_create_p2m   4

Definition at line 321 of file hvm_op.h.

◆ HVMOP_altp2m_destroy_p2m

#define HVMOP_altp2m_destroy_p2m   5

Definition at line 323 of file hvm_op.h.

◆ HVMOP_altp2m_switch_p2m

#define HVMOP_altp2m_switch_p2m   6

Definition at line 325 of file hvm_op.h.

◆ HVMOP_altp2m_set_mem_access

#define HVMOP_altp2m_set_mem_access   7

Definition at line 327 of file hvm_op.h.

◆ HVMOP_altp2m_change_gfn

#define HVMOP_altp2m_change_gfn   8

Definition at line 329 of file hvm_op.h.

◆ HVMOP_altp2m_set_mem_access_multi

#define HVMOP_altp2m_set_mem_access_multi   9

Definition at line 331 of file hvm_op.h.

◆ HVMOP_altp2m_set_suppress_ve

#define HVMOP_altp2m_set_suppress_ve   10

Definition at line 333 of file hvm_op.h.

◆ HVMOP_altp2m_get_suppress_ve

#define HVMOP_altp2m_get_suppress_ve   11

Definition at line 335 of file hvm_op.h.

◆ HVMOP_altp2m_get_mem_access

#define HVMOP_altp2m_get_mem_access   12

Definition at line 337 of file hvm_op.h.

◆ HVMOP_altp2m_vcpu_disable_notify

#define HVMOP_altp2m_vcpu_disable_notify   13

Definition at line 339 of file hvm_op.h.

◆ HVMOP_altp2m_get_p2m_idx

#define HVMOP_altp2m_get_p2m_idx   14

Definition at line 341 of file hvm_op.h.

◆ HVMOP_altp2m_set_suppress_ve_multi

#define HVMOP_altp2m_set_suppress_ve_multi   15

Definition at line 343 of file hvm_op.h.

◆ HVMOP_altp2m_set_visibility

#define HVMOP_altp2m_set_visibility   16

Definition at line 345 of file hvm_op.h.

Typedef Documentation

◆ xen_hvm_param_t

Definition at line 24 of file hvm_op.h.

◆ xen_hvm_set_pci_intx_level_t

Definition at line 57 of file hvm_op.h.

◆ xen_hvm_set_isa_irq_level_t

Definition at line 70 of file hvm_op.h.

◆ xen_hvm_set_pci_link_route_t

Definition at line 82 of file hvm_op.h.

◆ xen_hvm_pagetable_dying_t

Definition at line 127 of file hvm_op.h.

◆ xen_hvm_get_time_t

Definition at line 135 of file hvm_op.h.

◆ xen_hvm_xentrace_t

Definition at line 143 of file hvm_op.h.

◆ xen_hvm_get_mem_type_t

Definition at line 168 of file hvm_op.h.

◆ xen_hvm_altp2m_domain_state_t

Definition at line 219 of file hvm_op.h.

◆ xen_hvm_altp2m_vcpu_enable_notify_t

Definition at line 228 of file hvm_op.h.

◆ xen_hvm_altp2m_vcpu_disable_notify_t

Definition at line 234 of file hvm_op.h.

◆ xen_hvm_altp2m_view_t

Definition at line 242 of file hvm_op.h.

◆ xen_hvm_altp2m_set_mem_access_t

Definition at line 255 of file hvm_op.h.

◆ xen_hvm_altp2m_mem_access_t

Definition at line 268 of file hvm_op.h.

◆ xen_hvm_altp2m_change_gfn_t

Definition at line 298 of file hvm_op.h.

◆ xen_hvm_altp2m_op_t

Definition at line 367 of file hvm_op.h.

Enumeration Type Documentation

◆ hvmmem_type_t

Enumerator
HVMMEM_ram_rw 
HVMMEM_ram_ro 
HVMMEM_mmio_dm 
HVMMEM_mmio_write_dm 
HVMMEM_ioreq_server 

Definition at line 97 of file hvm_op.h.

97  {
98  HVMMEM_ram_rw, /* Normal read/write guest RAM */
99  HVMMEM_ram_ro, /* Read-only; writes are discarded */
100  HVMMEM_mmio_dm, /* Reads and write go to the device model */
101 #if __XEN_INTERFACE_VERSION__ < 0x00040700
102  HVMMEM_mmio_write_dm, /* Read-only; writes go to the device model */
103 #else
104  HVMMEM_unused, /* Placeholder; setting memory to this type
105  will fail for code after 4.7.0 */
106 #endif
107  HVMMEM_ioreq_server /* Memory type claimed by an ioreq server; type
108  changes to this value are only allowed after
109  an ioreq server has claimed its ownership.
110  Only pages with HVMMEM_ram_rw are allowed to
111  change to this type; conversely, pages with
112  this type are only allowed to be changed back
113  to HVMMEM_ram_rw. */
114 } hvmmem_type_t;
hvmmem_type_t
Definition: hvm_op.h:97

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( MIT  )

◆ DEFINE_XEN_GUEST_HANDLE() [1/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_param_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [2/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_set_pci_intx_level_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [3/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_set_isa_irq_level_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [4/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_set_pci_link_route_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [5/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_pagetable_dying_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [6/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_get_time_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [7/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_xentrace_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [8/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_get_mem_type_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [9/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_altp2m_domain_state_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [10/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_altp2m_vcpu_enable_notify_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [11/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_altp2m_vcpu_disable_notify_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [12/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_altp2m_view_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [13/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_altp2m_set_mem_access_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [14/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_altp2m_mem_access_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [15/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_altp2m_change_gfn_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [16/16]

DEFINE_XEN_GUEST_HANDLE ( xen_hvm_altp2m_op_t  )