Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
domctl.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: MIT */
2/******************************************************************************
3 * domctl.h
4 *
5 * Domain management operations. For use by node control stack.
6 *
7 * Copyright (c) 2002-2003, B Dragovic
8 * Copyright (c) 2002-2006, K Fraser
9 */
10
11#ifndef __XEN_PUBLIC_DOMCTL_H__
12#define __XEN_PUBLIC_DOMCTL_H__
13
14#ifndef CONFIG_XEN_DOM0
15#error "domctl operations are intended for use by node control tools only"
16#endif
17
18#include "xen.h"
19#include "event_channel.h"
20#include "grant_table.h"
21#include "memory.h"
22
23/*
24 * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
25 * If it is specified as an invalid value (0 or >= DOMID_FIRST_RESERVED),
26 * an id is auto-allocated and returned.
27 */
28/* XEN_DOMCTL_createdomain */
30 /* IN parameters */
33/* Is this an HVM guest (as opposed to a PV guest)? */
34#define _XEN_DOMCTL_CDF_hvm 0
35#define XEN_DOMCTL_CDF_hvm (1U << _XEN_DOMCTL_CDF_hvm)
36/* Use hardware-assisted paging if available? */
37#define _XEN_DOMCTL_CDF_hap 1
38#define XEN_DOMCTL_CDF_hap (1U << _XEN_DOMCTL_CDF_hap)
39/* Should domain memory integrity be verified by tboot during Sx? */
40#define _XEN_DOMCTL_CDF_s3_integrity 2
41#define XEN_DOMCTL_CDF_s3_integrity (1U << _XEN_DOMCTL_CDF_s3_integrity)
42/* Disable out-of-sync shadow page tables? */
43#define _XEN_DOMCTL_CDF_oos_off 3
44#define XEN_DOMCTL_CDF_oos_off (1U << _XEN_DOMCTL_CDF_oos_off)
45/* Is this a xenstore domain? */
46#define _XEN_DOMCTL_CDF_xs_domain 4
47#define XEN_DOMCTL_CDF_xs_domain (1U << _XEN_DOMCTL_CDF_xs_domain)
48/* Should this domain be permitted to use the IOMMU? */
49#define _XEN_DOMCTL_CDF_iommu 5
50#define XEN_DOMCTL_CDF_iommu (1U << _XEN_DOMCTL_CDF_iommu)
51#define _XEN_DOMCTL_CDF_nested_virt 6
52#define XEN_DOMCTL_CDF_nested_virt (1U << _XEN_DOMCTL_CDF_nested_virt)
53/* Should we expose the vPMU to the guest? */
54#define XEN_DOMCTL_CDF_vpmu (1U << 7)
55
56/* Max XEN_DOMCTL_CDF_* constant. Used for ABI checking. */
57#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_vpmu
58
60
61#define _XEN_DOMCTL_IOMMU_no_sharept 0
62#define XEN_DOMCTL_IOMMU_no_sharep (1U << _XEN_DOMCTL_IOMMU_no_sharept)
63
64/* Max XEN_DOMCTL_IOMMU_* constant. Used for ABI checking. */
65#define XEN_DOMCTL_IOMMU_MAX XEN_DOMCTL_IOMMU_no_sharept
66
68
69 /*
70 * Various domain limits, which impact the quantity of resources
71 * (global mapping space, xenheap, etc) a guest may consume. For
72 * max_grant_frames and max_maptrack_frames, < 0 means "use the
73 * default maximum value in the hypervisor".
74 */
79
80/* Grant version, use low 4 bits. */
81#define XEN_DOMCTL_GRANT_version_mask 0xf
82#define XEN_DOMCTL_GRANT_version(v) ((v) & XEN_DOMCTL_GRANT_version_mask)
83
85
86 /* Per-vCPU buffer size in bytes. 0 to disable. */
88
89 /* CPU pool to use; specify 0 or a specific existing pool */
91
92 struct xen_arch_domainconfig arch;
93};
94
95/* XEN_DOMCTL_getdomaininfo */
97 /* OUT variables. */
98 domid_t domain; /* Also echoed in domctl.domain */
100/* Domain is scheduled to die. */
101#define _XEN_DOMINF_dying 0
102#define XEN_DOMINF_dying (1U << _XEN_DOMINF_dying)
103/* Domain is an HVM guest (as opposed to a PV guest). */
104#define _XEN_DOMINF_hvm_guest 1
105#define XEN_DOMINF_hvm_guest (1U << _XEN_DOMINF_hvm_guest)
106/* The guest OS has shut down. */
107#define _XEN_DOMINF_shutdown 2
108#define XEN_DOMINF_shutdown (1U << _XEN_DOMINF_shutdown)
109/* Currently paused by control software. */
110#define _XEN_DOMINF_paused 3
111#define XEN_DOMINF_paused (1U << _XEN_DOMINF_paused)
112/* Currently blocked pending an event. */
113#define _XEN_DOMINF_blocked 4
114#define XEN_DOMINF_blocked (1U << _XEN_DOMINF_blocked)
115/* Domain is currently running. */
116#define _XEN_DOMINF_running 5
117#define XEN_DOMINF_running (1U << _XEN_DOMINF_running)
118/* Being debugged. */
119#define _XEN_DOMINF_debugged 6
120#define XEN_DOMINF_debugged (1U << _XEN_DOMINF_debugged)
121/* domain is a xenstore domain */
122#define _XEN_DOMINF_xs_domain 7
123#define XEN_DOMINF_xs_domain (1U << _XEN_DOMINF_xs_domain)
124/* domain has hardware assisted paging */
125#define _XEN_DOMINF_hap 8
126#define XEN_DOMINF_hap (1U << _XEN_DOMINF_hap)
127/* XEN_DOMINF_shutdown guest-supplied code. */
128#define XEN_DOMINF_shutdownmask 255
129#define XEN_DOMINF_shutdownshift 16
130 uint32_t flags; /* XEN_DOMINF_* */
136 uint64_aligned_t shared_info_frame; /* GMFN of shared_info struct */
138 uint32_t nr_online_vcpus; /* Number of VCPUs currently online. */
139#define XEN_INVALID_MAX_VCPU_ID (~0U) /* Domain has no vcpus? */
140 uint32_t max_vcpu_id; /* Maximum VCPUID in use by this domain. */
144 uint8_t gpaddr_bits; /* Guest physical address space size. */
146 struct xen_arch_domainconfig arch_config;
147};
150
151/*
152 * Control shadow pagetables operation
153 */
154/* XEN_DOMCTL_shadow_op */
155
156/* Memory allocation accessors. */
157#define XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION 30
158#define XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION 31
159
164
166 /* IN variables. */
167 uint32_t op; /* XEN_DOMCTL_SHADOW_OP_* */
168
169 /* OP_ENABLE: XEN_DOMCTL_SHADOW_ENABLE_* */
170 /* OP_PEAK / OP_CLEAN: XEN_DOMCTL_SHADOW_LOGDIRTY_* */
172
173 /* OP_GET_ALLOCATION / OP_SET_ALLOCATION */
174 uint32_t mb; /* Shadow memory allocation in MB */
175
176 /* OP_PEEK / OP_CLEAN */
177 XEN_GUEST_HANDLE_64(uint8_t) dirty_bitmap;
178 uint64_aligned_t pages; /* Size of buffer. Updated with actual size. */
180};
181
182/* XEN_DOMCTL_max_mem */
184 /* IN variables. */
186};
187
188/* XEN_DOMCTL_setvcpucontext */
189/* XEN_DOMCTL_getvcpucontext */
191 uint32_t vcpu; /* IN */
192
193 XEN_GUEST_HANDLE_64(vcpu_guest_context_t) ctxt; /* IN/OUT */
194};
195
196/* XEN_DOMCTL_getvcpuinfo */
198 /* IN variables. */
200 /* OUT variables. */
201 uint8_t online; /* currently online (not hotplugged)? */
202 uint8_t blocked; /* blocked waiting for an event? */
203 uint8_t running; /* currently scheduled on its CPU? */
204 uint64_aligned_t cpu_time; /* total cpu time consumed (ns) */
205 uint32_t cpu; /* current mapping */
206};
207
208/*
209 * XEN_DOMCTL_max_vcpus:
210 *
211 * The parameter passed to XEN_DOMCTL_max_vcpus must match the value passed to
212 * XEN_DOMCTL_createdomain. This hypercall is in the process of being removed
213 * (once the failure paths in domain_create() have been improved), but is
214 * still required in the short term to allocate the vcpus themselves.
215 */
217 uint32_t max; /* maximum number of vcpus */
218};
219
220/* XEN_DOMCTL_scheduler_op */
221/* Scheduler types. */
222/* #define XEN_SCHEDULER_SEDF 4 (Removed) */
223#define XEN_SCHEDULER_CREDIT 5
224#define XEN_SCHEDULER_CREDIT2 6
225#define XEN_SCHEDULER_ARINC653 7
226#define XEN_SCHEDULER_RTDS 8
227#define XEN_SCHEDULER_NULL 9
228
233
238
242/* Can this vCPU execute beyond its reserved amount of time? */
243#define _XEN_DOMCTL_SCHEDRT_extra 0
244#define XEN_DOMCTL_SCHEDRT_extra (1U<<_XEN_DOMCTL_SCHEDRT_extra)
246};
247
257
258/*
259 * Set or get info?
260 * For schedulers supporting per-vcpu settings (e.g., RTDS):
261 * XEN_DOMCTL_SCHEDOP_putinfo sets params for all vcpus;
262 * XEN_DOMCTL_SCHEDOP_getinfo gets default params;
263 * XEN_DOMCTL_SCHEDOP_put(get)vcpuinfo sets (gets) params of vcpus;
264 *
265 * For schedulers not supporting per-vcpu settings:
266 * XEN_DOMCTL_SCHEDOP_putinfo sets params for all vcpus;
267 * XEN_DOMCTL_SCHEDOP_getinfo gets domain-wise params;
268 * XEN_DOMCTL_SCHEDOP_put(get)vcpuinfo returns error;
269 */
270#define XEN_DOMCTL_SCHEDOP_putinfo 0
271#define XEN_DOMCTL_SCHEDOP_getinfo 1
272#define XEN_DOMCTL_SCHEDOP_putvcpuinfo 2
273#define XEN_DOMCTL_SCHEDOP_getvcpuinfo 3
275 uint32_t sched_id; /* XEN_SCHEDULER_* */
276 uint32_t cmd; /* XEN_DOMCTL_SCHEDOP_* */
277 /* IN/OUT */
278 union {
282 struct {
284 /*
285 * IN: Number of elements in vcpus array.
286 * OUT: Number of processed elements of vcpus array.
287 */
290 } v;
291 } u;
292};
293
294/* XEN_DOMCTL_iomem_permission */
296 uint64_aligned_t first_mfn;/* first page (physical page number) in range */
297 uint64_aligned_t nr_mfns; /* number of pages in range (>0) */
298 uint8_t allow_access; /* allow (!0) or deny (0) access to range? */
299};
300
301/* XEN_DOMCTL_set_address_size */
302/* XEN_DOMCTL_get_address_size */
306
307/* Assign a device to a guest. Sets up IOMMU structures. */
308/* XEN_DOMCTL_assign_device */
309/*
310 * XEN_DOMCTL_test_assign_device: Pass DOMID_INVALID to find out whether the
311 * given device is assigned to any DomU at all. Pass a specific domain ID to
312 * find out whether the given device can be assigned to that domain.
313 */
314/*
315 * XEN_DOMCTL_deassign_device: The behavior of this DOMCTL differs
316 * between the different type of device:
317 * - PCI device (XEN_DOMCTL_DEV_PCI) will be reassigned to DOM0
318 * - DT device (XEN_DOMCTL_DEV_DT) will left unassigned. DOM0
319 * will have to call XEN_DOMCTL_assign_device in order to use the
320 * device.
321 */
322#define XEN_DOMCTL_DEV_PCI 0
323#define XEN_DOMCTL_DEV_DT 1
325 /* IN */
326 uint32_t dev; /* XEN_DOMCTL_DEV_* */
328#define XEN_DOMCTL_DEV_RDM_RELAXED 1 /* assign only */
329 union {
330 struct {
331 uint32_t machine_sbdf; /* machine PCI ID of assigned device */
333 struct {
334 uint32_t size; /* Length of the path */
335
336 XEN_GUEST_HANDLE_64(char) path; /* path to the device tree node */
337 } dt;
338 } u;
339};
340
341/* Pass-through interrupts: bind real irq -> hvm devfn. */
342/* XEN_DOMCTL_bind_pt_irq */
343/* XEN_DOMCTL_unbind_pt_irq */
353 uint32_t irq_type; /* enum pt_irq_type */
354
355 union {
356 struct {
359 struct {
364 struct {
367#define XEN_DOMCTL_VMSI_X86_DEST_ID_MASK 0x0000ff
368#define XEN_DOMCTL_VMSI_X86_RH_MASK 0x000100
369#define XEN_DOMCTL_VMSI_X86_DM_MASK 0x000200
370#define XEN_DOMCTL_VMSI_X86_DELIV_MASK 0x007000
371#define XEN_DOMCTL_VMSI_X86_TRIG_MASK 0x008000
372#define XEN_DOMCTL_VMSI_X86_UNMASKED 0x010000
373
376 struct {
379 } u;
380};
381
382
383/* Bind machine I/O address range -> HVM address range. */
384/* XEN_DOMCTL_memory_mapping */
385/* Returns
386 * - zero success, everything done
387 * - -E2BIG passed in nr_mfns value too large for the implementation
388 * - positive partial success for the first <result> page frames (with
389 * <result> less than nr_mfns), requiring re-invocation by the
390 * caller after updating inputs
391 * - negative error; other than -E2BIG
392 */
393#define DPCI_ADD_MAPPING 1
394#define DPCI_REMOVE_MAPPING 0
396 uint64_aligned_t first_gfn; /* first page (hvm guest phys page) in range */
397 uint64_aligned_t first_mfn; /* first page (machine page) in range */
398 uint64_aligned_t nr_mfns; /* number of pages in range (>0) */
399 uint32_t add_mapping; /* add or remove mapping */
400 uint32_t padding; /* padding for 64-bit aligned structure */
401};
402
403/*
404 * ARM: Clean and invalidate caches associated with given region of
405 * guest memory.
406 */
408 /* IN: page range to flush. */
410};
411
412#if CONFIG_XEN_DOMCTL_INTERFACE_VERSION >= 0x00000016
413/*
414 * XEN_DOMCTL_get_paging_mempool_size / XEN_DOMCTL_set_paging_mempool_size.
415 *
416 * Get or set the paging memory pool size. The size is in bytes.
417 *
418 * This is a dedicated pool of memory for Xen to use while managing the guest,
419 * typically containing pagetables. As such, there is an implementation
420 * specific minimum granularity.
421 *
422 * The set operation can fail mid-way through the request (e.g. Xen running
423 * out of memory, no free memory to reclaim from the pool, etc.).
424 */
425struct xen_domctl_paging_mempool {
426 uint64_aligned_t size; /* Size in bytes. */
427};
428#endif
429
432#define XEN_DOMCTL_createdomain 1
433#define XEN_DOMCTL_destroydomain 2
434#define XEN_DOMCTL_pausedomain 3
435#define XEN_DOMCTL_unpausedomain 4
436#define XEN_DOMCTL_getdomaininfo 5
437#define XEN_DOMCTL_setvcpuaffinity 9
438#define XEN_DOMCTL_shadow_op 10
439#define XEN_DOMCTL_max_mem 11
440#define XEN_DOMCTL_setvcpucontext 12
441#define XEN_DOMCTL_getvcpucontext 13
442#define XEN_DOMCTL_getvcpuinfo 14
443#define XEN_DOMCTL_max_vcpus 15
444#define XEN_DOMCTL_scheduler_op 16
445#define XEN_DOMCTL_setdomainhandle 17
446#define XEN_DOMCTL_setdebugging 18
447#define XEN_DOMCTL_irq_permission 19
448#define XEN_DOMCTL_iomem_permission 20
449#define XEN_DOMCTL_ioport_permission 21
450#define XEN_DOMCTL_hypercall_init 22
451#define XEN_DOMCTL_settimeoffset 24
452#define XEN_DOMCTL_getvcpuaffinity 25
453#define XEN_DOMCTL_real_mode_area 26 /* Obsolete PPC only */
454#define XEN_DOMCTL_resumedomain 27
455#define XEN_DOMCTL_sendtrigger 28
456#define XEN_DOMCTL_subscribe 29
457#define XEN_DOMCTL_gethvmcontext 33
458#define XEN_DOMCTL_sethvmcontext 34
459#define XEN_DOMCTL_set_address_size 35
460#define XEN_DOMCTL_get_address_size 36
461#define XEN_DOMCTL_assign_device 37
462#define XEN_DOMCTL_bind_pt_irq 38
463#define XEN_DOMCTL_memory_mapping 39
464#define XEN_DOMCTL_ioport_mapping 40
465#define XEN_DOMCTL_set_ext_vcpucontext 42
466#define XEN_DOMCTL_get_ext_vcpucontext 43
467#define XEN_DOMCTL_set_opt_feature 44 /* Obsolete IA64 only */
468#define XEN_DOMCTL_test_assign_device 45
469#define XEN_DOMCTL_set_target 46
470#define XEN_DOMCTL_deassign_device 47
471#define XEN_DOMCTL_unbind_pt_irq 48
472#define XEN_DOMCTL_get_device_group 50
473#define XEN_DOMCTL_debug_op 54
474#define XEN_DOMCTL_gethvmcontext_partial 55
475#define XEN_DOMCTL_vm_event_op 56
476#define XEN_DOMCTL_mem_sharing_op 57
477#define XEN_DOMCTL_gettscinfo 59
478#define XEN_DOMCTL_settscinfo 60
479#define XEN_DOMCTL_getpageframeinfo3 61
480#define XEN_DOMCTL_setvcpuextstate 62
481#define XEN_DOMCTL_getvcpuextstate 63
482#define XEN_DOMCTL_set_access_required 64
483#define XEN_DOMCTL_audit_p2m 65
484#define XEN_DOMCTL_set_virq_handler 66
485#define XEN_DOMCTL_set_broken_page_p2m 67
486#define XEN_DOMCTL_setnodeaffinity 68
487#define XEN_DOMCTL_getnodeaffinity 69
488#define XEN_DOMCTL_cacheflush 71
489#define XEN_DOMCTL_get_vcpu_msrs 72
490#define XEN_DOMCTL_set_vcpu_msrs 73
491#define XEN_DOMCTL_setvnumainfo 74
492#define XEN_DOMCTL_psr_cmt_op 75
493#define XEN_DOMCTL_monitor_op 77
494#define XEN_DOMCTL_psr_alloc 78
495#define XEN_DOMCTL_soft_reset 79
496#define XEN_DOMCTL_vuart_op 81
497#define XEN_DOMCTL_get_cpu_policy 82
498#define XEN_DOMCTL_set_cpu_policy 83
499#define XEN_DOMCTL_vmtrace_op 84
500#if CONFIG_XEN_DOMCTL_INTERFACE_VERSION >= 0x00000016
501#define XEN_DOMCTL_get_paging_mempool_size 85
502#define XEN_DOMCTL_set_paging_mempool_size 86
503#endif
504#define XEN_DOMCTL_gdbsx_guestmemio 1000
505#define XEN_DOMCTL_gdbsx_pausevcpu 1001
506#define XEN_DOMCTL_gdbsx_unpausevcpu 1002
507#define XEN_DOMCTL_gdbsx_domstatus 1003
508 uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */
510 uint16_t _pad[3];
511 union {
525#if CONFIG_XEN_DOMCTL_INTERFACE_VERSION >= 0x00000016
526 struct xen_domctl_paging_mempool paging_mempool;
527#endif
529 } u;
530};
533
534#endif /* __XEN_PUBLIC_DOMCTL_H__ */
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
struct xen_domctl xen_domctl_t
Definition domctl.h:531
struct xen_domctl_getdomaininfo xen_domctl_getdomaininfo_t
Definition domctl.h:148
pt_irq_type
Definition domctl.h:344
@ PT_IRQ_TYPE_PCI
Definition domctl.h:345
@ PT_IRQ_TYPE_MSI
Definition domctl.h:347
@ PT_IRQ_TYPE_ISA
Definition domctl.h:346
@ PT_IRQ_TYPE_SPI
Definition domctl.h:349
@ PT_IRQ_TYPE_MSI_TRANSLATE
Definition domctl.h:348
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
Definition domctl.h:303
uint32_t size
Definition domctl.h:304
Definition domctl.h:324
uint32_t size
Definition domctl.h:334
struct xen_domctl_assign_device::@346070346101205137164003321227267235055010101065::@126306216020237363006234226214302063046257022100 pci
path
Definition domctl.h:336
uint32_t flags
Definition domctl.h:327
struct xen_domctl_assign_device::@346070346101205137164003321227267235055010101065::@225251342002247351377134134211157327114300011025 dt
union xen_domctl_assign_device::@346070346101205137164003321227267235055010101065 u
uint32_t machine_sbdf
Definition domctl.h:331
uint32_t dev
Definition domctl.h:326
Definition domctl.h:351
uint64_t gtable
Definition domctl.h:374
struct xen_domctl_bind_pt_irq::@007272240376006057315255007155165227336027147126::@326164326227067320141270032376355136317070171305 isa
uint8_t isa_irq
Definition domctl.h:357
uint8_t gvec
Definition domctl.h:365
union xen_domctl_bind_pt_irq::@007272240376006057315255007155165227336027147126 u
uint16_t spi
Definition domctl.h:377
uint8_t device
Definition domctl.h:361
uint32_t irq_type
Definition domctl.h:353
struct xen_domctl_bind_pt_irq::@007272240376006057315255007155165227336027147126::@335203000171206223004156057337274142062375234221 msi
uint8_t bus
Definition domctl.h:360
uint8_t intx
Definition domctl.h:362
uint32_t gflags
Definition domctl.h:366
uint32_t machine_irq
Definition domctl.h:352
struct xen_domctl_bind_pt_irq::@007272240376006057315255007155165227336027147126::@273140227232217216356207073012252101356335062255 pci
Definition domctl.h:407
xen_pfn_t nr_pfns
Definition domctl.h:409
xen_pfn_t start_pfn
Definition domctl.h:409
Definition domctl.h:29
uint32_t ssidref
Definition domctl.h:31
uint32_t iommu_opts
Definition domctl.h:67
uint32_t max_evtchn_port
Definition domctl.h:76
struct xen_arch_domainconfig arch
Definition domctl.h:92
uint32_t vmtrace_size
Definition domctl.h:87
uint32_t grant_opts
Definition domctl.h:84
uint32_t flags
Definition domctl.h:59
int32_t max_grant_frames
Definition domctl.h:77
uint32_t cpupool_id
Definition domctl.h:90
uint32_t max_vcpus
Definition domctl.h:75
int32_t max_maptrack_frames
Definition domctl.h:78
xen_domain_handle_t handle
Definition domctl.h:32
Definition domctl.h:96
uint64_t outstanding_pages
Definition domctl.h:133
uint32_t cpupool
Definition domctl.h:143
uint64_t tot_pages
Definition domctl.h:131
uint32_t nr_online_vcpus
Definition domctl.h:138
uint16_t pad1
Definition domctl.h:99
uint64_t shared_info_frame
Definition domctl.h:136
struct xen_arch_domainconfig arch_config
Definition domctl.h:146
uint8_t gpaddr_bits
Definition domctl.h:144
domid_t domain
Definition domctl.h:98
uint8_t pad2[7]
Definition domctl.h:145
uint64_t shr_pages
Definition domctl.h:134
uint64_t max_pages
Definition domctl.h:132
uint64_t paged_pages
Definition domctl.h:135
uint64_t cpu_time
Definition domctl.h:137
xen_domain_handle_t handle
Definition domctl.h:142
uint32_t ssidref
Definition domctl.h:141
uint32_t max_vcpu_id
Definition domctl.h:140
uint32_t flags
Definition domctl.h:130
Definition domctl.h:197
uint8_t blocked
Definition domctl.h:202
uint32_t vcpu
Definition domctl.h:199
uint32_t cpu
Definition domctl.h:205
uint8_t online
Definition domctl.h:201
uint64_t cpu_time
Definition domctl.h:204
uint8_t running
Definition domctl.h:203
Definition domctl.h:295
uint8_t allow_access
Definition domctl.h:298
uint64_t nr_mfns
Definition domctl.h:297
uint64_t first_mfn
Definition domctl.h:296
Definition domctl.h:183
uint64_t max_memkb
Definition domctl.h:185
Definition domctl.h:216
uint32_t max
Definition domctl.h:217
Definition domctl.h:395
uint64_t nr_mfns
Definition domctl.h:398
uint32_t padding
Definition domctl.h:400
uint32_t add_mapping
Definition domctl.h:399
uint64_t first_gfn
Definition domctl.h:396
uint64_t first_mfn
Definition domctl.h:397
Definition domctl.h:234
uint16_t weight
Definition domctl.h:235
uint16_t cap
Definition domctl.h:236
Definition domctl.h:229
uint16_t cap
Definition domctl.h:231
uint16_t weight
Definition domctl.h:230
Definition domctl.h:239
uint32_t period
Definition domctl.h:240
uint32_t budget
Definition domctl.h:241
uint32_t flags
Definition domctl.h:245
Definition domctl.h:248
uint32_t vcpuid
Definition domctl.h:254
union xen_domctl_schedparam_vcpu::@026172365210266001352130004276145310050375341003 u
struct xen_domctl_sched_rtds rtds
Definition domctl.h:252
struct xen_domctl_sched_credit credit
Definition domctl.h:250
struct xen_domctl_sched_credit2 credit2
Definition domctl.h:251
Definition domctl.h:274
struct xen_domctl_sched_rtds rtds
Definition domctl.h:281
struct xen_domctl_scheduler_op::@204215365231351031025307062051006224145075020352::@204304235224270141042144334000147051234133015251 v
uint32_t cmd
Definition domctl.h:276
vcpus
Definition domctl.h:283
union xen_domctl_scheduler_op::@204215365231351031025307062051006224145075020352 u
uint32_t sched_id
Definition domctl.h:275
uint32_t nr_vcpus
Definition domctl.h:288
uint32_t padding
Definition domctl.h:289
struct xen_domctl_sched_credit credit
Definition domctl.h:279
struct xen_domctl_sched_credit2 credit2
Definition domctl.h:280
Definition domctl.h:160
uint32_t fault_count
Definition domctl.h:161
uint32_t dirty_count
Definition domctl.h:162
Definition domctl.h:165
struct xen_domctl_shadow_op_stats stats
Definition domctl.h:179
uint32_t mode
Definition domctl.h:171
uint32_t mb
Definition domctl.h:174
dirty_bitmap
Definition domctl.h:177
uint64_t pages
Definition domctl.h:178
uint32_t op
Definition domctl.h:167
Definition domctl.h:190
ctxt
Definition domctl.h:193
uint32_t vcpu
Definition domctl.h:191
Definition domctl.h:430
struct xen_domctl_bind_pt_irq bind_pt_irq
Definition domctl.h:522
struct xen_domctl_createdomain createdomain
Definition domctl.h:512
struct xen_domctl_memory_mapping memory_mapping
Definition domctl.h:523
struct xen_domctl_assign_device assign_device
Definition domctl.h:521
struct xen_domctl_cacheflush cacheflush
Definition domctl.h:524
domid_t domain
Definition domctl.h:509
struct xen_domctl_scheduler_op scheduler_op
Definition domctl.h:518
struct xen_domctl_iomem_permission iomem_permission
Definition domctl.h:519
uint32_t interface_version
Definition domctl.h:508
uint32_t cmd
Definition domctl.h:431
struct xen_domctl_vcpucontext vcpucontext
Definition domctl.h:515
struct xen_domctl_getdomaininfo getdomaininfo
Definition domctl.h:513
struct xen_domctl_getvcpuinfo getvcpuinfo
Definition domctl.h:516
struct xen_domctl_max_mem max_mem
Definition domctl.h:514
struct xen_domctl_max_vcpus max_vcpus
Definition domctl.h:517
struct xen_domctl_address_size address_size
Definition domctl.h:520
uint8_t pad[128]
Definition domctl.h:528
union xen_domctl::@271012046276317112147345010275114207367142241034 u
uint16_t domid_t
Definition xen.h:217
uint8_t xen_domain_handle_t[16]
Definition xen.h:375