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