Commit | Line | Data |
---|---|---|
809f5ee3 MD |
1 | /* SPDX-License-Identifier: MIT */ |
2 | /* | |
3 | * rseq-bits-template.h | |
4 | * | |
5 | * (C) Copyright 2016-2022 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
6 | */ | |
7 | ||
abf9e855 MD |
8 | #ifdef RSEQ_TEMPLATE_INDEX_CPU_ID |
9 | # define RSEQ_TEMPLATE_INDEX_CPU_ID_OFFSET RSEQ_ASM_CPU_ID_OFFSET | |
10 | # define RSEQ_TEMPLATE_INDEX_CPU_ID_FIELD cpu_id | |
809f5ee3 MD |
11 | # ifdef RSEQ_TEMPLATE_MO_RELEASE |
12 | # define RSEQ_TEMPLATE_SUFFIX _release_cpu_id | |
13 | # elif defined (RSEQ_TEMPLATE_MO_RELAXED) | |
14 | # define RSEQ_TEMPLATE_SUFFIX _relaxed_cpu_id | |
15 | # else | |
16 | # error "Never use <rseq-bits-template.h> directly; include <rseq.h> instead." | |
17 | # endif | |
abf9e855 MD |
18 | #elif defined(RSEQ_TEMPLATE_INDEX_MM_CID) |
19 | # define RSEQ_TEMPLATE_INDEX_CPU_ID_OFFSET RSEQ_ASM_MM_CID_OFFSET | |
20 | # define RSEQ_TEMPLATE_INDEX_CPU_ID_FIELD mm_cid | |
809f5ee3 MD |
21 | # ifdef RSEQ_TEMPLATE_MO_RELEASE |
22 | # define RSEQ_TEMPLATE_SUFFIX _release_mm_cid | |
23 | # elif defined (RSEQ_TEMPLATE_MO_RELAXED) | |
24 | # define RSEQ_TEMPLATE_SUFFIX _relaxed_mm_cid | |
25 | # else | |
26 | # error "Never use <rseq-bits-template.h> directly; include <rseq.h> instead." | |
27 | # endif | |
abf9e855 | 28 | #elif defined (RSEQ_TEMPLATE_INDEX_NONE) |
809f5ee3 MD |
29 | # ifdef RSEQ_TEMPLATE_MO_RELEASE |
30 | # define RSEQ_TEMPLATE_SUFFIX _release | |
31 | # elif defined (RSEQ_TEMPLATE_MO_RELAXED) | |
32 | # define RSEQ_TEMPLATE_SUFFIX _relaxed | |
33 | # else | |
34 | # error "Never use <rseq-bits-template.h> directly; include <rseq.h> instead." | |
35 | # endif | |
36 | #else | |
37 | # error "Never use <rseq-bits-template.h> directly; include <rseq.h> instead." | |
38 | #endif | |
39 | ||
40 | #define RSEQ_TEMPLATE_IDENTIFIER(x) RSEQ_COMBINE_TOKENS(x, RSEQ_TEMPLATE_SUFFIX) | |
41 |