1/* SPDX-License-Identifier: GPL-2.0-only */
2#ifndef SELFTEST_KVM_UCALL_H
3#define SELFTEST_KVM_UCALL_H
4
5#include "kvm_util_base.h"
6
7#define UCALL_EXIT_REASON       KVM_EXIT_S390_SIEIC
8
9static inline void ucall_arch_init(struct kvm_vm *vm, vm_paddr_t mmio_gpa)
10{
11}
12
13static inline void ucall_arch_do_ucall(vm_vaddr_t uc)
14{
15	/* Exit via DIAGNOSE 0x501 (normally used for breakpoints) */
16	asm volatile ("diag 0,%0,0x501" : : "a"(uc) : "memory");
17}
18
19#endif
20