Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
domctl.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Apache-2.0 */
2/*
3 * Copyright (c) 2023 EPAM Systems
4 *
5 */
6
12
13#ifndef __XEN_DOM0_DOMCTL_H__
14#define __XEN_DOM0_DOMCTL_H__
15
16#include <zephyr/xen/generic.h>
19
20#include <zephyr/kernel.h>
21
28
40int xen_domctl_scheduler_op(int domid, struct xen_domctl_scheduler_op *sched_op);
41
52
63
76
89int xen_domctl_getvcpucontext(int domid, int vcpu, vcpu_guest_context_t *ctxt);
90
102int xen_domctl_setvcpucontext(int domid, int vcpu, vcpu_guest_context_t *ctxt);
103
116
128
140
151int xen_domctl_max_mem(int domid, uint64_t max_memkb);
152
163int xen_domctl_set_address_size(int domid, int addr_size);
164
177int xen_domctl_iomem_permission(int domid, uint64_t first_mfn,
178 uint64_t nr_mfns, uint8_t allow_access);
179
196int xen_domctl_memory_mapping(int domid, uint64_t first_gfn, uint64_t first_mfn,
197 uint64_t nr_mfns, uint32_t add_mapping);
198
212int xen_domctl_assign_dt_device(int domid, char *dtdev_path);
213
224int xen_domctl_deassign_dt_device(int domid, char *dtdev_path);
225
245int xen_domctl_bind_pt_irq(int domid, uint32_t machine_irq, uint8_t irq_type, uint8_t bus,
246 uint8_t device, uint8_t intx, uint8_t isa_irq, uint16_t spi);
247
263int xen_domctl_max_vcpus(int domid, int max_vcpus);
264
280int xen_domctl_createdomain(int *domid, struct xen_domctl_createdomain *config);
281
292int xen_domctl_cacheflush(int domid, struct xen_domctl_cacheflush *cacheflush);
293
304
316int xen_domctl_getvcpu(int domid, uint32_t vcpu, struct xen_domctl_getvcpuinfo *info);
317
319
320#endif /* __XEN_DOM0_DOMCTL_H__ */
Internal Xen support helpers.
int xen_domctl_get_paging_mempool_size(int domid, uint64_t *size)
Get the paging mempool size for a domain.
int xen_domctl_iomem_permission(int domid, uint64_t first_mfn, uint64_t nr_mfns, uint8_t allow_access)
Allow or deny I/O-memory access for a domain.
int xen_domctl_getdomaininfo(int domid, xen_domctl_getdomaininfo_t *dom_info)
Get summary information for a domain.
int xen_domctl_deassign_dt_device(int domid, char *dtdev_path)
Remove a devicetree-described device assignment from a guest domain.
int xen_domctl_resumedomain(int domid)
Resumes a domain.
int xen_domctl_setvcpucontext(int domid, int vcpu, vcpu_guest_context_t *ctxt)
Set the guest context of a domain vCPU.
int xen_domctl_createdomain(int *domid, struct xen_domctl_createdomain *config)
Create a new domain.
int xen_domctl_scheduler_op(int domid, struct xen_domctl_scheduler_op *sched_op)
Perform a scheduler operation on a specified domain.
int xen_domctl_unpausedomain(int domid)
Unpause a domain in the Xen hypervisor.
int xen_domctl_set_address_size(int domid, int addr_size)
Set the address size used by a domain.
int xen_domctl_max_vcpus(int domid, int max_vcpus)
Set the maximum number of vCPUs available to a domain.
int xen_domctl_getvcpucontext(int domid, int vcpu, vcpu_guest_context_t *ctxt)
Get the guest context of a domain vCPU.
int xen_domctl_getvcpu(int domid, uint32_t vcpu, struct xen_domctl_getvcpuinfo *info)
Query runtime information for one domain vCPU.
int xen_domctl_set_paging_mempool_size(int domid, uint64_t size)
Set the paging mempool size for a domain.
int xen_domctl_destroydomain(int domid)
Destroy a domain.
int xen_domctl_memory_mapping(int domid, uint64_t first_gfn, uint64_t first_mfn, uint64_t nr_mfns, uint32_t add_mapping)
Map or unmap a machine-memory range into a guest frame range.
int xen_domctl_max_mem(int domid, uint64_t max_memkb)
Set the maximum memory assigned to a domain.
int xen_domctl_bind_pt_irq(int domid, uint32_t machine_irq, uint8_t irq_type, uint8_t bus, uint8_t device, uint8_t intx, uint8_t isa_irq, uint16_t spi)
Bind a physical interrupt to a guest domain.
int xen_domctl_cacheflush(int domid, struct xen_domctl_cacheflush *cacheflush)
Clean and invalidate caches for a guest memory range.
int xen_domctl_assign_dt_device(int domid, char *dtdev_path)
Assign a devicetree-described device to a guest domain.
int xen_domctl_pausedomain(int domid)
Pause a domain in the Xen hypervisor.
Public kernel APIs.
struct xen_domctl_getdomaininfo xen_domctl_getdomaininfo_t
Definition domctl.h:148
__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
Runtime device structure (in ROM) per driver instance.
Definition device.h:513
Definition domctl.h:407
Definition domctl.h:29
Definition domctl.h:197
Definition domctl.h:274