summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/kvm/include/aarch64/ucall.h
blob: 4ec801f37f00e7a1fbd28818d9e72fc3fd0f4d9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef SELFTEST_KVM_UCALL_H
#define SELFTEST_KVM_UCALL_H

#include "kvm_util.h"

#define UCALL_EXIT_REASON       KVM_EXIT_MMIO

/*
 * ucall_exit_mmio_addr holds per-VM values (global data is duplicated by each
 * VM), it must not be accessed from host code.
 */
extern vm_vaddr_t *ucall_exit_mmio_addr;

static inline void ucall_arch_do_ucall(vm_vaddr_t uc)
{
	WRITE_ONCE(*ucall_exit_mmio_addr, uc);
}

#endif