Line data Source code
1 0 : /* SPDX-License-Identifier: Apache-2.0 */ 2 : /* 3 : * Copyright (c) 2023 EPAM Systems 4 : * 5 : */ 6 : #ifndef __XEN_DOM0_DOMCTL_H__ 7 : #define __XEN_DOM0_DOMCTL_H__ 8 : 9 : #include <zephyr/xen/generic.h> 10 : #include <zephyr/xen/public/domctl.h> 11 : #include <zephyr/xen/public/xen.h> 12 : 13 : #include <zephyr/kernel.h> 14 : 15 0 : int xen_domctl_scheduler_op(int domid, struct xen_domctl_scheduler_op *sched_op); 16 0 : int xen_domctl_pausedomain(int domid); 17 0 : int xen_domctl_unpausedomain(int domid); 18 0 : int xen_domctl_resumedomain(int domid); 19 0 : int xen_domctl_getvcpucontext(int domid, int vcpu, vcpu_guest_context_t *ctxt); 20 0 : int xen_domctl_setvcpucontext(int domid, int vcpu, vcpu_guest_context_t *ctxt); 21 0 : int xen_domctl_getdomaininfo(int domid, xen_domctl_getdomaininfo_t *dom_info); 22 0 : int xen_domctl_set_paging_mempool_size(int domid, uint64_t size_mb); 23 0 : int xen_domctl_max_mem(int domid, uint64_t max_memkb); 24 0 : int xen_domctl_set_address_size(int domid, int addr_size); 25 0 : int xen_domctl_iomem_permission(int domid, uint64_t first_mfn, 26 : uint64_t nr_mfns, uint8_t allow_access); 27 0 : int xen_domctl_memory_mapping(int domid, uint64_t first_gfn, uint64_t first_mfn, 28 : uint64_t nr_mfns, uint32_t add_mapping); 29 0 : int xen_domctl_assign_dt_device(int domid, char *dtdev_path); 30 0 : int xen_domctl_bind_pt_irq(int domid, uint32_t machine_irq, uint8_t irq_type, uint8_t bus, 31 : uint8_t device, uint8_t intx, uint8_t isa_irq, uint16_t spi); 32 0 : int xen_domctl_max_vcpus(int domid, int max_vcpus); 33 0 : int xen_domctl_createdomain(int domid, struct xen_domctl_createdomain *config); 34 0 : int xen_domctl_cacheflush(int domid, struct xen_domctl_cacheflush *cacheflush); 35 0 : int xen_domctl_destroydomain(int domid); 36 : 37 : #endif /* __XEN_DOM0_DOMCTL_H__ */