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