blob: 5aa0aaa93be3280d3865353ffd912a72797ee23f [file] [log] [blame]
Oleksandr Andrushchenko7fd47cc2020-08-06 12:42:46 +03001/* 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