marker.h revision 7c9d8018755adf1857571125ba1b3598c96ea506
1/*
2 * Copyright (C) 2004-2011 NXP Software
3 * Copyright (C) 2011 The Android Open Source Project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17#ifndef MARKER_H
18#define MARKER_H
19
20#define ADD_CODE_MARKER_FUN(m_condition)                    \
21    if ( !(m_condition) )                                   \
22    {                                                       \
23        __asm__ volatile (                                  \
24            ".word     0x21614062\n\t"      /* '!a@b' */    \
25            ".word     0x47712543\n\t"      /* 'Gq%C' */    \
26            ".word     0x5F5F5F43\n\t"      /* '___C' */    \
27            ".word     0x5F5F5F5F\n\t"      /* '____' */    \
28            ".word     0x245F5F5F"          /* '$___' */    \
29        );                                                  \
30    }
31
32#define ADD_TEXT_MARKER_FUN(m_condition)                    \
33    if ( !(m_condition) )                                   \
34    {                                                       \
35        __asm__ volatile (                                  \
36            ".word     0x21614062\n\t"      /* '!a@b' */    \
37            ".word     0x47712543\n\t"      /* 'Gq%C' */    \
38            ".word     0x5F5F5F54\n\t"      /* '___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     0x5F5F5F5F\n\t"      /* '____' */    \
75            ".word     0x245F5F5F"          /* '$___' */    \
76        );                                                  \
77    }
78
79#endif
80