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