1/* SPDX-License-Identifier: Apache-2.0 */
2/*
3 * Copyright (c) 2021-2023 EPAM Systems
4 */
5
6#include <zephyr/toolchain.h>
7#include <zephyr/linker/sections.h>
8#include <zephyr/xen/public/arch-arm.h>
9#include <zephyr/xen/public/xen.h>
10
11#define HYPERCALL(hypercall)			\
12GTEXT(HYPERVISOR_##hypercall);			\
13SECTION_FUNC(TEXT, HYPERVISOR_##hypercall)	\
14	mov x16, #__HYPERVISOR_##hypercall;	\
15	hvc XEN_HYPERCALL_TAG;			\
16	ret;
17
18_ASM_FILE_PROLOGUE
19
20HYPERCALL(console_io);
21HYPERCALL(grant_table_op);
22HYPERCALL(sched_op);
23HYPERCALL(event_channel_op);
24HYPERCALL(hvm_op);
25HYPERCALL(memory_op);
26
27#ifdef CONFIG_XEN_DOM0
28HYPERCALL(domctl);
29#endif
30