7#ifndef __XEN_PUBLIC_HVM_DM_OP_H__
8#define __XEN_PUBLIC_HVM_DM_OP_H__
13#ifndef uint64_aligned_t
14#define uint64_aligned_t uint64_t
48#define XEN_DMOP_create_ioreq_server 1
79#define XEN_DMOP_get_ioreq_server_info 2
87#define _XEN_DMOP_no_gfns 0
88#define XEN_DMOP_no_gfns (1u << _XEN_DMOP_no_gfns)
118#define XEN_DMOP_map_io_range_to_ioreq_server 3
119#define XEN_DMOP_unmap_io_range_from_ioreq_server 4
127#define XEN_DMOP_IO_RANGE_PORT 0
128#define XEN_DMOP_IO_RANGE_MEMORY 1
129#define XEN_DMOP_IO_RANGE_PCI 2
135#define XEN_DMOP_PCI_SBDF(s, b, d, f) \
136 ((((s) & 0xffff) << 16) | (((b) & 0xff) << 8) | (((d) & 0x1f) << 3) | ((f) & 0x07))
147#define XEN_DMOP_set_ioreq_server_state 5
163#define XEN_DMOP_destroy_ioreq_server 6
179#define XEN_DMOP_track_dirty_vram 7
194#define XEN_DMOP_set_pci_intx_level 8
209#define XEN_DMOP_set_isa_irq_level 9
222#define XEN_DMOP_set_pci_link_route 10
243#define XEN_DMOP_modified_memory 11
273#define XEN_DMOP_set_mem_type 12
293#define XEN_DMOP_inject_event 13
303#define XEN_DMOP_EVENT_ext_int 0
304#define XEN_DMOP_EVENT_nmi 2
305#define XEN_DMOP_EVENT_hw_exc 3
306#define XEN_DMOP_EVENT_sw_int 4
307#define XEN_DMOP_EVENT_pri_sw_exc 5
308#define XEN_DMOP_EVENT_sw_exc 6
323#define XEN_DMOP_inject_msi 14
344#define XEN_DMOP_map_mem_type_to_ioreq_server 15
353#define XEN_DMOP_IOREQ_MEM_ACCESS_READ (1u << 0)
354#define XEN_DMOP_IOREQ_MEM_ACCESS_WRITE (1u << 1)
365#define XEN_DMOP_remote_shutdown 16
378#define XEN_DMOP_relocate_memory 17
396#define XEN_DMOP_pin_memory_cacheattr 18
402#define XEN_DMOP_MEM_CACHEATTR_UC 0
403#define XEN_DMOP_MEM_CACHEATTR_WC 1
404#define XEN_DMOP_MEM_CACHEATTR_WT 4
405#define XEN_DMOP_MEM_CACHEATTR_WP 5
406#define XEN_DMOP_MEM_CACHEATTR_WB 6
407#define XEN_DMOP_MEM_CACHEATTR_UCM 7
408#define XEN_DMOP_DELETE_MEM_CACHEATTR (~(uint32_t)0)
419#define XEN_DMOP_set_irq_level 19
437#define XEN_DMOP_nr_vcpus 20
uint64_t xen_ulong_t
Definition arch-arm.h:214
#define uint64_aligned_t
Definition arch-arm.h:173
#define DEFINE_XEN_GUEST_HANDLE(name)
Definition arch-arm.h:192
struct xen_dm_op_remote_shutdown xen_dm_op_remote_shutdown_t
Definition dm_op.h:371
struct xen_dm_op_inject_msi xen_dm_op_inject_msi_t
Definition dm_op.h:332
struct xen_dm_op_set_ioreq_server_state xen_dm_op_set_ioreq_server_state_t
Definition dm_op.h:156
struct xen_dm_op_set_pci_intx_level xen_dm_op_set_pci_intx_level_t
Definition dm_op.h:203
struct xen_dm_op_set_irq_level xen_dm_op_set_irq_level_t
Definition dm_op.h:427
uint16_t ioservid_t
Definition dm_op.h:36
struct xen_dm_op_set_isa_irq_level xen_dm_op_set_isa_irq_level_t
Definition dm_op.h:217
struct xen_dm_op_modified_memory xen_dm_op_modified_memory_t
Definition dm_op.h:254
struct xen_dm_op_create_ioreq_server xen_dm_op_create_ioreq_server_t
Definition dm_op.h:57
struct xen_dm_op_track_dirty_vram xen_dm_op_track_dirty_vram_t
Definition dm_op.h:188
struct xen_dm_op_pin_memory_cacheattr xen_dm_op_pin_memory_cacheattr_t
Definition dm_op.h:412
struct xen_dm_op_buf xen_dm_op_buf_t
Definition dm_op.h:475
struct xen_dm_op_ioreq_server_range xen_dm_op_ioreq_server_range_t
Definition dm_op.h:133
struct xen_dm_op_inject_event xen_dm_op_inject_event_t
Definition dm_op.h:318
struct xen_dm_op_map_mem_type_to_ioreq_server xen_dm_op_map_mem_type_to_ioreq_server_t
Definition dm_op.h:359
struct xen_dm_op_get_ioreq_server_info xen_dm_op_get_ioreq_server_info_t
Definition dm_op.h:97
struct xen_dm_op_relocate_memory xen_dm_op_relocate_memory_t
Definition dm_op.h:390
struct xen_dm_op_set_mem_type xen_dm_op_set_mem_type_t
Definition dm_op.h:284
struct xen_dm_op_set_pci_link_route xen_dm_op_set_pci_link_route_t
Definition dm_op.h:230
struct xen_dm_op_destroy_ioreq_server xen_dm_op_destroy_ioreq_server_t
Definition dm_op.h:170
struct xen_dm_op_nr_vcpus xen_dm_op_nr_vcpus_t
Definition dm_op.h:442
uint32_t evtchn_port_t
Definition event_channel.h:74
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
xen_ulong_t size
Definition dm_op.h:473
ioservid_t id
Definition dm_op.h:55
uint8_t handle_bufioreq
Definition dm_op.h:52
uint8_t pad[3]
Definition dm_op.h:53
ioservid_t id
Definition dm_op.h:167
uint16_t pad
Definition dm_op.h:168
uint64_t bufioreq_gfn
Definition dm_op.h:95
ioservid_t id
Definition dm_op.h:83
evtchn_port_t bufioreq_port
Definition dm_op.h:91
uint64_t ioreq_gfn
Definition dm_op.h:93
uint16_t flags
Definition dm_op.h:85
uint8_t type
Definition dm_op.h:301
uint8_t pad0
Definition dm_op.h:311
uint8_t vector
Definition dm_op.h:299
uint32_t vcpuid
Definition dm_op.h:297
uint64_t cr2
Definition dm_op.h:316
uint8_t insn_len
Definition dm_op.h:310
uint32_t error_code
Definition dm_op.h:313
uint32_t pad1
Definition dm_op.h:314
uint32_t data
Definition dm_op.h:327
uint32_t pad
Definition dm_op.h:328
uint64_t addr
Definition dm_op.h:330
uint16_t pad
Definition dm_op.h:124
uint32_t type
Definition dm_op.h:126
uint64_t end
Definition dm_op.h:131
uint64_t start
Definition dm_op.h:131
ioservid_t id
Definition dm_op.h:123
ioservid_t id
Definition dm_op.h:347
uint16_t type
Definition dm_op.h:348
uint64_t opaque
Definition dm_op.h:356
uint32_t flags
Definition dm_op.h:349
uint32_t nr
Definition dm_op.h:258
uint64_t first_pfn
Definition dm_op.h:261
uint32_t pad
Definition dm_op.h:259
uint32_t opaque
Definition dm_op.h:252
uint32_t nr_extents
Definition dm_op.h:250
uint32_t vcpus
Definition dm_op.h:440
uint64_t start
Definition dm_op.h:399
uint64_t end
Definition dm_op.h:400
uint32_t type
Definition dm_op.h:409
uint32_t pad
Definition dm_op.h:410
uint32_t pad
Definition dm_op.h:384
uint64_t dst_gfn
Definition dm_op.h:388
uint32_t size
Definition dm_op.h:383
uint64_t src_gfn
Definition dm_op.h:386
uint32_t reason
Definition dm_op.h:368
uint8_t pad
Definition dm_op.h:154
uint8_t enabled
Definition dm_op.h:153
ioservid_t id
Definition dm_op.h:151
uint8_t pad[3]
Definition dm_op.h:425
uint8_t level
Definition dm_op.h:424
uint32_t irq
Definition dm_op.h:422
uint8_t isa_irq
Definition dm_op.h:213
uint8_t level
Definition dm_op.h:215
uint16_t mem_type
Definition dm_op.h:279
uint16_t pad
Definition dm_op.h:280
uint64_t first_pfn
Definition dm_op.h:282
uint32_t nr
Definition dm_op.h:277
uint8_t bus
Definition dm_op.h:199
uint8_t device
Definition dm_op.h:199
uint16_t domain
Definition dm_op.h:198
uint8_t intx
Definition dm_op.h:199
uint8_t level
Definition dm_op.h:201
uint8_t isa_irq
Definition dm_op.h:228
uint8_t link
Definition dm_op.h:226
uint32_t pad
Definition dm_op.h:184
uint64_t first_pfn
Definition dm_op.h:186
uint32_t nr
Definition dm_op.h:183
xen_dm_op_set_pci_link_route_t set_pci_link_route
Definition dm_op.h:458
union xen_dm_op::@051264064221276027152201126237270154335365102132 u
xen_dm_op_set_irq_level_t set_irq_level
Definition dm_op.h:457
xen_dm_op_set_ioreq_server_state_t set_ioreq_server_state
Definition dm_op.h:452
xen_dm_op_inject_event_t inject_event
Definition dm_op.h:461
xen_dm_op_get_ioreq_server_info_t get_ioreq_server_info
Definition dm_op.h:449
uint32_t op
Definition dm_op.h:445
xen_dm_op_track_dirty_vram_t track_dirty_vram
Definition dm_op.h:454
xen_dm_op_remote_shutdown_t remote_shutdown
Definition dm_op.h:464
xen_dm_op_inject_msi_t inject_msi
Definition dm_op.h:462
xen_dm_op_ioreq_server_range_t unmap_io_range_from_ioreq_server
Definition dm_op.h:451
xen_dm_op_nr_vcpus_t nr_vcpus
Definition dm_op.h:467
xen_dm_op_set_mem_type_t set_mem_type
Definition dm_op.h:460
xen_dm_op_modified_memory_t modified_memory
Definition dm_op.h:459
xen_dm_op_create_ioreq_server_t create_ioreq_server
Definition dm_op.h:448
xen_dm_op_map_mem_type_to_ioreq_server_t map_mem_type_to_ioreq_server
Definition dm_op.h:463
xen_dm_op_set_isa_irq_level_t set_isa_irq_level
Definition dm_op.h:456
xen_dm_op_relocate_memory_t relocate_memory
Definition dm_op.h:465
xen_dm_op_ioreq_server_range_t map_io_range_to_ioreq_server
Definition dm_op.h:450
xen_dm_op_destroy_ioreq_server_t destroy_ioreq_server
Definition dm_op.h:453
xen_dm_op_set_pci_intx_level_t set_pci_intx_level
Definition dm_op.h:455
uint32_t pad
Definition dm_op.h:446
xen_dm_op_pin_memory_cacheattr_t pin_memory_cacheattr
Definition dm_op.h:466