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: 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
31int xen_domctl_scheduler_op(int domid, struct xen_domctl_scheduler_op *sched_op);
32
41
50
61
73int xen_domctl_getvcpucontext(int domid, int vcpu, vcpu_guest_context_t *ctxt);
74
84int xen_domctl_setvcpucontext(int domid, int vcpu, vcpu_guest_context_t *ctxt);
85
96
106
116
125int xen_domctl_max_mem(int domid, uint64_t max_memkb);
126
135int xen_domctl_set_address_size(int domid, int addr_size);
136
150int xen_domctl_iomem_permission(int domid, uint64_t first_mfn,
151 uint64_t nr_mfns, uint8_t allow_access);
152
165int xen_domctl_memory_mapping(int domid, uint64_t first_gfn, uint64_t first_mfn,
166 uint64_t nr_mfns, uint32_t add_mapping);
167
176int xen_domctl_assign_dt_device(int domid, char *dtdev_path);
177
186int xen_domctl_deassign_dt_device(int domid, char *dtdev_path);
187
204int xen_domctl_bind_pt_irq(int domid, uint32_t machine_irq, uint8_t irq_type, uint8_t bus,
205 uint8_t device, uint8_t intx, uint8_t isa_irq, uint16_t spi);
206
220int xen_domctl_max_vcpus(int domid, int max_vcpus);
221
234int xen_domctl_createdomain(int *domid, struct xen_domctl_createdomain *config);
235
246int xen_domctl_cacheflush(int domid, struct xen_domctl_cacheflush *cacheflush);
247
256
266int xen_domctl_getvcpu(int domid, uint32_t vcpu, struct xen_domctl_getvcpuinfo *info);
267
268#endif /* __XEN_DOM0_DOMCTL_H__ */
int xen_domctl_get_paging_mempool_size(int domid, uint64_t *size)
Gets the paging mempool size for a specified domain.
int xen_domctl_iomem_permission(int domid, uint64_t first_mfn, uint64_t nr_mfns, uint8_t allow_access)
Set IOMEM permission for a domain.
int xen_domctl_getdomaininfo(int domid, xen_domctl_getdomaininfo_t *dom_info)
Retrieves information about a Xen domain.
int xen_domctl_deassign_dt_device(int domid, char *dtdev_path)
Deassign a device 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)
Sets the virtual CPU context for a specified domain and virtual CPU.
int xen_domctl_createdomain(int *domid, struct xen_domctl_createdomain *config)
Creates a new domain with the specified domain ID and configuration.
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)
Unpauses a domain in the Xen hypervisor.
int xen_domctl_set_address_size(int domid, int addr_size)
Sets the address size for a specified domain.
int xen_domctl_max_vcpus(int domid, int max_vcpus)
Set the maximum number of vCPUs for a domain.
int xen_domctl_getvcpucontext(int domid, int vcpu, vcpu_guest_context_t *ctxt)
Retrieves the virtual CPU context for a specific domain and virtual CPU.
int xen_domctl_getvcpu(int domid, uint32_t vcpu, struct xen_domctl_getvcpuinfo *info)
Retrieves information about a specific virtual CPU (vCPU) in a Xen domain.
int xen_domctl_set_paging_mempool_size(int domid, uint64_t size)
Sets the paging mempool size for a specified domain.
int xen_domctl_destroydomain(int domid)
Destroys a Xen domain.
int xen_domctl_memory_mapping(int domid, uint64_t first_gfn, uint64_t first_mfn, uint64_t nr_mfns, uint32_t add_mapping)
Maps a range of machine memory to a range of guest memory.
int xen_domctl_max_mem(int domid, uint64_t max_memkb)
Sets the maximum memory for a specified 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)
Binds a physical IRQ to a specified domain.
int xen_domctl_cacheflush(int domid, struct xen_domctl_cacheflush *cacheflush)
Clean and invalidate caches associated with given region of guest memory.
int xen_domctl_assign_dt_device(int domid, char *dtdev_path)
Assign a device to a guest.
int xen_domctl_pausedomain(int domid)
Pauses 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