marker.h revision b5c7784c96a606890eb8a8b560153ef4a5d1a0d9
1/*
2 * Copyright (C) 2011 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#ifndef MARKER_H
17#define MARKER_H
18
19#define ADD_CODE_MARKER_FUN(m_condition)                    \
20    if ( !(m_condition) )                                   \
21    {                                                       \
22        __asm__ volatile (                                  \
23            ".word     0x21614062\n\t"      /* '!a@b' */    \
24            ".word     0x47712543\n\t"      /* 'Gq%C' */    \
25            ".word     0x5F5F5F43\n\t"      /* '___C' */    \
26            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
27            ".word     0x245F5F5F"          /* '$___' */    \
28        );                                                  \
29    }
30
31#define ADD_TEXT_MARKER_FUN(m_condition)                    \
32    if ( !(m_condition) )                                   \
33    {                                                       \
34        __asm__ volatile (                                  \
35            ".word     0x21614062\n\t"      /* '!a@b' */    \
36            ".word     0x47712543\n\t"      /* 'Gq%C' */    \
37            ".word     0x5F5F5F54\n\t"      /* '___T' */    \
38            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
39            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
40            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
41            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
42            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
43            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
44            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
45            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
46            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
47            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
48            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
49            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
50            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
51            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
52            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
53            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
54            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
55            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
56            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
57            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
58            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
59            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
60            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
61            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
62            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
63            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
64            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
65            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
66            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
67            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
68            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
69            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
70            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
71            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
72            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
73            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
74            ".word     0x245F5F5F"          /* '$___' */    \
75        );                                                  \
76    }
77
78#endif
79