• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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