iPXE
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_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)
 FILE_SECBOOT (PERMITTED)
 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 17 of file hvm_op.h.

◆ HVMOP_get_param

#define HVMOP_get_param   1

Definition at line 18 of file hvm_op.h.

Referenced by xen_hvm_get_param().

◆ HVMOP_set_pci_intx_level

#define HVMOP_set_pci_intx_level   2

Definition at line 49 of file hvm_op.h.

◆ HVMOP_set_isa_irq_level

#define HVMOP_set_isa_irq_level   3

Definition at line 62 of file hvm_op.h.

◆ HVMOP_set_pci_link_route

#define HVMOP_set_pci_link_route   4

Definition at line 74 of file hvm_op.h.

◆ HVMOP_flush_tlbs

#define HVMOP_flush_tlbs   5

Definition at line 89 of file hvm_op.h.

◆ HVMOP_pagetable_dying

#define HVMOP_pagetable_dying   9

Definition at line 120 of file hvm_op.h.

◆ HVMOP_get_time

#define HVMOP_get_time   10

Definition at line 132 of file hvm_op.h.

◆ HVMOP_xentrace

#define HVMOP_xentrace   11

Definition at line 139 of file hvm_op.h.

◆ HVMOP_get_mem_type

#define HVMOP_get_mem_type   15

Definition at line 158 of file hvm_op.h.

◆ HVMOP_guest_request_vm_event

#define HVMOP_guest_request_vm_event   24

Definition at line 209 of file hvm_op.h.

◆ HVMOP_altp2m

#define HVMOP_altp2m   25

Definition at line 212 of file hvm_op.h.

◆ HVMOP_ALTP2M_INTERFACE_VERSION

#define HVMOP_ALTP2M_INTERFACE_VERSION   0x00000001

Definition at line 214 of file hvm_op.h.

◆ HVMOP_altp2m_get_domain_state

#define HVMOP_altp2m_get_domain_state   1

Definition at line 317 of file hvm_op.h.

◆ HVMOP_altp2m_set_domain_state

#define HVMOP_altp2m_set_domain_state   2

Definition at line 318 of file hvm_op.h.

◆ HVMOP_altp2m_vcpu_enable_notify

#define HVMOP_altp2m_vcpu_enable_notify   3

Definition at line 320 of file hvm_op.h.

◆ HVMOP_altp2m_create_p2m

#define HVMOP_altp2m_create_p2m   4

Definition at line 322 of file hvm_op.h.

◆ HVMOP_altp2m_destroy_p2m

#define HVMOP_altp2m_destroy_p2m   5

Definition at line 324 of file hvm_op.h.

◆ HVMOP_altp2m_switch_p2m

#define HVMOP_altp2m_switch_p2m   6

Definition at line 326 of file hvm_op.h.

◆ HVMOP_altp2m_set_mem_access

#define HVMOP_altp2m_set_mem_access   7

Definition at line 328 of file hvm_op.h.

◆ HVMOP_altp2m_change_gfn

#define HVMOP_altp2m_change_gfn   8

Definition at line 330 of file hvm_op.h.

◆ HVMOP_altp2m_set_mem_access_multi

#define HVMOP_altp2m_set_mem_access_multi   9

Definition at line 332 of file hvm_op.h.

◆ HVMOP_altp2m_set_suppress_ve

#define HVMOP_altp2m_set_suppress_ve   10

Definition at line 334 of file hvm_op.h.

◆ HVMOP_altp2m_get_suppress_ve

#define HVMOP_altp2m_get_suppress_ve   11

Definition at line 336 of file hvm_op.h.

◆ HVMOP_altp2m_get_mem_access

#define HVMOP_altp2m_get_mem_access   12

Definition at line 338 of file hvm_op.h.

◆ HVMOP_altp2m_vcpu_disable_notify

#define HVMOP_altp2m_vcpu_disable_notify   13

Definition at line 340 of file hvm_op.h.

◆ HVMOP_altp2m_get_p2m_idx

#define HVMOP_altp2m_get_p2m_idx   14

Definition at line 342 of file hvm_op.h.

◆ HVMOP_altp2m_set_suppress_ve_multi

#define HVMOP_altp2m_set_suppress_ve_multi   15

Definition at line 344 of file hvm_op.h.

◆ HVMOP_altp2m_set_visibility

#define HVMOP_altp2m_set_visibility   16

Definition at line 346 of file hvm_op.h.

Typedef Documentation

◆ xen_hvm_param_t

Definition at line 25 of file hvm_op.h.

◆ xen_hvm_set_pci_intx_level_t

Definition at line 58 of file hvm_op.h.

◆ xen_hvm_set_isa_irq_level_t

Definition at line 71 of file hvm_op.h.

◆ xen_hvm_set_pci_link_route_t

Definition at line 83 of file hvm_op.h.

◆ xen_hvm_pagetable_dying_t

Definition at line 128 of file hvm_op.h.

◆ xen_hvm_get_time_t

Definition at line 136 of file hvm_op.h.

◆ xen_hvm_xentrace_t

Definition at line 144 of file hvm_op.h.

◆ xen_hvm_get_mem_type_t

Definition at line 169 of file hvm_op.h.

◆ xen_hvm_altp2m_domain_state_t

Definition at line 220 of file hvm_op.h.

◆ xen_hvm_altp2m_vcpu_enable_notify_t

◆ xen_hvm_altp2m_vcpu_disable_notify_t

◆ xen_hvm_altp2m_view_t

Definition at line 243 of file hvm_op.h.

◆ xen_hvm_altp2m_set_mem_access_t

Definition at line 256 of file hvm_op.h.

◆ xen_hvm_altp2m_mem_access_t

Definition at line 269 of file hvm_op.h.

◆ xen_hvm_altp2m_change_gfn_t

Definition at line 299 of file hvm_op.h.

◆ xen_hvm_altp2m_op_t

Definition at line 368 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 98 of file hvm_op.h.

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

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( MIT )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )

◆ 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 )

References vector.

◆ 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 )