Oleksandr Andrushchenko | 7fd47cc | 2020-08-06 12:42:46 +0300 | [diff] [blame] | 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 |