10 #ifndef __XEN_PUBLIC_MEMORY_H__ 11 #define __XEN_PUBLIC_MEMORY_H__ 23 #define XENMEM_increase_reservation 0 24 #define XENMEM_decrease_reservation 1 25 #define XENMEM_populate_physmap 6 27 #if __XEN_INTERFACE_VERSION__ >= 0x00030209 34 #define XENMEMF_address_bits(x) (x) 35 #define XENMEMF_get_address_bits(x) ((x) & 0xffu) 37 #define XENMEMF_node(x) (((x) + 1) << 8) 38 #define XENMEMF_get_node(x) ((((x) >> 8) - 1) & 0xffu) 40 #define XENMEMF_populate_on_demand (1<<16) 42 #define XENMEMF_exact_node_request (1<<17) 43 #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request) 45 #define XENMEMF_vnode (1<<18) 68 #if __XEN_INTERFACE_VERSION__ >= 0x00030209 70 unsigned int mem_flags;
93 #define XENMEM_exchange 11 134 #define XENMEM_maximum_ram_page 2 146 #define XENMEM_current_reservation 3 147 #define XENMEM_maximum_reservation 4 154 #define XENMEM_maximum_gpfn 14 162 #define XENMEM_machphys_mfn_list 5 193 #define XENMEM_machphys_compat_mfn_list 25 201 #define XENMEM_machphys_mapping 12 211 #define XENMAPSPACE_shared_info 0 212 #define XENMAPSPACE_grant_table 1 213 #define XENMAPSPACE_gmfn 2 214 #define XENMAPSPACE_gmfn_range 3 215 #define XENMAPSPACE_gmfn_foreign 4 217 #define XENMAPSPACE_dev_mmio 5 229 #define XENMEM_add_to_physmap 7 239 #define XENMAPIDX_grant_table_status 0x80000000 251 #define XENMEM_add_to_physmap_batch 23 261 #if __XEN_INTERFACE_VERSION__ < 0x00040700 264 union xen_add_to_physmap_batch_extra {
284 #if __XEN_INTERFACE_VERSION__ < 0x00040400 285 #define XENMEM_add_to_physmap_range XENMEM_add_to_physmap_batch 286 #define xen_add_to_physmap_range xen_add_to_physmap_batch 296 #define XENMEM_remove_from_physmap 15 315 #define XENMEM_memory_map 9 340 #define XENMEM_machine_memory_map 10 347 #define XENMEM_set_memory_map 13 355 #define XENMEM_set_pod_target 16 356 #define XENMEM_get_pod_target 17 369 #if defined(__XEN__) || defined(__XEN_TOOLS__) 371 #ifndef uint64_aligned_t 372 #define uint64_aligned_t uint64_t 379 #define XENMEM_get_sharing_freed_pages 18 380 #define XENMEM_get_sharing_shared_pages 19 382 #define XENMEM_paging_op 20 383 #define XENMEM_paging_op_nominate 0 384 #define XENMEM_paging_op_evict 1 385 #define XENMEM_paging_op_prep 2 387 struct xen_mem_paging_op {
392 XEN_GUEST_HANDLE_64(const_uint8)
buffer;
396 typedef struct xen_mem_paging_op xen_mem_paging_op_t;
399 #define XENMEM_access_op 21 400 #define XENMEM_access_op_set_access 0 401 #define XENMEM_access_op_get_access 1 409 #define XENMEM_access_op_set_access_multi 4 432 XENMEM_access_default
435 struct xen_mem_access_op {
464 typedef struct xen_mem_access_op xen_mem_access_op_t;
467 #define XENMEM_sharing_op 22 468 #define XENMEM_sharing_op_nominate_gfn 0 469 #define XENMEM_sharing_op_nominate_gref 1 470 #define XENMEM_sharing_op_share 2 471 #define XENMEM_sharing_op_debug_gfn 3 472 #define XENMEM_sharing_op_debug_mfn 4 473 #define XENMEM_sharing_op_debug_gref 5 474 #define XENMEM_sharing_op_add_physmap 6 475 #define XENMEM_sharing_op_audit 7 476 #define XENMEM_sharing_op_range_share 8 477 #define XENMEM_sharing_op_fork 9 478 #define XENMEM_sharing_op_fork_reset 10 480 #define XENMEM_SHARING_OP_S_HANDLE_INVALID (-10) 481 #define XENMEM_SHARING_OP_C_HANDLE_INVALID (-9) 487 #define XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG (xen_mk_ullong(1) << 62) 489 #define XENMEM_SHARING_OP_FIELD_MAKE_GREF(field, val) \ 490 (field) = (XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG | (val)) 491 #define XENMEM_SHARING_OP_FIELD_IS_GREF(field) \ 492 ((field) & XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG) 493 #define XENMEM_SHARING_OP_FIELD_GET_GREF(field) \ 494 ((field) & (~XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG)) 496 struct xen_mem_sharing_op {
501 struct mem_sharing_op_nominate {
508 struct mem_sharing_op_share {
515 struct mem_sharing_op_range {
522 struct mem_sharing_op_debug {
529 struct mem_sharing_op_fork {
532 #define XENMEM_FORK_WITH_IOMMU_ALLOWED (1u << 0) 534 #define XENMEM_FORK_BLOCK_INTERRUPTS (1u << 1) 535 #define XENMEM_FORK_RESET_STATE (1u << 2) 536 #define XENMEM_FORK_RESET_MEMORY (1u << 3) 542 typedef struct xen_mem_sharing_op xen_mem_sharing_op_t;
566 #define XENMEM_claim_pages 24 578 #define XENMEM_reserved_device_memory_map 27 579 struct xen_reserved_device_memory {
583 typedef struct xen_reserved_device_memory xen_reserved_device_memory_t;
586 struct xen_reserved_device_memory_map {
587 #define XENMEM_RDM_ALL 1 596 unsigned int nr_entries;
604 typedef struct xen_reserved_device_memory_map xen_reserved_device_memory_map_t;
613 #define XENMEM_acquire_resource 28 620 #define XENMEM_resource_ioreq_server 0 621 #define XENMEM_resource_grant_table 1 622 #define XENMEM_resource_vmtrace_buf 2 633 #define XENMEM_resource_grant_table_id_shared 0 634 #define XENMEM_resource_grant_table_id_status 1 667 #define XENMEM_resource_ioreq_server_frame_bufioreq 0 668 #define XENMEM_resource_ioreq_server_frame_ioreq(n) (1 + (n)) 691 #define XENMEM_get_vnumainfo 26 XEN_GUEST_HANDLE(void) buffer
XEN_GUEST_HANDLE(xen_pfn_t) extent_start
struct xen_memory_reservation in
union xen_vnuma_topology_info::@673 vmemrange
XEN_GUEST_HANDLE(xen_pfn_t) extent_start
XEN_GUEST_HANDLE(xen_pfn_t) frame_list
struct xen_memory_reservation out
unsigned long long uint64_t
DEFINE_XEN_GUEST_HANDLE(xen_memory_reservation_t)
uint32_t buffer
Buffer index (or NETVSC_RNDIS_NO_BUFFER)
XEN_GUEST_HANDLE(xen_ulong_t) idxs
struct xen_memory_map map
uint64_t debug
Debug area base address.
static __always_inline void struct pci_range * range
static grant_ref_t domid_t domid
unsigned int extent_order
static uint16_t struct vmbus_xfer_pages_operations * op
union xen_vnuma_topology_info::@672 vcpu_to_vnode
unsigned int address_bits
union xen_vnuma_topology_info::@671 vdistance
unsigned long xen_ulong_t
unsigned int nr_vmemranges
#define XEN_GUEST_HANDLE(name)