1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * Copyright (C) 2021 SUSE LLC <mdoucha@suse.cz> 4 * 5 * Common definitions for communication between KVM guest and host. 6 */ 7 8#ifndef KVM_COMMON_H_ 9#define KVM_COMMON_H_ 10 11#define KVM_TNONE -1 /* "No result" status value */ 12 13/* 14 * Result value for asynchronous notifications between guest and host. 15 * Do not use this value directly. Call tst_signal_host() or tst_wait_host() 16 * in guest code. The notification must be handled by another host thread 17 * and then the result value must be reset to KVM_TNONE. 18 */ 19#define KVM_TSYNC 0xfe 20 21/* 22 * Result value indicating end of test. If the test program exits using 23 * the HLT instruction with any valid result value other than KVM_TEXIT or 24 * TBROK, KVM runner will automatically resume VM execution after printing 25 * the message. 26 */ 27#define KVM_TEXIT 0xff 28 29#define KVM_RESULT_BASEADDR 0xfffff000 30#define KVM_RESULT_SIZE 0x1000 31 32struct tst_kvm_result { 33 int32_t result; 34 int32_t lineno; 35 uint64_t file_addr; 36 char message[0]; 37}; 38 39#endif /* KVM_COMMON_H_ */ 40