Zephyr API Documentation  3.6.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#define XEN_DOMCTL_INTERFACE_VERSION 0x00000015
24
25/*
26 * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
27 * If it is specified as an invalid value (0 or >= DOMID_FIRST_RESERVED),
28 * an id is auto-allocated and returned.
29 */
30/* XEN_DOMCTL_createdomain */
32 /* IN parameters */
35/* Is this an HVM guest (as opposed to a PV guest)? */
36#define _XEN_DOMCTL_CDF_hvm 0
37#define XEN_DOMCTL_CDF_hvm (1U << _XEN_DOMCTL_CDF_hvm)
38/* Use hardware-assisted paging if available? */
39#define _XEN_DOMCTL_CDF_hap 1
40#define XEN_DOMCTL_CDF_hap (1U << _XEN_DOMCTL_CDF_hap)
41/* Should domain memory integrity be verifed by tboot during Sx? */
42#define _XEN_DOMCTL_CDF_s3_integrity 2
43#define XEN_DOMCTL_CDF_s3_integrity (1U << _XEN_DOMCTL_CDF_s3_integrity)
44/* Disable out-of-sync shadow page tables? */
45#define _XEN_DOMCTL_CDF_oos_off 3
46#define XEN_DOMCTL_CDF_oos_off (1U << _XEN_DOMCTL_CDF_oos_off)
47/* Is this a xenstore domain? */
48#define _XEN_DOMCTL_CDF_xs_domain 4
49#define XEN_DOMCTL_CDF_xs_domain (1U << _XEN_DOMCTL_CDF_xs_domain)
50/* Should this domain be permitted to use the IOMMU? */
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)
55/* Should we expose the vPMU to the guest? */
56#define XEN_DOMCTL_CDF_vpmu (1U << 7)
57
58/* Max XEN_DOMCTL_CDF_* constant. Used for ABI checking. */
59#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_vpmu
60
62
63#define _XEN_DOMCTL_IOMMU_no_sharept 0
64#define XEN_DOMCTL_IOMMU_no_sharep (1U << _XEN_DOMCTL_IOMMU_no_sharept)
65
66/* Max XEN_DOMCTL_IOMMU_* constant. Used for ABI checking. */
67#define XEN_DOMCTL_IOMMU_MAX XEN_DOMCTL_IOMMU_no_sharept
68
70
71 /*
72 * Various domain limits, which impact the quantity of resources
73 * (global mapping space, xenheap, etc) a guest may consume. For
74 * max_grant_frames and max_maptrack_frames, < 0 means "use the
75 * default maximum value in the hypervisor".
76 */
81
82/* Grant version, use low 4 bits. */
83#define XEN_DOMCTL_GRANT_version_mask 0xf
84#define XEN_DOMCTL_GRANT_version(v) ((v) & XEN_DOMCTL_GRANT_version_mask)
85
87
88 /* Per-vCPU buffer size in bytes. 0 to disable. */
90
91 /* CPU pool to use; specify 0 or a specific existing pool */
93
94 struct xen_arch_domainconfig arch;
95};
96
97/* XEN_DOMCTL_getdomaininfo */
99 /* OUT variables. */
100 domid_t domain; /* Also echoed in domctl.domain */
102/* Domain is scheduled to die. */
103#define _XEN_DOMINF_dying 0
104#define XEN_DOMINF_dying (1U << _XEN_DOMINF_dying)
105/* Domain is an HVM guest (as opposed to a PV guest). */
106#define _XEN_DOMINF_hvm_guest 1
107#define XEN_DOMINF_hvm_guest (1U << _XEN_DOMINF_hvm_guest)
108/* The guest OS has shut down. */
109#define _XEN_DOMINF_shutdown 2
110#define XEN_DOMINF_shutdown (1U << _XEN_DOMINF_shutdown)
111/* Currently paused by control software. */
112#define _XEN_DOMINF_paused 3
113#define XEN_DOMINF_paused (1U << _XEN_DOMINF_paused)
114/* Currently blocked pending an event. */
115#define _XEN_DOMINF_blocked 4
116#define XEN_DOMINF_blocked (1U << _XEN_DOMINF_blocked)
117/* Domain is currently running. */
118#define _XEN_DOMINF_running 5
119#define XEN_DOMINF_running (1U << _XEN_DOMINF_running)
120/* Being debugged. */
121#define _XEN_DOMINF_debugged 6
122#define XEN_DOMINF_debugged (1U << _XEN_DOMINF_debugged)
123/* domain is a xenstore domain */
124#define _XEN_DOMINF_xs_domain 7
125#define XEN_DOMINF_xs_domain (1U << _XEN_DOMINF_xs_domain)
126/* domain has hardware assisted paging */
127#define _XEN_DOMINF_hap 8
128#define XEN_DOMINF_hap (1U << _XEN_DOMINF_hap)
129/* XEN_DOMINF_shutdown guest-supplied code. */
130#define XEN_DOMINF_shutdownmask 255
131#define XEN_DOMINF_shutdownshift 16
132 uint32_t flags; /* XEN_DOMINF_* */
138 uint64_aligned_t shared_info_frame; /* GMFN of shared_info struct */
140 uint32_t nr_online_vcpus; /* Number of VCPUs currently online. */
141#define XEN_INVALID_MAX_VCPU_ID (~0U) /* Domain has no vcpus? */
142 uint32_t max_vcpu_id; /* Maximum VCPUID in use by this domain. */
146 uint8_t gpaddr_bits; /* Guest physical address space size. */
148 struct xen_arch_domainconfig arch_config;
149};
152
153/*
154 * Control shadow pagetables operation
155 */
156/* XEN_DOMCTL_shadow_op */
157
158/* Memory allocation accessors. */
159#define XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION 30
160#define XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION 31
161
165};
166
168 /* IN variables. */
169 uint32_t op; /* XEN_DOMCTL_SHADOW_OP_* */
170
171 /* OP_ENABLE: XEN_DOMCTL_SHADOW_ENABLE_* */
172 /* OP_PEAK / OP_CLEAN: XEN_DOMCTL_SHADOW_LOGDIRTY_* */
174
175 /* OP_GET_ALLOCATION / OP_SET_ALLOCATION */
176 uint32_t mb; /* Shadow memory allocation in MB */
177
178 /* OP_PEEK / OP_CLEAN */
179 XEN_GUEST_HANDLE_64(uint8_t) dirty_bitmap;
180 uint64_aligned_t pages; /* Size of buffer. Updated with actual size. */
182};
183
184/* XEN_DOMCTL_max_mem */
186 /* IN variables. */
188};
189
190/* XEN_DOMCTL_setvcpucontext */
191/* XEN_DOMCTL_getvcpucontext */
193 uint32_t vcpu; /* IN */
194
195 XEN_GUEST_HANDLE_64(vcpu_guest_context_t) ctxt; /* IN/OUT */
196};
197
198/*
199 * XEN_DOMCTL_max_vcpus:
200 *
201 * The parameter passed to XEN_DOMCTL_max_vcpus must match the value passed to
202 * XEN_DOMCTL_createdomain. This hypercall is in the process of being removed
203 * (once the failure paths in domain_create() have been improved), but is
204 * still required in the short term to allocate the vcpus themselves.
205 */
207 uint32_t max; /* maximum number of vcpus */
208};
209
210/* XEN_DOMCTL_scheduler_op */
211/* Scheduler types. */
212/* #define XEN_SCHEDULER_SEDF 4 (Removed) */
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
218
222};
223
227};
228
232/* Can this vCPU execute beyond its reserved amount of time? */
233#define _XEN_DOMCTL_SCHEDRT_extra 0
234#define XEN_DOMCTL_SCHEDRT_extra (1U<<_XEN_DOMCTL_SCHEDRT_extra)
236};
237
239 union {
243 } u;
247
248/*
249 * Set or get info?
250 * For schedulers supporting per-vcpu settings (e.g., RTDS):
251 * XEN_DOMCTL_SCHEDOP_putinfo sets params for all vcpus;
252 * XEN_DOMCTL_SCHEDOP_getinfo gets default params;
253 * XEN_DOMCTL_SCHEDOP_put(get)vcpuinfo sets (gets) params of vcpus;
254 *
255 * For schedulers not supporting per-vcpu settings:
256 * XEN_DOMCTL_SCHEDOP_putinfo sets params for all vcpus;
257 * XEN_DOMCTL_SCHEDOP_getinfo gets domain-wise params;
258 * XEN_DOMCTL_SCHEDOP_put(get)vcpuinfo returns error;
259 */
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
265 uint32_t sched_id; /* XEN_SCHEDULER_* */
266 uint32_t cmd; /* XEN_DOMCTL_SCHEDOP_* */
267 /* IN/OUT */
268 union {
272 struct {
274 /*
275 * IN: Number of elements in vcpus array.
276 * OUT: Number of processed elements of vcpus array.
277 */
280 } v;
281 } u;
282};
283
284/* XEN_DOMCTL_iomem_permission */
286 uint64_aligned_t first_mfn;/* first page (physical page number) in range */
287 uint64_aligned_t nr_mfns; /* number of pages in range (>0) */
288 uint8_t allow_access; /* allow (!0) or deny (0) access to range? */
289};
290
291/* XEN_DOMCTL_set_address_size */
292/* XEN_DOMCTL_get_address_size */
295};
296
297/* Assign a device to a guest. Sets up IOMMU structures. */
298/* XEN_DOMCTL_assign_device */
299/*
300 * XEN_DOMCTL_test_assign_device: Pass DOMID_INVALID to find out whether the
301 * given device is assigned to any DomU at all. Pass a specific domain ID to
302 * find out whether the given device can be assigned to that domain.
303 */
304/*
305 * XEN_DOMCTL_deassign_device: The behavior of this DOMCTL differs
306 * between the different type of device:
307 * - PCI device (XEN_DOMCTL_DEV_PCI) will be reassigned to DOM0
308 * - DT device (XEN_DOMCTL_DEV_DT) will left unassigned. DOM0
309 * will have to call XEN_DOMCTL_assign_device in order to use the
310 * device.
311 */
312#define XEN_DOMCTL_DEV_PCI 0
313#define XEN_DOMCTL_DEV_DT 1
315 /* IN */
316 uint32_t dev; /* XEN_DOMCTL_DEV_* */
318#define XEN_DOMCTL_DEV_RDM_RELAXED 1 /* assign only */
319 union {
320 struct {
321 uint32_t machine_sbdf; /* machine PCI ID of assigned device */
323 struct {
324 uint32_t size; /* Length of the path */
325
326 XEN_GUEST_HANDLE_64(char) path; /* path to the device tree node */
327 } dt;
328 } u;
329};
330
331/* Pass-through interrupts: bind real irq -> hvm devfn. */
332/* XEN_DOMCTL_bind_pt_irq */
333/* XEN_DOMCTL_unbind_pt_irq */
339 PT_IRQ_TYPE_SPI, /* ARM: valid range 32-1019 */
340};
343 uint32_t irq_type; /* enum pt_irq_type */
344
345 union {
346 struct {
349 struct {
354 struct {
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
363
366 struct {
369 } u;
370};
371
372
373/* Bind machine I/O address range -> HVM address range. */
374/* XEN_DOMCTL_memory_mapping */
375/* Returns
376 * - zero success, everything done
377 * - -E2BIG passed in nr_mfns value too large for the implementation
378 * - positive partial success for the first <result> page frames (with
379 * <result> less than nr_mfns), requiring re-invocation by the
380 * caller after updating inputs
381 * - negative error; other than -E2BIG
382 */
383#define DPCI_ADD_MAPPING 1
384#define DPCI_REMOVE_MAPPING 0
386 uint64_aligned_t first_gfn; /* first page (hvm guest phys page) in range */
387 uint64_aligned_t first_mfn; /* first page (machine page) in range */
388 uint64_aligned_t nr_mfns; /* number of pages in range (>0) */
389 uint32_t add_mapping; /* add or remove mapping */
390 uint32_t padding; /* padding for 64-bit aligned structure */
391};
392
393/*
394 * ARM: Clean and invalidate caches associated with given region of
395 * guest memory.
396 */
398 /* IN: page range to flush. */
400};
401
402/*
403 * XEN_DOMCTL_get_paging_mempool_size / XEN_DOMCTL_set_paging_mempool_size.
404 *
405 * Get or set the paging memory pool size. The size is in bytes.
406 *
407 * This is a dedicated pool of memory for Xen to use while managing the guest,
408 * typically containing pagetables. As such, there is an implementation
409 * specific minimum granularity.
410 *
411 * The set operation can fail mid-way through the request (e.g. Xen running
412 * out of memory, no free memory to reclaim from the pool, etc.).
413 */
415 uint64_aligned_t size; /* Size in bytes. */
416};
417
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 /* Obsolete PPC only */
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 /* Obsolete IA64 only */
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
494 uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */
496 uint16_t _pad[3];
497 union {
512 } u;
513};
516
517#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
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
Definition: domctl.h:293
uint32_t size
Definition: domctl.h:294
Definition: domctl.h:314
uint32_t size
Definition: domctl.h:324
path
Definition: domctl.h:326
uint32_t flags
Definition: domctl.h:317
uint32_t machine_sbdf
Definition: domctl.h:321
struct xen_domctl_assign_device::@408::@410 dt
struct xen_domctl_assign_device::@408::@409 pci
union xen_domctl_assign_device::@408 u
uint32_t dev
Definition: domctl.h:316
Definition: domctl.h:341
struct xen_domctl_bind_pt_irq::@411::@413 pci
union xen_domctl_bind_pt_irq::@411 u
uint64_t gtable
Definition: domctl.h:364
uint8_t isa_irq
Definition: domctl.h:347
uint8_t gvec
Definition: domctl.h:355
struct xen_domctl_bind_pt_irq::@411::@414 msi
uint16_t spi
Definition: domctl.h:367
uint8_t device
Definition: domctl.h:351
struct xen_domctl_bind_pt_irq::@411::@412 isa
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
Definition: domctl.h:397
xen_pfn_t nr_pfns
Definition: domctl.h:399
xen_pfn_t start_pfn
Definition: domctl.h:399
Definition: domctl.h:31
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
Definition: domctl.h:98
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
Definition: domctl.h:285
uint8_t allow_access
Definition: domctl.h:288
uint64_t nr_mfns
Definition: domctl.h:287
uint64_t first_mfn
Definition: domctl.h:286
Definition: domctl.h:185
uint64_t max_memkb
Definition: domctl.h:187
Definition: domctl.h:206
uint32_t max
Definition: domctl.h:207
Definition: domctl.h:385
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
Definition: domctl.h:414
uint64_t size
Definition: domctl.h:415
Definition: domctl.h:224
uint16_t weight
Definition: domctl.h:225
uint16_t cap
Definition: domctl.h:226
Definition: domctl.h:219
uint16_t cap
Definition: domctl.h:221
uint16_t weight
Definition: domctl.h:220
Definition: domctl.h:229
uint32_t period
Definition: domctl.h:230
uint32_t budget
Definition: domctl.h:231
uint32_t flags
Definition: domctl.h:235
Definition: domctl.h:238
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
union xen_domctl_schedparam_vcpu::@405 u
struct xen_domctl_sched_credit2 credit2
Definition: domctl.h:241
Definition: domctl.h:264
struct xen_domctl_sched_rtds rtds
Definition: domctl.h:271
uint32_t cmd
Definition: domctl.h:266
vcpus
Definition: domctl.h:273
struct xen_domctl_scheduler_op::@406::@407 v
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
union xen_domctl_scheduler_op::@406 u
struct xen_domctl_sched_credit2 credit2
Definition: domctl.h:270
Definition: domctl.h:162
uint32_t fault_count
Definition: domctl.h:163
uint32_t dirty_count
Definition: domctl.h:164
Definition: domctl.h:167
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
Definition: domctl.h:192
ctxt
Definition: domctl.h:195
uint32_t vcpu
Definition: domctl.h:193
Definition: domctl.h:418
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
union xen_domctl::@416 u
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