1 /* SPDX-License-Identifier: MIT 2 * 3 * protocols.h 4 * 5 * Copyright (c) 2008, Keir Fraser 6 * 7 * Xen protocols, which are used as ABI rules governing the format of all 8 * ring request and response structures. 9 */ 10 11 #ifndef __XEN_PROTOCOLS_H__ 12 #define __XEN_PROTOCOLS_H__ 13 14 #define XEN_IO_PROTO_ABI_X86_32 "x86_32-abi" 15 #define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi" 16 #define XEN_IO_PROTO_ABI_ARM "arm-abi" 17 18 #if defined(__i386__) 19 # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32 20 #elif defined(__x86_64__) 21 # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_64 22 #elif defined(__arm__) || defined(__aarch64__) 23 # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_ARM 24 #else 25 # error arch fixup needed here 26 #endif 27 28 #endif 29