11#ifndef __XEN_PUBLIC_DOMCTL_H__ 
   12#define __XEN_PUBLIC_DOMCTL_H__ 
   14#ifndef CONFIG_XEN_DOM0 
   15#error "domctl operations are intended for use by node control tools only" 
   23#define XEN_DOMCTL_INTERFACE_VERSION 0x00000015 
   36#define _XEN_DOMCTL_CDF_hvm             0 
   37#define XEN_DOMCTL_CDF_hvm              (1U << _XEN_DOMCTL_CDF_hvm) 
   39#define _XEN_DOMCTL_CDF_hap             1 
   40#define XEN_DOMCTL_CDF_hap              (1U << _XEN_DOMCTL_CDF_hap) 
   42#define _XEN_DOMCTL_CDF_s3_integrity    2 
   43#define XEN_DOMCTL_CDF_s3_integrity     (1U << _XEN_DOMCTL_CDF_s3_integrity) 
   45#define _XEN_DOMCTL_CDF_oos_off         3 
   46#define XEN_DOMCTL_CDF_oos_off          (1U << _XEN_DOMCTL_CDF_oos_off) 
   48#define _XEN_DOMCTL_CDF_xs_domain       4 
   49#define XEN_DOMCTL_CDF_xs_domain        (1U << _XEN_DOMCTL_CDF_xs_domain) 
   51#define _XEN_DOMCTL_CDF_iommu           5 
   52#define XEN_DOMCTL_CDF_iommu            (1U << _XEN_DOMCTL_CDF_iommu) 
   53#define _XEN_DOMCTL_CDF_nested_virt     6 
   54#define XEN_DOMCTL_CDF_nested_virt      (1U << _XEN_DOMCTL_CDF_nested_virt) 
   56#define XEN_DOMCTL_CDF_vpmu             (1U << 7) 
   59#define XEN_DOMCTL_CDF_MAX              XEN_DOMCTL_CDF_vpmu 
   63#define _XEN_DOMCTL_IOMMU_no_sharept    0 
   64#define XEN_DOMCTL_IOMMU_no_sharep      (1U << _XEN_DOMCTL_IOMMU_no_sharept) 
   67#define XEN_DOMCTL_IOMMU_MAX            XEN_DOMCTL_IOMMU_no_sharept 
   83#define XEN_DOMCTL_GRANT_version_mask   0xf 
   84#define XEN_DOMCTL_GRANT_version(v)     ((v) & XEN_DOMCTL_GRANT_version_mask) 
   94        struct xen_arch_domainconfig 
arch;
 
 
  103#define _XEN_DOMINF_dying               0 
  104#define XEN_DOMINF_dying                (1U << _XEN_DOMINF_dying) 
  106#define _XEN_DOMINF_hvm_guest           1 
  107#define XEN_DOMINF_hvm_guest            (1U << _XEN_DOMINF_hvm_guest) 
  109#define _XEN_DOMINF_shutdown            2 
  110#define XEN_DOMINF_shutdown             (1U << _XEN_DOMINF_shutdown) 
  112#define _XEN_DOMINF_paused              3 
  113#define XEN_DOMINF_paused               (1U << _XEN_DOMINF_paused) 
  115#define _XEN_DOMINF_blocked             4 
  116#define XEN_DOMINF_blocked              (1U << _XEN_DOMINF_blocked) 
  118#define _XEN_DOMINF_running             5 
  119#define XEN_DOMINF_running              (1U << _XEN_DOMINF_running) 
  121#define _XEN_DOMINF_debugged            6 
  122#define XEN_DOMINF_debugged             (1U << _XEN_DOMINF_debugged) 
  124#define _XEN_DOMINF_xs_domain           7 
  125#define XEN_DOMINF_xs_domain            (1U << _XEN_DOMINF_xs_domain) 
  127#define _XEN_DOMINF_hap                 8 
  128#define XEN_DOMINF_hap                  (1U << _XEN_DOMINF_hap) 
  130#define XEN_DOMINF_shutdownmask         255 
  131#define XEN_DOMINF_shutdownshift        16 
  141#define XEN_INVALID_MAX_VCPU_ID (~0U)  
 
  159#define XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION     30 
  160#define XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION     31 
  195        XEN_GUEST_HANDLE_64(vcpu_guest_context_t) 
ctxt; 
 
 
  213#define XEN_SCHEDULER_CREDIT    5 
  214#define XEN_SCHEDULER_CREDIT2   6 
  215#define XEN_SCHEDULER_ARINC653  7 
  216#define XEN_SCHEDULER_RTDS      8 
  217#define XEN_SCHEDULER_NULL      9 
  233#define _XEN_DOMCTL_SCHEDRT_extra       0 
  234#define XEN_DOMCTL_SCHEDRT_extra        (1U<<_XEN_DOMCTL_SCHEDRT_extra) 
 
  260#define XEN_DOMCTL_SCHEDOP_putinfo      0 
  261#define XEN_DOMCTL_SCHEDOP_getinfo      1 
  262#define XEN_DOMCTL_SCHEDOP_putvcpuinfo  2 
  263#define XEN_DOMCTL_SCHEDOP_getvcpuinfo  3 
  312#define XEN_DOMCTL_DEV_PCI      0 
  313#define XEN_DOMCTL_DEV_DT       1 
  318#define XEN_DOMCTL_DEV_RDM_RELAXED      1  
  326                        XEN_GUEST_HANDLE_64(
char) 
path; 
 
 
  357#define XEN_DOMCTL_VMSI_X86_DEST_ID_MASK        0x0000ff 
  358#define XEN_DOMCTL_VMSI_X86_RH_MASK             0x000100 
  359#define XEN_DOMCTL_VMSI_X86_DM_MASK             0x000200 
  360#define XEN_DOMCTL_VMSI_X86_DELIV_MASK          0x007000 
  361#define XEN_DOMCTL_VMSI_X86_TRIG_MASK           0x008000 
  362#define XEN_DOMCTL_VMSI_X86_UNMASKED            0x010000 
 
  383#define DPCI_ADD_MAPPING        1 
  384#define DPCI_REMOVE_MAPPING     0 
  420#define XEN_DOMCTL_createdomain                 1 
  421#define XEN_DOMCTL_destroydomain                2 
  422#define XEN_DOMCTL_pausedomain                  3 
  423#define XEN_DOMCTL_unpausedomain                4 
  424#define XEN_DOMCTL_getdomaininfo                5 
  425#define XEN_DOMCTL_setvcpuaffinity              9 
  426#define XEN_DOMCTL_shadow_op                    10 
  427#define XEN_DOMCTL_max_mem                      11 
  428#define XEN_DOMCTL_setvcpucontext               12 
  429#define XEN_DOMCTL_getvcpucontext               13 
  430#define XEN_DOMCTL_getvcpuinfo                  14 
  431#define XEN_DOMCTL_max_vcpus                    15 
  432#define XEN_DOMCTL_scheduler_op                 16 
  433#define XEN_DOMCTL_setdomainhandle              17 
  434#define XEN_DOMCTL_setdebugging                 18 
  435#define XEN_DOMCTL_irq_permission               19 
  436#define XEN_DOMCTL_iomem_permission             20 
  437#define XEN_DOMCTL_ioport_permission            21 
  438#define XEN_DOMCTL_hypercall_init               22 
  439#define XEN_DOMCTL_settimeoffset                24 
  440#define XEN_DOMCTL_getvcpuaffinity              25 
  441#define XEN_DOMCTL_real_mode_area               26  
  442#define XEN_DOMCTL_resumedomain                 27 
  443#define XEN_DOMCTL_sendtrigger                  28 
  444#define XEN_DOMCTL_subscribe                    29 
  445#define XEN_DOMCTL_gethvmcontext                33 
  446#define XEN_DOMCTL_sethvmcontext                34 
  447#define XEN_DOMCTL_set_address_size             35 
  448#define XEN_DOMCTL_get_address_size             36 
  449#define XEN_DOMCTL_assign_device                37 
  450#define XEN_DOMCTL_bind_pt_irq                  38 
  451#define XEN_DOMCTL_memory_mapping               39 
  452#define XEN_DOMCTL_ioport_mapping               40 
  453#define XEN_DOMCTL_set_ext_vcpucontext          42 
  454#define XEN_DOMCTL_get_ext_vcpucontext          43 
  455#define XEN_DOMCTL_set_opt_feature              44  
  456#define XEN_DOMCTL_test_assign_device           45 
  457#define XEN_DOMCTL_set_target                   46 
  458#define XEN_DOMCTL_deassign_device              47 
  459#define XEN_DOMCTL_unbind_pt_irq                48 
  460#define XEN_DOMCTL_get_device_group             50 
  461#define XEN_DOMCTL_debug_op                     54 
  462#define XEN_DOMCTL_gethvmcontext_partial        55 
  463#define XEN_DOMCTL_vm_event_op                  56 
  464#define XEN_DOMCTL_mem_sharing_op               57 
  465#define XEN_DOMCTL_gettscinfo                   59 
  466#define XEN_DOMCTL_settscinfo                   60 
  467#define XEN_DOMCTL_getpageframeinfo3            61 
  468#define XEN_DOMCTL_setvcpuextstate              62 
  469#define XEN_DOMCTL_getvcpuextstate              63 
  470#define XEN_DOMCTL_set_access_required          64 
  471#define XEN_DOMCTL_audit_p2m                    65 
  472#define XEN_DOMCTL_set_virq_handler             66 
  473#define XEN_DOMCTL_set_broken_page_p2m          67 
  474#define XEN_DOMCTL_setnodeaffinity              68 
  475#define XEN_DOMCTL_getnodeaffinity              69 
  476#define XEN_DOMCTL_cacheflush                   71 
  477#define XEN_DOMCTL_get_vcpu_msrs                72 
  478#define XEN_DOMCTL_set_vcpu_msrs                73 
  479#define XEN_DOMCTL_setvnumainfo                 74 
  480#define XEN_DOMCTL_psr_cmt_op                   75 
  481#define XEN_DOMCTL_monitor_op                   77 
  482#define XEN_DOMCTL_psr_alloc                    78 
  483#define XEN_DOMCTL_soft_reset                   79 
  484#define XEN_DOMCTL_vuart_op                     81 
  485#define XEN_DOMCTL_get_cpu_policy               82 
  486#define XEN_DOMCTL_set_cpu_policy               83 
  487#define XEN_DOMCTL_vmtrace_op                   84 
  488#define XEN_DOMCTL_get_paging_mempool_size      85 
  489#define XEN_DOMCTL_set_paging_mempool_size      86 
  490#define XEN_DOMCTL_gdbsx_guestmemio             1000 
  491#define XEN_DOMCTL_gdbsx_pausevcpu              1001 
  492#define XEN_DOMCTL_gdbsx_unpausevcpu            1002 
  493#define XEN_DOMCTL_gdbsx_domstatus              1003 
 
uint64_t xen_pfn_t
Definition arch-arm.h:204
 
#define uint64_aligned_t
Definition arch-arm.h:173
 
#define DEFINE_XEN_GUEST_HANDLE(name)
Definition arch-arm.h:192
 
pt_irq_type
Definition domctl.h:334
 
@ PT_IRQ_TYPE_PCI
Definition domctl.h:335
 
@ PT_IRQ_TYPE_MSI
Definition domctl.h:337
 
@ PT_IRQ_TYPE_ISA
Definition domctl.h:336
 
@ PT_IRQ_TYPE_SPI
Definition domctl.h:339
 
@ PT_IRQ_TYPE_MSI_TRANSLATE
Definition domctl.h:338
 
struct xen_domctl_schedparam_vcpu xen_domctl_schedparam_vcpu_t
 
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
 
__INT32_TYPE__ int32_t
Definition stdint.h:74
 
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
 
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
 
uint32_t size
Definition domctl.h:294
 
uint32_t size
Definition domctl.h:324
 
path
Definition domctl.h:326
 
uint32_t flags
Definition domctl.h:317
 
union xen_domctl_assign_device::@417 u
 
struct xen_domctl_assign_device::@417::@419 dt
 
uint32_t machine_sbdf
Definition domctl.h:321
 
struct xen_domctl_assign_device::@417::@418 pci
 
uint32_t dev
Definition domctl.h:316
 
struct xen_domctl_bind_pt_irq::@420::@423 msi
 
struct xen_domctl_bind_pt_irq::@420::@421 isa
 
uint64_t gtable
Definition domctl.h:364
 
uint8_t isa_irq
Definition domctl.h:347
 
uint8_t gvec
Definition domctl.h:355
 
uint16_t spi
Definition domctl.h:367
 
uint8_t device
Definition domctl.h:351
 
union xen_domctl_bind_pt_irq::@420 u
 
uint32_t irq_type
Definition domctl.h:343
 
uint8_t bus
Definition domctl.h:350
 
uint8_t intx
Definition domctl.h:352
 
uint32_t gflags
Definition domctl.h:356
 
uint32_t machine_irq
Definition domctl.h:342
 
struct xen_domctl_bind_pt_irq::@420::@422 pci
 
xen_pfn_t nr_pfns
Definition domctl.h:399
 
xen_pfn_t start_pfn
Definition domctl.h:399
 
uint32_t ssidref
Definition domctl.h:33
 
uint32_t iommu_opts
Definition domctl.h:69
 
uint32_t max_evtchn_port
Definition domctl.h:78
 
struct xen_arch_domainconfig arch
Definition domctl.h:94
 
uint32_t vmtrace_size
Definition domctl.h:89
 
uint32_t grant_opts
Definition domctl.h:86
 
uint32_t flags
Definition domctl.h:61
 
int32_t max_grant_frames
Definition domctl.h:79
 
uint32_t cpupool_id
Definition domctl.h:92
 
uint32_t max_vcpus
Definition domctl.h:77
 
int32_t max_maptrack_frames
Definition domctl.h:80
 
xen_domain_handle_t handle
Definition domctl.h:34
 
uint64_t outstanding_pages
Definition domctl.h:135
 
uint32_t cpupool
Definition domctl.h:145
 
uint64_t tot_pages
Definition domctl.h:133
 
uint32_t nr_online_vcpus
Definition domctl.h:140
 
uint16_t pad1
Definition domctl.h:101
 
uint64_t shared_info_frame
Definition domctl.h:138
 
struct xen_arch_domainconfig arch_config
Definition domctl.h:148
 
uint8_t gpaddr_bits
Definition domctl.h:146
 
domid_t domain
Definition domctl.h:100
 
uint8_t pad2[7]
Definition domctl.h:147
 
uint64_t shr_pages
Definition domctl.h:136
 
uint64_t max_pages
Definition domctl.h:134
 
uint64_t paged_pages
Definition domctl.h:137
 
uint64_t cpu_time
Definition domctl.h:139
 
xen_domain_handle_t handle
Definition domctl.h:144
 
uint32_t ssidref
Definition domctl.h:143
 
uint32_t max_vcpu_id
Definition domctl.h:142
 
uint32_t flags
Definition domctl.h:132
 
uint8_t allow_access
Definition domctl.h:288
 
uint64_t nr_mfns
Definition domctl.h:287
 
uint64_t first_mfn
Definition domctl.h:286
 
uint64_t max_memkb
Definition domctl.h:187
 
uint32_t max
Definition domctl.h:207
 
uint64_t nr_mfns
Definition domctl.h:388
 
uint32_t padding
Definition domctl.h:390
 
uint32_t add_mapping
Definition domctl.h:389
 
uint64_t first_gfn
Definition domctl.h:386
 
uint64_t first_mfn
Definition domctl.h:387
 
uint64_t size
Definition domctl.h:415
 
uint16_t weight
Definition domctl.h:225
 
uint16_t cap
Definition domctl.h:226
 
uint16_t cap
Definition domctl.h:221
 
uint16_t weight
Definition domctl.h:220
 
uint32_t period
Definition domctl.h:230
 
uint32_t budget
Definition domctl.h:231
 
uint32_t flags
Definition domctl.h:235
 
uint32_t vcpuid
Definition domctl.h:244
 
struct xen_domctl_sched_rtds rtds
Definition domctl.h:242
 
struct xen_domctl_sched_credit credit
Definition domctl.h:240
 
struct xen_domctl_sched_credit2 credit2
Definition domctl.h:241
 
union xen_domctl_schedparam_vcpu::@414 u
 
struct xen_domctl_sched_rtds rtds
Definition domctl.h:271
 
union xen_domctl_scheduler_op::@415 u
 
uint32_t cmd
Definition domctl.h:266
 
struct xen_domctl_scheduler_op::@415::@416 v
 
vcpus
Definition domctl.h:273
 
uint32_t sched_id
Definition domctl.h:265
 
uint32_t nr_vcpus
Definition domctl.h:278
 
uint32_t padding
Definition domctl.h:279
 
struct xen_domctl_sched_credit credit
Definition domctl.h:269
 
struct xen_domctl_sched_credit2 credit2
Definition domctl.h:270
 
uint32_t fault_count
Definition domctl.h:163
 
uint32_t dirty_count
Definition domctl.h:164
 
struct xen_domctl_shadow_op_stats stats
Definition domctl.h:181
 
uint32_t mode
Definition domctl.h:173
 
uint32_t mb
Definition domctl.h:176
 
dirty_bitmap
Definition domctl.h:179
 
uint64_t pages
Definition domctl.h:180
 
uint32_t op
Definition domctl.h:169
 
ctxt
Definition domctl.h:195
 
uint32_t vcpu
Definition domctl.h:193
 
struct xen_domctl_bind_pt_irq bind_pt_irq
Definition domctl.h:507
 
struct xen_domctl_createdomain createdomain
Definition domctl.h:498
 
struct xen_domctl_memory_mapping memory_mapping
Definition domctl.h:508
 
struct xen_domctl_assign_device assign_device
Definition domctl.h:506
 
struct xen_domctl_cacheflush cacheflush
Definition domctl.h:509
 
domid_t domain
Definition domctl.h:495
 
struct xen_domctl_scheduler_op scheduler_op
Definition domctl.h:503
 
struct xen_domctl_iomem_permission iomem_permission
Definition domctl.h:504
 
uint32_t interface_version
Definition domctl.h:494
 
struct xen_domctl_paging_mempool paging_mempool
Definition domctl.h:510
 
uint32_t cmd
Definition domctl.h:419
 
struct xen_domctl_vcpucontext vcpucontext
Definition domctl.h:501
 
struct xen_domctl_getdomaininfo getdomaininfo
Definition domctl.h:499
 
struct xen_domctl_max_mem max_mem
Definition domctl.h:500
 
struct xen_domctl_max_vcpus max_vcpus
Definition domctl.h:502
 
struct xen_domctl_address_size address_size
Definition domctl.h:505
 
uint8_t pad[128]
Definition domctl.h:511
 
uint16_t domid_t
Definition xen.h:217
 
uint8_t xen_domain_handle_t[16]
Definition xen.h:375