1 .cpu arm7tdmi 2 .arch armv4t 3 .fpu softvfp 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 4 11 .eabi_attribute 34, 0 12 .eabi_attribute 18, 4 13 .file "main.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .file 1 "apps/rssi/main.c" 18 .section .text.fb_boxto,"ax",%progbits 19 .align 2 20 .syntax unified 21 .arm 23 fb_boxto: 24 .LVL0: 25 .LFB89: 26 .file 2 "include/fb/framebuffer.h" 1:include/fb/framebuffer.h **** #ifndef _FB_FRAMEBUFFER_H 2:include/fb/framebuffer.h **** #define _FB_FRAMEBUFFER_H 3:include/fb/framebuffer.h **** 4:include/fb/framebuffer.h **** #include 5:include/fb/framebuffer.h **** #include 6:include/fb/framebuffer.h **** 7:include/fb/framebuffer.h **** /* color is encoded as */ 8:include/fb/framebuffer.h **** /* if a color is "special", then the RGB components most likely 9:include/fb/framebuffer.h **** don't make sense. Use "special" colours when you have to 10:include/fb/framebuffer.h **** mask out bits with transparency or you have to encode 11:include/fb/framebuffer.h **** colours in a fixed color palette ... */ 12:include/fb/framebuffer.h **** 13:include/fb/framebuffer.h **** #define FB_COLOR_WHITE 0x00ffffffU 14:include/fb/framebuffer.h **** #define FB_COLOR_BLACK 0x00000000U 15:include/fb/framebuffer.h **** #define FB_COLOR_TRANSP 0x01ffffffU 16:include/fb/framebuffer.h **** 17:include/fb/framebuffer.h **** #define FB_COLOR_RGB(r,g,b) ((((r) & 0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)) 18:include/fb/framebuffer.h **** #define FB_COLOR_RED FB_COLOR_RGB(0xff,0x00,0x00) 19:include/fb/framebuffer.h **** #define FB_COLOR_GREEN FB_COLOR_RGB(0x00,0xff,0x00) 20:include/fb/framebuffer.h **** #define FB_COLOR_BLUE FB_COLOR_RGB(0x00,0x00,0xff) 21:include/fb/framebuffer.h **** 22:include/fb/framebuffer.h **** /* encode */ 23:include/fb/framebuffer.h **** 24:include/fb/framebuffer.h **** /* decode */ 25:include/fb/framebuffer.h **** #define FB_COLOR_IS_SPECIAL(v) (!!((v) & 0xff000000U)) 26:include/fb/framebuffer.h **** #define FB_COLOR_TO_R(v) (((v)>>16) & 0xff) 27:include/fb/framebuffer.h **** #define FB_COLOR_TO_G(v) (((v)>> 8) & 0xff) 28:include/fb/framebuffer.h **** #define FB_COLOR_TO_B(v) ( (v) & 0xff) 29:include/fb/framebuffer.h **** 30:include/fb/framebuffer.h **** struct framebuffer { 31:include/fb/framebuffer.h **** char name[8]; // keep it short! 32:include/fb/framebuffer.h **** void (*init)(); // (re)initialize 33:include/fb/framebuffer.h **** void (*clear)(); // clear display 34:include/fb/framebuffer.h **** void (*set_p)(uint16_t x,uint16_t y); // set pixel to fg color 35:include/fb/framebuffer.h **** void (*boxto)(uint16_t x,uint16_t y); // draw box to xy 36:include/fb/framebuffer.h **** void (*lineto)(uint16_t x,uint16_t y); // draw line to xy 37:include/fb/framebuffer.h **** int (*putstr)(char *c,int maxwidth); // put text in current font to fb 38:include/fb/framebuffer.h **** void (*flush)(); // flush changes 39:include/fb/framebuffer.h **** 40:include/fb/framebuffer.h **** uint16_t width,height; // width/height of fb 41:include/fb/framebuffer.h **** uint16_t cursor_x,cursor_y; // current cursor 42:include/fb/framebuffer.h **** uint32_t fg_color,bg_color; // current fg/bg color 43:include/fb/framebuffer.h **** enum fb_font_id font; // current font 44:include/fb/framebuffer.h **** }; 45:include/fb/framebuffer.h **** 46:include/fb/framebuffer.h **** /* there is a single framebuffer, the specific driver defines 47:include/fb/framebuffer.h **** the "framebuffer" symbol */ 48:include/fb/framebuffer.h **** extern struct framebuffer *framebuffer; 49:include/fb/framebuffer.h **** 50:include/fb/framebuffer.h **** static inline void 51:include/fb/framebuffer.h **** fb_init(){ 52:include/fb/framebuffer.h **** framebuffer->init(); 53:include/fb/framebuffer.h **** } 54:include/fb/framebuffer.h **** 55:include/fb/framebuffer.h **** static inline void 56:include/fb/framebuffer.h **** fb_clear(){ 57:include/fb/framebuffer.h **** framebuffer->clear(); 58:include/fb/framebuffer.h **** } 59:include/fb/framebuffer.h **** 60:include/fb/framebuffer.h **** static inline void 61:include/fb/framebuffer.h **** fb_boxto(uint16_t x,uint16_t y){ 27 .loc 2 61 32 view -0 28 .cfi_startproc 29 @ Function supports interworking. 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 32 @ link register save eliminated. 62:include/fb/framebuffer.h **** framebuffer->boxto(x,y); 33 .loc 2 62 2 view .LVU1 34 .loc 2 62 13 is_stmt 0 view .LVU2 35 0000 08309FE5 ldr r3, .L2 36 0004 003093E5 ldr r3, [r3] 37 .loc 2 62 2 view .LVU3 38 0008 143093E5 ldr r3, [r3, #20] 39 000c 13FF2FE1 bx r3 @ indirect register sibling call 40 .LVL1: 41 .L3: 42 .loc 2 62 2 view .LVU4 43 .align 2 44 .L2: 45 0010 00000000 .word framebuffer 46 .cfi_endproc 47 .LFE89: 49 .section .rodata.str1.1,"aMS",%progbits,1 50 .LC0: 51 0000 6C31615F .ascii "l1a_l23_rx_cb (DLCI %d): \000" 51 6C32335F 51 72785F63 51 62202844 51 4C434920 52 .LC1: 53 001a 25303278 .ascii "%02x \000" 53 2000 54 .LC2: 55 0020 0A00 .ascii "\012\000" 56 .section .text.l1a_l23_rx_cb,"ax",%progbits 57 .align 2 58 .syntax unified 59 .arm 61 l1a_l23_rx_cb: 62 .LVL2: 63 .LFB164: 1:apps/rssi/main.c **** /* Cell Monitor of Free Software for Calypso Phone */ 2:apps/rssi/main.c **** 3:apps/rssi/main.c **** /* (C) 2012 by Andreas Eversberg 4:apps/rssi/main.c **** * 5:apps/rssi/main.c **** * All Rights Reserved 6:apps/rssi/main.c **** * 7:apps/rssi/main.c **** * This program is free software; you can redistribute it and/or modify 8:apps/rssi/main.c **** * it under the terms of the GNU General Public License as published by 9:apps/rssi/main.c **** * the Free Software Foundation; either version 2 of the License, or 10:apps/rssi/main.c **** * (at your option) any later version. 11:apps/rssi/main.c **** * 12:apps/rssi/main.c **** * This program is distributed in the hope that it will be useful, 13:apps/rssi/main.c **** * but WITHOUT ANY WARRANTY; without even the implied warranty of 14:apps/rssi/main.c **** * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15:apps/rssi/main.c **** * GNU General Public License for more details. 16:apps/rssi/main.c **** * 17:apps/rssi/main.c **** */ 18:apps/rssi/main.c **** 19:apps/rssi/main.c **** #include 20:apps/rssi/main.c **** #include 21:apps/rssi/main.c **** #include 22:apps/rssi/main.c **** #include 23:apps/rssi/main.c **** 24:apps/rssi/main.c **** #include 25:apps/rssi/main.c **** #include 26:apps/rssi/main.c **** #include 27:apps/rssi/main.c **** #include 28:apps/rssi/main.c **** #include 29:apps/rssi/main.c **** #include 30:apps/rssi/main.c **** #include 31:apps/rssi/main.c **** #include 32:apps/rssi/main.c **** #include 33:apps/rssi/main.c **** #include 34:apps/rssi/main.c **** #include 35:apps/rssi/main.c **** #include 36:apps/rssi/main.c **** #include 37:apps/rssi/main.c **** #include 38:apps/rssi/main.c **** #include 39:apps/rssi/main.c **** #include 40:apps/rssi/main.c **** #include 41:apps/rssi/main.c **** #include 42:apps/rssi/main.c **** #include 43:apps/rssi/main.c **** #include 44:apps/rssi/main.c **** #include 45:apps/rssi/main.c **** #include 46:apps/rssi/main.c **** #include 47:apps/rssi/main.c **** #include 48:apps/rssi/main.c **** #include 49:apps/rssi/main.c **** #include 50:apps/rssi/main.c **** #include 51:apps/rssi/main.c **** 52:apps/rssi/main.c **** enum key_codes key_code = KEY_INV; 53:apps/rssi/main.c **** int key_pressed = 0; 54:apps/rssi/main.c **** enum key_codes key_pressed_code; 55:apps/rssi/main.c **** unsigned long key_pressed_when; 56:apps/rssi/main.c **** unsigned int key_pressed_delay; 57:apps/rssi/main.c **** 58:apps/rssi/main.c **** enum mode { 59:apps/rssi/main.c **** MODE_MAIN, 60:apps/rssi/main.c **** MODE_SPECTRUM, 61:apps/rssi/main.c **** MODE_ARFCN, 62:apps/rssi/main.c **** MODE_SYNC, 63:apps/rssi/main.c **** MODE_RACH, 64:apps/rssi/main.c **** } mode = MODE_MAIN; 65:apps/rssi/main.c **** enum mode last_mode; /* where to return after entering ARFCN */ 66:apps/rssi/main.c **** 67:apps/rssi/main.c **** static uint16_t arfcn = 0, ul_arfcn; 68:apps/rssi/main.c **** int pcs = 0; 69:apps/rssi/main.c **** int uplink = 0; 70:apps/rssi/main.c **** int max = 0; 71:apps/rssi/main.c **** uint8_t power, max_power; 72:apps/rssi/main.c **** char input[5]; 73:apps/rssi/main.c **** int cursor; 74:apps/rssi/main.c **** 75:apps/rssi/main.c **** char *sync_result = NULL; 76:apps/rssi/main.c **** char *sync_msg = ""; 77:apps/rssi/main.c **** 78:apps/rssi/main.c **** static struct band { 79:apps/rssi/main.c **** int min, max, prev, next, freq_ul, freq_dl; 80:apps/rssi/main.c **** } bands[] = { 81:apps/rssi/main.c **** { 128, 251, 124, 512, 8242, 8692 }, /* GSM 850 */ 82:apps/rssi/main.c **** { 955, 124, 885, 128, 8762, 9212 }, /* P,E,R GSM */ 83:apps/rssi/main.c **** { 512, 885, 251, 955, 17102, 18052 }, /* DCS 1800 */ 84:apps/rssi/main.c **** { 0, 0, 0, 0, 0, 0}, 85:apps/rssi/main.c **** }; 86:apps/rssi/main.c **** 87:apps/rssi/main.c **** struct band *band; 88:apps/rssi/main.c **** 89:apps/rssi/main.c **** #define PCS_MIN 512 90:apps/rssi/main.c **** #define PCS_MAX 810 91:apps/rssi/main.c **** #define DCS_MIN 512 92:apps/rssi/main.c **** #define DCS_MAX 885 93:apps/rssi/main.c **** #define PCS_UL 18502 94:apps/rssi/main.c **** #define PCS_DL 19302 95:apps/rssi/main.c **** 96:apps/rssi/main.c **** enum pm_mode { 97:apps/rssi/main.c **** PM_IDLE, 98:apps/rssi/main.c **** PM_SENT, 99:apps/rssi/main.c **** PM_RANGE_SENT, 100:apps/rssi/main.c **** PM_RANGE_RESULT, 101:apps/rssi/main.c **** PM_RESULT, 102:apps/rssi/main.c **** } pm_mode = PM_IDLE; 103:apps/rssi/main.c **** 104:apps/rssi/main.c **** #define NUM_PM_DL 2 105:apps/rssi/main.c **** #define NUM_PM_UL 10 106:apps/rssi/main.c **** int pm_meas[NUM_PM_UL]; 107:apps/rssi/main.c **** int pm_count = 0; 108:apps/rssi/main.c **** int pm_max = 2; 109:apps/rssi/main.c **** uint8_t pm_spectrum[1024]; 110:apps/rssi/main.c **** int pm_scale = 1; /* scale measured power level */ 111:apps/rssi/main.c **** 112:apps/rssi/main.c **** #define TONE_JIFFIES ((HZ < 25) ? 1 : HZ / 25) 113:apps/rssi/main.c **** int tone = 0; 114:apps/rssi/main.c **** unsigned long tone_time; 115:apps/rssi/main.c **** int tone_on = 0; 116:apps/rssi/main.c **** 117:apps/rssi/main.c **** uint8_t bsic; 118:apps/rssi/main.c **** uint8_t ul_levels[8], ul_max[8]; /* 8 uplink levels */ 119:apps/rssi/main.c **** uint8_t si_1[23]; 120:apps/rssi/main.c **** uint8_t si_2[23]; 121:apps/rssi/main.c **** uint8_t si_2bis[23]; 122:apps/rssi/main.c **** uint8_t si_2ter[23]; 123:apps/rssi/main.c **** uint8_t si_3[23]; 124:apps/rssi/main.c **** uint8_t si_4[23]; 125:apps/rssi/main.c **** uint16_t si_new = 0, ul_new; 126:apps/rssi/main.c **** uint16_t mcc, mnc, lac, cell_id; 127:apps/rssi/main.c **** int ccch_conf; 128:apps/rssi/main.c **** int nb_num; 129:apps/rssi/main.c **** struct gsm_sysinfo_freq freq[1024]; 130:apps/rssi/main.c **** #define NEIGH_LINES ((framebuffer->height - 25) / 8) 131:apps/rssi/main.c **** 132:apps/rssi/main.c **** #define FREQ_TYPE_SERV 0x01 /* frequency of the serving cell */ 133:apps/rssi/main.c **** #define FREQ_TYPE_NCELL 0x1c /* frequency of the neighbor cell */ 134:apps/rssi/main.c **** #define FREQ_TYPE_NCELL_2 0x04 /* sub channel of SI 2 */ 135:apps/rssi/main.c **** #define FREQ_TYPE_NCELL_2bis 0x08 /* sub channel of SI 2bis */ 136:apps/rssi/main.c **** #define FREQ_TYPE_NCELL_2ter 0x10 /* sub channel of SI 2ter */ 137:apps/rssi/main.c **** 138:apps/rssi/main.c **** int rach = 0; 139:apps/rssi/main.c **** struct gsm48_req_ref rach_ref; 140:apps/rssi/main.c **** uint8_t rach_ra; 141:apps/rssi/main.c **** unsigned long rach_when; 142:apps/rssi/main.c **** uint8_t ta; 143:apps/rssi/main.c **** 144:apps/rssi/main.c **** enum assign { 145:apps/rssi/main.c **** ASSIGN_NONE, 146:apps/rssi/main.c **** ASSIGN_NO_TX, 147:apps/rssi/main.c **** ASSIGN_RESULT, 148:apps/rssi/main.c **** ASSIGN_REJECT, 149:apps/rssi/main.c **** ASSIGN_TIMEOUT, 150:apps/rssi/main.c **** } assign; 151:apps/rssi/main.c **** 152:apps/rssi/main.c **** /* UI */ 153:apps/rssi/main.c **** 154:apps/rssi/main.c **** static void print_display(char *text, int *y, int c) 155:apps/rssi/main.c **** { 156:apps/rssi/main.c **** /* skip lines, given by cursor */ 157:apps/rssi/main.c **** (*y)++; 158:apps/rssi/main.c **** if (c >= (*y)) 159:apps/rssi/main.c **** return; 160:apps/rssi/main.c **** /* skip, if end of display area is reached */ 161:apps/rssi/main.c **** if ((*y) - c > NEIGH_LINES) 162:apps/rssi/main.c **** return; 163:apps/rssi/main.c **** 164:apps/rssi/main.c **** fb_gotoxy(0, 20 + (((*y) - c - 1) << 3)); 165:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 166:apps/rssi/main.c **** } 167:apps/rssi/main.c **** 168:apps/rssi/main.c **** static void refresh_display(void) 169:apps/rssi/main.c **** { 170:apps/rssi/main.c **** char text[32]; 171:apps/rssi/main.c **** int bat = battery_info.battery_percent; 172:apps/rssi/main.c **** 173:apps/rssi/main.c **** fb_clear(); 174:apps/rssi/main.c **** 175:apps/rssi/main.c **** /* header */ 176:apps/rssi/main.c **** fb_setbg(FB_COLOR_WHITE); 177:apps/rssi/main.c **** if (mode != MODE_SPECTRUM && !(mode == MODE_SYNC && cursor < 0)) { 178:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLUE); 179:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 180:apps/rssi/main.c **** fb_gotoxy(0, 7); 181:apps/rssi/main.c **** fb_putstr("Osmocom RSSI", -1); 182:apps/rssi/main.c **** fb_setfg(FB_COLOR_RGB(0xc0, 0xc0, 0x00)); 183:apps/rssi/main.c **** fb_setfont(FB_FONT_SYMBOLS); 184:apps/rssi/main.c **** fb_gotoxy(framebuffer->width - 15, 8); 185:apps/rssi/main.c **** if (bat >= 100 && (battery_info.flags & BATTERY_CHG_ENABLED) 186:apps/rssi/main.c **** && !(battery_info.flags & BATTERY_CHARGING)) 187:apps/rssi/main.c **** fb_putstr("@HHBC", framebuffer->width); 188:apps/rssi/main.c **** else { 189:apps/rssi/main.c **** sprintf(text, "@%c%c%cC", (bat >= 30) ? 'B':'A', 190:apps/rssi/main.c **** (bat >= 60) ? 'B':'A', (bat >= 90) ? 'B':'A'); 191:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 192:apps/rssi/main.c **** } 193:apps/rssi/main.c **** fb_gotoxy(0, 8); 194:apps/rssi/main.c **** sprintf(text, "%c%cE%c%c", (power >= 40) ? 'D':'G', 195:apps/rssi/main.c **** (power >= 10) ? 'D':'G', (power >= 10) ? 'F':'G', 196:apps/rssi/main.c **** (power >= 40) ? 'F':'G'); 197:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 198:apps/rssi/main.c **** fb_setfg(FB_COLOR_GREEN); 199:apps/rssi/main.c **** fb_gotoxy(0, 10); 200:apps/rssi/main.c **** fb_boxto(framebuffer->width - 1, 10); 201:apps/rssi/main.c **** } 202:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 203:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 204:apps/rssi/main.c **** 205:apps/rssi/main.c **** /* RACH */ 206:apps/rssi/main.c **** if (mode == MODE_RACH) { 207:apps/rssi/main.c **** unsigned long elapsed = jiffies - rach_when; 208:apps/rssi/main.c **** 209:apps/rssi/main.c **** fb_gotoxy(0,28); 210:apps/rssi/main.c **** switch (assign) { 211:apps/rssi/main.c **** case ASSIGN_NONE: 212:apps/rssi/main.c **** fb_putstr("Rach sent...", -1); 213:apps/rssi/main.c **** break; 214:apps/rssi/main.c **** case ASSIGN_RESULT: 215:apps/rssi/main.c **** sprintf(text, "TA = %d", ta); 216:apps/rssi/main.c **** fb_putstr(text, -1); 217:apps/rssi/main.c **** fb_gotoxy(0,36); 218:apps/rssi/main.c **** sprintf(text, "(%dm)", ta * 554); 219:apps/rssi/main.c **** fb_putstr(text, -1); 220:apps/rssi/main.c **** break; 221:apps/rssi/main.c **** case ASSIGN_REJECT: 222:apps/rssi/main.c **** fb_putstr("Rejected!", -1); 223:apps/rssi/main.c **** break; 224:apps/rssi/main.c **** case ASSIGN_NO_TX: 225:apps/rssi/main.c **** fb_putstr("TX disabled", -1); 226:apps/rssi/main.c **** break; 227:apps/rssi/main.c **** case ASSIGN_TIMEOUT: 228:apps/rssi/main.c **** fb_putstr("Timeout", -1); 229:apps/rssi/main.c **** break; 230:apps/rssi/main.c **** } 231:apps/rssi/main.c **** switch (assign) { 232:apps/rssi/main.c **** case ASSIGN_RESULT: 233:apps/rssi/main.c **** case ASSIGN_REJECT: 234:apps/rssi/main.c **** fb_gotoxy(0,44); 235:apps/rssi/main.c **** sprintf(text, "Delay:%ldms", elapsed * 1000 / HZ); 236:apps/rssi/main.c **** fb_putstr(text, -1); 237:apps/rssi/main.c **** break; 238:apps/rssi/main.c **** default: 239:apps/rssi/main.c **** break; 240:apps/rssi/main.c **** } 241:apps/rssi/main.c **** } 242:apps/rssi/main.c **** 243:apps/rssi/main.c **** /* SYNC / UL levels */ 244:apps/rssi/main.c **** if (mode == MODE_SYNC && cursor < 0) { 245:apps/rssi/main.c **** int i, tn, l; 246:apps/rssi/main.c **** int offset = (framebuffer->width - 96) >> 1; 247:apps/rssi/main.c **** int height = framebuffer->height - 25; 248:apps/rssi/main.c **** 249:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 250:apps/rssi/main.c **** for (i = 0; i < 8; i++) { 251:apps/rssi/main.c **** if (uplink) 252:apps/rssi/main.c **** tn = (i + 3) & 7; /* UL is shifted by 3 */ 253:apps/rssi/main.c **** else 254:apps/rssi/main.c **** tn = i; 255:apps/rssi/main.c **** fb_setbg(FB_COLOR_WHITE); 256:apps/rssi/main.c **** fb_gotoxy(offset + 12 * i, 7); 257:apps/rssi/main.c **** l = (max) ? ul_max[tn] : ul_levels[tn]; 258:apps/rssi/main.c **** l = 110 - l; 259:apps/rssi/main.c **** if (l >= 100) 260:apps/rssi/main.c **** l -= 100; 261:apps/rssi/main.c **** sprintf(text, "%02d", l); 262:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 263:apps/rssi/main.c **** fb_setbg(FB_COLOR_BLACK); 264:apps/rssi/main.c **** fb_gotoxy(offset + 3 + 12 * i, height + 10); 265:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_levels[tn] * height / 64); 266:apps/rssi/main.c **** if (max) { 267:apps/rssi/main.c **** fb_gotoxy(offset + 3 + 12 * i, height + 10 - ul_max[tn] * height / 64); 268:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_max[tn] * height / 64); 269:apps/rssi/main.c **** } 270:apps/rssi/main.c **** } 271:apps/rssi/main.c **** fb_setbg(FB_COLOR_TRANSP); 272:apps/rssi/main.c **** if (max) { 273:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 274:apps/rssi/main.c **** fb_gotoxy(framebuffer->width - 16, 15); 275:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 276:apps/rssi/main.c **** } 277:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 278:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLUE); 279:apps/rssi/main.c **** fb_gotoxy(0, 16); 280:apps/rssi/main.c **** if (pcs && ul_arfcn >= PCS_MIN && ul_arfcn <= PCS_MAX) 281:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 282:apps/rssi/main.c **** else if (ul_arfcn >= DCS_MIN && ul_arfcn <= DCS_MAX) 283:apps/rssi/main.c **** sprintf(text, "%4dD", ul_arfcn); 284:apps/rssi/main.c **** else 285:apps/rssi/main.c **** sprintf(text, "%4d ", ul_arfcn); 286:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 287:apps/rssi/main.c **** fb_setbg(FB_COLOR_WHITE); 288:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 289:apps/rssi/main.c **** } 290:apps/rssi/main.c **** 291:apps/rssi/main.c **** /* SYNC / SI */ 292:apps/rssi/main.c **** if (mode == MODE_SYNC && cursor == 0) { 293:apps/rssi/main.c **** fb_gotoxy(0, 20); 294:apps/rssi/main.c **** if (sync_msg[0] == 'o') 295:apps/rssi/main.c **** sprintf(text, "BSIC%d/%d %4d", bsic >> 3, bsic & 7, 296:apps/rssi/main.c **** power - 110); 297:apps/rssi/main.c **** else 298:apps/rssi/main.c **** sprintf(text, "Sync %s", sync_msg); 299:apps/rssi/main.c **** fb_putstr(text, -1); 300:apps/rssi/main.c **** 301:apps/rssi/main.c **** fb_gotoxy(0,28); 302:apps/rssi/main.c **** text[0] = si_1[2] ? '1' : '-'; 303:apps/rssi/main.c **** text[1] = ' '; 304:apps/rssi/main.c **** text[2] = si_2[2] ? '2' : '-'; 305:apps/rssi/main.c **** text[3] = ' '; 306:apps/rssi/main.c **** text[4] = si_2bis[2] ? '2' : '-'; 307:apps/rssi/main.c **** text[5] = si_2bis[2] ? 'b' : ' '; 308:apps/rssi/main.c **** text[6] = si_2ter[2] ? '2' : '-'; 309:apps/rssi/main.c **** text[7] = si_2ter[2] ? 't' : ' '; 310:apps/rssi/main.c **** text[8] = ' '; 311:apps/rssi/main.c **** text[9] = si_3[2] ? '3' : '-'; 312:apps/rssi/main.c **** text[10] = ' '; 313:apps/rssi/main.c **** text[11] = si_4[2] ? '4' : '-'; 314:apps/rssi/main.c **** text[12] = '\0'; 315:apps/rssi/main.c **** fb_putstr(text, -1); 316:apps/rssi/main.c **** 317:apps/rssi/main.c **** fb_gotoxy(0, 36); 318:apps/rssi/main.c **** fb_putstr("MCC MNC LAC ", -1); 319:apps/rssi/main.c **** fb_gotoxy(0, 44); 320:apps/rssi/main.c **** if (mcc) { 321:apps/rssi/main.c **** if ((mnc & 0x00f) == 0x00f) 322:apps/rssi/main.c **** sprintf(text, "%3x %02x %04x", mcc, mnc >> 4, lac); 323:apps/rssi/main.c **** else 324:apps/rssi/main.c **** sprintf(text, "%3x %03x %04x", mcc, mnc, lac); 325:apps/rssi/main.c **** fb_putstr(text, -1); 326:apps/rssi/main.c **** } else 327:apps/rssi/main.c **** fb_putstr("--- --- ----", -1); 328:apps/rssi/main.c **** fb_gotoxy(0, 52); 329:apps/rssi/main.c **** if (si_3[2]) { 330:apps/rssi/main.c **** sprintf(text, "cell id:%04x", cell_id); 331:apps/rssi/main.c **** fb_putstr(text, -1); 332:apps/rssi/main.c **** } else 333:apps/rssi/main.c **** fb_putstr("cell id:----", -1); 334:apps/rssi/main.c **** } 335:apps/rssi/main.c **** 336:apps/rssi/main.c **** /* SYNC / neighbour cells */ 337:apps/rssi/main.c **** if (mode == MODE_SYNC && cursor > 0) { 338:apps/rssi/main.c **** int i, y = 0; 339:apps/rssi/main.c **** 340:apps/rssi/main.c **** text[0] = '\0'; 341:apps/rssi/main.c **** for (i = 0; i < 1024; i++) { 342:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_SERV) { 343:apps/rssi/main.c **** if (!text[0]) 344:apps/rssi/main.c **** sprintf(text, "S: %4d", i); 345:apps/rssi/main.c **** else { 346:apps/rssi/main.c **** sprintf(text + 7, " %4d", i); 347:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 348:apps/rssi/main.c **** text[0] = '\0'; 349:apps/rssi/main.c **** } 350:apps/rssi/main.c **** } 351:apps/rssi/main.c **** } 352:apps/rssi/main.c **** if (text[0]) 353:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 354:apps/rssi/main.c **** text[0] = '\0'; 355:apps/rssi/main.c **** for (i = 0; i < 1024; i++) { 356:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_NCELL) { 357:apps/rssi/main.c **** if (!text[0]) 358:apps/rssi/main.c **** sprintf(text, "N: %4d", i); 359:apps/rssi/main.c **** else { 360:apps/rssi/main.c **** sprintf(text + 7, " %4d", i); 361:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 362:apps/rssi/main.c **** text[0] = '\0'; 363:apps/rssi/main.c **** } 364:apps/rssi/main.c **** } 365:apps/rssi/main.c **** } 366:apps/rssi/main.c **** if (text[0]) 367:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 368:apps/rssi/main.c **** nb_num = y; 369:apps/rssi/main.c **** } 370:apps/rssi/main.c **** 371:apps/rssi/main.c **** /* ARFCN */ 372:apps/rssi/main.c **** if (mode == MODE_MAIN || mode == MODE_ARFCN) { 373:apps/rssi/main.c **** fb_gotoxy(0, 20); 374:apps/rssi/main.c **** if (mode == MODE_ARFCN) 375:apps/rssi/main.c **** sprintf(text, "ARFCN %s", input); 376:apps/rssi/main.c **** else if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 377:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 378:apps/rssi/main.c **** else if (arfcn >= DCS_MIN && arfcn <= DCS_MAX) 379:apps/rssi/main.c **** sprintf(text, "ARFCN %dDCS", arfcn); 380:apps/rssi/main.c **** else 381:apps/rssi/main.c **** sprintf(text, "ARFCN %d", arfcn); 382:apps/rssi/main.c **** fb_putstr(text,framebuffer->width); 383:apps/rssi/main.c **** } 384:apps/rssi/main.c **** 385:apps/rssi/main.c **** /* cursor */ 386:apps/rssi/main.c **** if (mode == MODE_ARFCN) { 387:apps/rssi/main.c **** fb_setfg(FB_COLOR_WHITE); 388:apps/rssi/main.c **** fb_setbg(FB_COLOR_BLUE); 389:apps/rssi/main.c **** fb_putstr(" ", framebuffer->width); 390:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 391:apps/rssi/main.c **** fb_setbg(FB_COLOR_WHITE); 392:apps/rssi/main.c **** } 393:apps/rssi/main.c **** 394:apps/rssi/main.c **** /* Frequency / power */ 395:apps/rssi/main.c **** if (mode == MODE_MAIN) { 396:apps/rssi/main.c **** int f; 397:apps/rssi/main.c **** 398:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) { 399:apps/rssi/main.c **** if (uplink) 400:apps/rssi/main.c **** f = PCS_UL; 401:apps/rssi/main.c **** else 402:apps/rssi/main.c **** f = PCS_DL; 403:apps/rssi/main.c **** } else if (uplink) 404:apps/rssi/main.c **** f = band->freq_ul; 405:apps/rssi/main.c **** else 406:apps/rssi/main.c **** f = band->freq_dl; 407:apps/rssi/main.c **** f += ((arfcn - band->min) & 1023) << 1; 408:apps/rssi/main.c **** 409:apps/rssi/main.c **** fb_gotoxy(0, 30); 410:apps/rssi/main.c **** sprintf(text, "Freq. %d.%d", f / 10, f % 10); 411:apps/rssi/main.c **** fb_putstr(text,framebuffer->width); 412:apps/rssi/main.c **** 413:apps/rssi/main.c **** fb_gotoxy(0, 40); 414:apps/rssi/main.c **** sprintf(text, "Power %d", ((max) ? max_power : power) - 110); 415:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 416:apps/rssi/main.c **** if (max) { 417:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 418:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 419:apps/rssi/main.c **** fb_gotoxy(framebuffer->width - 16, 39); 420:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 421:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 422:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 423:apps/rssi/main.c **** } 424:apps/rssi/main.c **** fb_setbg(FB_COLOR_BLACK); 425:apps/rssi/main.c **** fb_gotoxy(0, 45); 426:apps/rssi/main.c **** fb_boxto(framebuffer->width * power / 64, 50); 427:apps/rssi/main.c **** if (max) { 428:apps/rssi/main.c **** fb_gotoxy(framebuffer->width * max_power / 64 ,45); 429:apps/rssi/main.c **** fb_boxto(framebuffer->width * max_power / 64, 50); 430:apps/rssi/main.c **** } 431:apps/rssi/main.c **** fb_setbg(FB_COLOR_WHITE); 432:apps/rssi/main.c **** } 433:apps/rssi/main.c **** 434:apps/rssi/main.c **** /* spectrum */ 435:apps/rssi/main.c **** if (mode == MODE_SPECTRUM) { 436:apps/rssi/main.c **** int i; 437:apps/rssi/main.c **** uint16_t a, e, p; 438:apps/rssi/main.c **** int height = framebuffer->height - 25; 439:apps/rssi/main.c **** 440:apps/rssi/main.c **** fb_gotoxy(0, 8); 441:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 442:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 443:apps/rssi/main.c **** else if (arfcn >= DCS_MIN && arfcn <= DCS_MAX) 444:apps/rssi/main.c **** sprintf(text, "%4dD", arfcn); 445:apps/rssi/main.c **** else 446:apps/rssi/main.c **** sprintf(text, "%4d ", arfcn); 447:apps/rssi/main.c **** sprintf(text + 5, " %4d", pm_spectrum[arfcn & 1023] - 110); 448:apps/rssi/main.c **** fb_putstr(text, -1); 449:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 450:apps/rssi/main.c **** if (max) { 451:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 452:apps/rssi/main.c **** fb_gotoxy(framebuffer->width - 16,15); 453:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 454:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 455:apps/rssi/main.c **** } 456:apps/rssi/main.c **** if (pm_scale != 1) { 457:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 458:apps/rssi/main.c **** fb_gotoxy(1, 15); 459:apps/rssi/main.c **** sprintf(text, "x%d", pm_scale); 460:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 461:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 462:apps/rssi/main.c **** } 463:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 464:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) { 465:apps/rssi/main.c **** a = PCS_MIN; 466:apps/rssi/main.c **** e = PCS_MAX; 467:apps/rssi/main.c **** } else { 468:apps/rssi/main.c **** a = band->min; 469:apps/rssi/main.c **** e = band->max; 470:apps/rssi/main.c **** } 471:apps/rssi/main.c **** for (i = 0; i < framebuffer->width; i++) { 472:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 473:apps/rssi/main.c **** if ((((p - a) & 1023) & 512)) 474:apps/rssi/main.c **** continue; 475:apps/rssi/main.c **** if ((((e - p) & 1023) & 512)) 476:apps/rssi/main.c **** continue; 477:apps/rssi/main.c **** p = (pm_spectrum[p] * pm_scale * height / 64); 478:apps/rssi/main.c **** if (p > height) 479:apps/rssi/main.c **** p = height; 480:apps/rssi/main.c **** if (i == (framebuffer->width >> 1)) 481:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 482:apps/rssi/main.c **** fb_gotoxy(i, height + 10 - p); 483:apps/rssi/main.c **** fb_boxto(i, height + 10); 484:apps/rssi/main.c **** if (i == (framebuffer->width >> 1)) 485:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 486:apps/rssi/main.c **** } 487:apps/rssi/main.c **** i = framebuffer->width >> 1; 488:apps/rssi/main.c **** fb_gotoxy(i, 0); 489:apps/rssi/main.c **** fb_boxto(i, 4); 490:apps/rssi/main.c **** fb_gotoxy(i, height + 10); 491:apps/rssi/main.c **** fb_boxto(i, height + 14); 492:apps/rssi/main.c **** } 493:apps/rssi/main.c **** 494:apps/rssi/main.c **** /* footer */ 495:apps/rssi/main.c **** fb_setfg(FB_COLOR_GREEN); 496:apps/rssi/main.c **** fb_gotoxy(0, framebuffer->height - 10); 497:apps/rssi/main.c **** fb_boxto(framebuffer->width-1, framebuffer->height - 10); 498:apps/rssi/main.c **** fb_gotoxy(0, framebuffer->height - 1); 499:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 500:apps/rssi/main.c **** if (mode == MODE_ARFCN) 501:apps/rssi/main.c **** sprintf(text, "%s %s", (cursor) ? "del " : "back", 502:apps/rssi/main.c **** (cursor) ? "enter" : " "); 503:apps/rssi/main.c **** else if (mode == MODE_SYNC && cursor < 0) 504:apps/rssi/main.c **** sprintf(text, "%s %s", "back", 505:apps/rssi/main.c **** (uplink) ? "UL" : "DL"); 506:apps/rssi/main.c **** else if (mode == MODE_SYNC || mode == MODE_RACH) 507:apps/rssi/main.c **** sprintf(text, "%s ", "back"); 508:apps/rssi/main.c **** else 509:apps/rssi/main.c **** sprintf(text, "%s %s", (pcs) ? "PCS" : "DCS", 510:apps/rssi/main.c **** (uplink) ? "UL" : "DL"); 511:apps/rssi/main.c **** fb_putstr(text, -1); 512:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 513:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 514:apps/rssi/main.c **** fb_gotoxy(0, framebuffer->height - 2); 515:apps/rssi/main.c **** sprintf(text, "%d", tone / 25); 516:apps/rssi/main.c **** fb_putstr(text, -1); 517:apps/rssi/main.c **** 518:apps/rssi/main.c **** fb_flush(); 519:apps/rssi/main.c **** } 520:apps/rssi/main.c **** 521:apps/rssi/main.c **** static void exit_arfcn(void) 522:apps/rssi/main.c **** { 523:apps/rssi/main.c **** mode = last_mode; 524:apps/rssi/main.c **** refresh_display(); 525:apps/rssi/main.c **** } 526:apps/rssi/main.c **** 527:apps/rssi/main.c **** static void enter_arfcn(enum key_codes code) 528:apps/rssi/main.c **** { 529:apps/rssi/main.c **** /* enter mode */ 530:apps/rssi/main.c **** if (mode != MODE_ARFCN) { 531:apps/rssi/main.c **** last_mode = mode; 532:apps/rssi/main.c **** mode = MODE_ARFCN; 533:apps/rssi/main.c **** input[0] = code - KEY_0 + '0'; 534:apps/rssi/main.c **** input[1] = '\0'; 535:apps/rssi/main.c **** cursor = 1; 536:apps/rssi/main.c **** refresh_display(); 537:apps/rssi/main.c **** return; 538:apps/rssi/main.c **** } 539:apps/rssi/main.c **** 540:apps/rssi/main.c **** if (code == KEY_LEFT_SB) { 541:apps/rssi/main.c **** /* back */ 542:apps/rssi/main.c **** if (cursor == 0) { 543:apps/rssi/main.c **** exit_arfcn(); 544:apps/rssi/main.c **** return; 545:apps/rssi/main.c **** } 546:apps/rssi/main.c **** /* delete */ 547:apps/rssi/main.c **** cursor--; 548:apps/rssi/main.c **** input[cursor] = '\0'; 549:apps/rssi/main.c **** refresh_display(); 550:apps/rssi/main.c **** return; 551:apps/rssi/main.c **** } 552:apps/rssi/main.c **** 553:apps/rssi/main.c **** if (code == KEY_RIGHT_SB) { 554:apps/rssi/main.c **** int check = 0; 555:apps/rssi/main.c **** int i; 556:apps/rssi/main.c **** struct band *temp = NULL; 557:apps/rssi/main.c **** 558:apps/rssi/main.c **** /* nothing entered */ 559:apps/rssi/main.c **** if (cursor == 0) { 560:apps/rssi/main.c **** return; 561:apps/rssi/main.c **** } 562:apps/rssi/main.c **** for (i = 0; i < cursor; i++) 563:apps/rssi/main.c **** check = (check << 3) + (check << 1) + input[i] - '0'; 564:apps/rssi/main.c **** 565:apps/rssi/main.c **** /* check */ 566:apps/rssi/main.c **** for (i = 0; bands[i].max; i++) { 567:apps/rssi/main.c **** temp = &bands[i]; 568:apps/rssi/main.c **** if (temp->min < temp->max) { 569:apps/rssi/main.c **** if (check >= temp->min && check <= temp->max) 570:apps/rssi/main.c **** break; 571:apps/rssi/main.c **** } else { 572:apps/rssi/main.c **** if (check >= temp->min || check <= temp->max) 573:apps/rssi/main.c **** break; 574:apps/rssi/main.c **** } 575:apps/rssi/main.c **** } 576:apps/rssi/main.c **** if (!bands[i].max) 577:apps/rssi/main.c **** return; 578:apps/rssi/main.c **** if (check > 1023) 579:apps/rssi/main.c **** return; 580:apps/rssi/main.c **** arfcn = check; 581:apps/rssi/main.c **** band = temp; 582:apps/rssi/main.c **** mode = last_mode; 583:apps/rssi/main.c **** refresh_display(); 584:apps/rssi/main.c **** return; 585:apps/rssi/main.c **** } 586:apps/rssi/main.c **** 587:apps/rssi/main.c **** if (cursor == 4) 588:apps/rssi/main.c **** return; 589:apps/rssi/main.c **** 590:apps/rssi/main.c **** input[cursor] = code - KEY_0 + '0'; 591:apps/rssi/main.c **** cursor++; 592:apps/rssi/main.c **** input[cursor] = '\0'; 593:apps/rssi/main.c **** refresh_display(); 594:apps/rssi/main.c **** } 595:apps/rssi/main.c **** 596:apps/rssi/main.c **** static int inc_dec_arfcn(int inc) 597:apps/rssi/main.c **** { 598:apps/rssi/main.c **** int i; 599:apps/rssi/main.c **** 600:apps/rssi/main.c **** /* select current band */ 601:apps/rssi/main.c **** for (i = 0; bands[i].max; i++) { 602:apps/rssi/main.c **** band = &bands[i]; 603:apps/rssi/main.c **** if (band->min < band->max) { 604:apps/rssi/main.c **** if (arfcn >= band->min && arfcn <= band->max) 605:apps/rssi/main.c **** break; 606:apps/rssi/main.c **** } else { 607:apps/rssi/main.c **** if (arfcn >= band->min || arfcn <= band->max) 608:apps/rssi/main.c **** break; 609:apps/rssi/main.c **** } 610:apps/rssi/main.c **** } 611:apps/rssi/main.c **** if (!bands[i].max) 612:apps/rssi/main.c **** return -EINVAL; 613:apps/rssi/main.c **** 614:apps/rssi/main.c **** if (inc) { 615:apps/rssi/main.c **** if (arfcn == band->max) 616:apps/rssi/main.c **** arfcn = band->next; 617:apps/rssi/main.c **** else if (arfcn == 1023) 618:apps/rssi/main.c **** arfcn = 0; 619:apps/rssi/main.c **** else 620:apps/rssi/main.c **** arfcn++; 621:apps/rssi/main.c **** } else { 622:apps/rssi/main.c **** if (arfcn == band->min) 623:apps/rssi/main.c **** arfcn = band->prev; 624:apps/rssi/main.c **** else if (arfcn == 0) 625:apps/rssi/main.c **** arfcn = 1023; 626:apps/rssi/main.c **** else 627:apps/rssi/main.c **** arfcn--; 628:apps/rssi/main.c **** } 629:apps/rssi/main.c **** /* select next band */ 630:apps/rssi/main.c **** for (i = 0; bands[i].max; i++) { 631:apps/rssi/main.c **** band = &bands[i]; 632:apps/rssi/main.c **** if (band->min < band->max) { 633:apps/rssi/main.c **** if (arfcn >= band->min && arfcn <= band->max) 634:apps/rssi/main.c **** break; 635:apps/rssi/main.c **** } else { 636:apps/rssi/main.c **** if (arfcn >= band->min || arfcn <= band->max) 637:apps/rssi/main.c **** break; 638:apps/rssi/main.c **** } 639:apps/rssi/main.c **** } 640:apps/rssi/main.c **** if (!bands[i].max) 641:apps/rssi/main.c **** return -EINVAL; 642:apps/rssi/main.c **** 643:apps/rssi/main.c **** refresh_display(); 644:apps/rssi/main.c **** 645:apps/rssi/main.c **** return 0; 646:apps/rssi/main.c **** } 647:apps/rssi/main.c **** 648:apps/rssi/main.c **** static void request_ul_levels(uint16_t a); 649:apps/rssi/main.c **** 650:apps/rssi/main.c **** static int inc_dec_ul_arfcn(int inc) 651:apps/rssi/main.c **** { 652:apps/rssi/main.c **** uint16_t a; 653:apps/rssi/main.c **** 654:apps/rssi/main.c **** /* loop until we hit a serving cell or our current bcch arfcn */ 655:apps/rssi/main.c **** if (inc) { 656:apps/rssi/main.c **** for (a = (ul_arfcn + 1) & 1023; a != (arfcn & 1023); 657:apps/rssi/main.c **** a = (a + 1) & 1023) { 658:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 659:apps/rssi/main.c **** break; 660:apps/rssi/main.c **** } 661:apps/rssi/main.c **** } else { 662:apps/rssi/main.c **** for (a = (ul_arfcn - 1) & 1023; a != (arfcn & 1023); 663:apps/rssi/main.c **** a = (a - 1) & 1023) { 664:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 665:apps/rssi/main.c **** break; 666:apps/rssi/main.c **** } 667:apps/rssi/main.c **** } 668:apps/rssi/main.c **** ul_arfcn = a; 669:apps/rssi/main.c **** 670:apps/rssi/main.c **** refresh_display(); 671:apps/rssi/main.c **** 672:apps/rssi/main.c **** request_ul_levels(a); 673:apps/rssi/main.c **** 674:apps/rssi/main.c **** return 0; 675:apps/rssi/main.c **** } 676:apps/rssi/main.c **** 677:apps/rssi/main.c **** static void toggle_dcs_pcs(void) 678:apps/rssi/main.c **** { 679:apps/rssi/main.c **** pcs = !pcs; 680:apps/rssi/main.c **** refresh_display(); 681:apps/rssi/main.c **** } 682:apps/rssi/main.c **** 683:apps/rssi/main.c **** static void toggle_up_down(void) 684:apps/rssi/main.c **** { 685:apps/rssi/main.c **** uplink = !uplink; 686:apps/rssi/main.c **** refresh_display(); 687:apps/rssi/main.c **** 688:apps/rssi/main.c **** if (mode == MODE_SYNC && cursor < 0) 689:apps/rssi/main.c **** request_ul_levels(ul_arfcn); 690:apps/rssi/main.c **** } 691:apps/rssi/main.c **** 692:apps/rssi/main.c **** static void toggle_spectrum(void) 693:apps/rssi/main.c **** { 694:apps/rssi/main.c **** if (mode == MODE_MAIN) { 695:apps/rssi/main.c **** mode = MODE_SPECTRUM; 696:apps/rssi/main.c **** pm_mode = PM_IDLE; 697:apps/rssi/main.c **** } else if (mode == MODE_SPECTRUM) { 698:apps/rssi/main.c **** mode = MODE_MAIN; 699:apps/rssi/main.c **** pm_mode = PM_IDLE; 700:apps/rssi/main.c **** } 701:apps/rssi/main.c **** l1s_reset(); 702:apps/rssi/main.c **** l1s_reset_hw(); 703:apps/rssi/main.c **** pm_count = 0; 704:apps/rssi/main.c **** refresh_display(); 705:apps/rssi/main.c **** } 706:apps/rssi/main.c **** 707:apps/rssi/main.c **** static void tone_inc_dec(int inc) 708:apps/rssi/main.c **** { 709:apps/rssi/main.c **** if (inc) { 710:apps/rssi/main.c **** if (tone + 25 <= 255) 711:apps/rssi/main.c **** tone += 25; 712:apps/rssi/main.c **** } else { 713:apps/rssi/main.c **** if (tone - 25 >= 0) 714:apps/rssi/main.c **** tone -= 25; 715:apps/rssi/main.c **** } 716:apps/rssi/main.c **** 717:apps/rssi/main.c **** refresh_display(); 718:apps/rssi/main.c **** } 719:apps/rssi/main.c **** 720:apps/rssi/main.c **** static void hold_max(void) 721:apps/rssi/main.c **** { 722:apps/rssi/main.c **** max = !max; 723:apps/rssi/main.c **** max_power = power; 724:apps/rssi/main.c **** refresh_display(); 725:apps/rssi/main.c **** } 726:apps/rssi/main.c **** 727:apps/rssi/main.c **** static int inc_dec_neighbour(int inc) 728:apps/rssi/main.c **** { 729:apps/rssi/main.c **** if (inc) { 730:apps/rssi/main.c **** if (cursor > 0 && cursor - 1 >= (nb_num - NEIGH_LINES)) 731:apps/rssi/main.c **** return -EINVAL; 732:apps/rssi/main.c **** cursor++; 733:apps/rssi/main.c **** } else { 734:apps/rssi/main.c **** if (cursor < 0) 735:apps/rssi/main.c **** return -EINVAL; 736:apps/rssi/main.c **** cursor--; 737:apps/rssi/main.c **** } 738:apps/rssi/main.c **** 739:apps/rssi/main.c **** refresh_display(); 740:apps/rssi/main.c **** 741:apps/rssi/main.c **** return 0; 742:apps/rssi/main.c **** } 743:apps/rssi/main.c **** 744:apps/rssi/main.c **** static int inc_dec_spectrum(int inc) 745:apps/rssi/main.c **** { 746:apps/rssi/main.c **** if (inc) { 747:apps/rssi/main.c **** pm_scale <<= 1; 748:apps/rssi/main.c **** if (pm_scale > 8) 749:apps/rssi/main.c **** pm_scale = 8; 750:apps/rssi/main.c **** } else { 751:apps/rssi/main.c **** pm_scale >>= 1; 752:apps/rssi/main.c **** if (pm_scale < 1) 753:apps/rssi/main.c **** pm_scale = 1; 754:apps/rssi/main.c **** } 755:apps/rssi/main.c **** 756:apps/rssi/main.c **** refresh_display(); 757:apps/rssi/main.c **** 758:apps/rssi/main.c **** return 0; 759:apps/rssi/main.c **** } 760:apps/rssi/main.c **** 761:apps/rssi/main.c **** static void enter_sync(void); 762:apps/rssi/main.c **** static void exit_sync(void); 763:apps/rssi/main.c **** 764:apps/rssi/main.c **** static void enter_rach(void); 765:apps/rssi/main.c **** static void exit_rach(void); 766:apps/rssi/main.c **** 767:apps/rssi/main.c **** static void handle_key_code() 768:apps/rssi/main.c **** { 769:apps/rssi/main.c **** /* key repeat */ 770:apps/rssi/main.c **** if (key_pressed) { 771:apps/rssi/main.c **** unsigned long elapsed = jiffies - key_pressed_when; 772:apps/rssi/main.c **** if (elapsed > key_pressed_delay) { 773:apps/rssi/main.c **** key_pressed_when = jiffies; 774:apps/rssi/main.c **** key_pressed_delay = HZ / 10; 775:apps/rssi/main.c **** /* only repeat these keys */ 776:apps/rssi/main.c **** if (key_pressed_code == KEY_LEFT 777:apps/rssi/main.c **** || key_pressed_code == KEY_RIGHT) 778:apps/rssi/main.c **** key_code = key_pressed_code; 779:apps/rssi/main.c **** } 780:apps/rssi/main.c **** } 781:apps/rssi/main.c **** 782:apps/rssi/main.c **** if (key_code == KEY_INV) 783:apps/rssi/main.c **** return; 784:apps/rssi/main.c **** 785:apps/rssi/main.c **** /* do later, do not disturb tone */ 786:apps/rssi/main.c **** if (tone_on) 787:apps/rssi/main.c **** return; 788:apps/rssi/main.c **** 789:apps/rssi/main.c **** switch (key_code) { 790:apps/rssi/main.c **** case KEY_0: 791:apps/rssi/main.c **** case KEY_1: 792:apps/rssi/main.c **** case KEY_2: 793:apps/rssi/main.c **** case KEY_3: 794:apps/rssi/main.c **** case KEY_4: 795:apps/rssi/main.c **** case KEY_5: 796:apps/rssi/main.c **** case KEY_6: 797:apps/rssi/main.c **** case KEY_7: 798:apps/rssi/main.c **** case KEY_8: 799:apps/rssi/main.c **** case KEY_9: 800:apps/rssi/main.c **** if (mode == MODE_MAIN || mode == MODE_SPECTRUM || mode == MODE_ARFCN) 801:apps/rssi/main.c **** enter_arfcn(key_code); 802:apps/rssi/main.c **** break; 803:apps/rssi/main.c **** case KEY_UP: 804:apps/rssi/main.c **** if (mode == MODE_MAIN) 805:apps/rssi/main.c **** tone_inc_dec(1); 806:apps/rssi/main.c **** else if (mode == MODE_SYNC) 807:apps/rssi/main.c **** inc_dec_neighbour(0); 808:apps/rssi/main.c **** else if (mode == MODE_SPECTRUM) 809:apps/rssi/main.c **** inc_dec_spectrum(1); 810:apps/rssi/main.c **** break; 811:apps/rssi/main.c **** case KEY_DOWN: 812:apps/rssi/main.c **** if (mode == MODE_MAIN) 813:apps/rssi/main.c **** tone_inc_dec(0); 814:apps/rssi/main.c **** else if (mode == MODE_SYNC) 815:apps/rssi/main.c **** inc_dec_neighbour(1); 816:apps/rssi/main.c **** else if (mode == MODE_SPECTRUM) 817:apps/rssi/main.c **** inc_dec_spectrum(0); 818:apps/rssi/main.c **** break; 819:apps/rssi/main.c **** case KEY_RIGHT: 820:apps/rssi/main.c **** if (mode == MODE_MAIN || mode == MODE_SPECTRUM) 821:apps/rssi/main.c **** inc_dec_arfcn(1); 822:apps/rssi/main.c **** else if (mode == MODE_SYNC && cursor < 0) 823:apps/rssi/main.c **** inc_dec_ul_arfcn(1); 824:apps/rssi/main.c **** break; 825:apps/rssi/main.c **** case KEY_LEFT: 826:apps/rssi/main.c **** if (mode == MODE_MAIN || mode == MODE_SPECTRUM) 827:apps/rssi/main.c **** inc_dec_arfcn(0); 828:apps/rssi/main.c **** else if (mode == MODE_SYNC && cursor < 0) 829:apps/rssi/main.c **** inc_dec_ul_arfcn(0); 830:apps/rssi/main.c **** break; 831:apps/rssi/main.c **** case KEY_LEFT_SB: 832:apps/rssi/main.c **** if (mode == MODE_MAIN || mode == MODE_SPECTRUM) 833:apps/rssi/main.c **** toggle_dcs_pcs(); 834:apps/rssi/main.c **** else if (mode == MODE_ARFCN) 835:apps/rssi/main.c **** enter_arfcn(key_code); 836:apps/rssi/main.c **** else if (mode == MODE_SYNC) 837:apps/rssi/main.c **** exit_sync(); 838:apps/rssi/main.c **** else if (mode == MODE_RACH) 839:apps/rssi/main.c **** exit_rach(); 840:apps/rssi/main.c **** break; 841:apps/rssi/main.c **** case KEY_RIGHT_SB: 842:apps/rssi/main.c **** if (mode == MODE_MAIN || mode == MODE_SPECTRUM) 843:apps/rssi/main.c **** toggle_up_down(); 844:apps/rssi/main.c **** else if (mode == MODE_ARFCN) 845:apps/rssi/main.c **** enter_arfcn(key_code); 846:apps/rssi/main.c **** else if (mode == MODE_SYNC && cursor < 0) 847:apps/rssi/main.c **** toggle_up_down(); 848:apps/rssi/main.c **** break; 849:apps/rssi/main.c **** case KEY_OK: 850:apps/rssi/main.c **** if (mode == MODE_MAIN || mode == MODE_SPECTRUM) 851:apps/rssi/main.c **** enter_sync(); 852:apps/rssi/main.c **** else if (mode == MODE_SYNC || mode == MODE_RACH) 853:apps/rssi/main.c **** enter_rach(); 854:apps/rssi/main.c **** break; 855:apps/rssi/main.c **** case KEY_MENU: 856:apps/rssi/main.c **** hold_max(); 857:apps/rssi/main.c **** break; 858:apps/rssi/main.c **** case KEY_POWER: 859:apps/rssi/main.c **** if (mode == MODE_ARFCN) 860:apps/rssi/main.c **** exit_arfcn(); 861:apps/rssi/main.c **** else if (mode == MODE_SYNC) 862:apps/rssi/main.c **** exit_sync(); 863:apps/rssi/main.c **** else if (mode == MODE_RACH) 864:apps/rssi/main.c **** exit_rach(); 865:apps/rssi/main.c **** else if (mode == MODE_SPECTRUM) 866:apps/rssi/main.c **** toggle_spectrum(); 867:apps/rssi/main.c **** break; 868:apps/rssi/main.c **** case KEY_STAR: 869:apps/rssi/main.c **** if (mode == MODE_MAIN || mode == MODE_SPECTRUM) 870:apps/rssi/main.c **** toggle_spectrum(); 871:apps/rssi/main.c **** break; 872:apps/rssi/main.c **** default: 873:apps/rssi/main.c **** break; 874:apps/rssi/main.c **** } 875:apps/rssi/main.c **** 876:apps/rssi/main.c **** key_code = KEY_INV; 877:apps/rssi/main.c **** } 878:apps/rssi/main.c **** 879:apps/rssi/main.c **** static void handle_tone(void) 880:apps/rssi/main.c **** { 881:apps/rssi/main.c **** unsigned long elapsed = jiffies - tone_time; 882:apps/rssi/main.c **** 883:apps/rssi/main.c **** if (!tone_on) { 884:apps/rssi/main.c **** if (!tone || mode != MODE_MAIN) 885:apps/rssi/main.c **** return; 886:apps/rssi/main.c **** /* wait depending on power level */ 887:apps/rssi/main.c **** if (elapsed < (uint8_t)(63-power)) 888:apps/rssi/main.c **** return; 889:apps/rssi/main.c **** buzzer_volume(tone); 890:apps/rssi/main.c **** buzzer_note(NOTE(NOTE_C, OCTAVE_5)); 891:apps/rssi/main.c **** tone_time = jiffies; 892:apps/rssi/main.c **** tone_on = 1; 893:apps/rssi/main.c **** return; 894:apps/rssi/main.c **** } 895:apps/rssi/main.c **** 896:apps/rssi/main.c **** if (elapsed >= TONE_JIFFIES) { 897:apps/rssi/main.c **** tone_on = 0; 898:apps/rssi/main.c **** tone_time = jiffies; 899:apps/rssi/main.c **** buzzer_volume(0); 900:apps/rssi/main.c **** } 901:apps/rssi/main.c **** } 902:apps/rssi/main.c **** 903:apps/rssi/main.c **** /* PM handling */ 904:apps/rssi/main.c **** 905:apps/rssi/main.c **** static void handle_pm(void) 906:apps/rssi/main.c **** { 907:apps/rssi/main.c **** /* start power measurement */ 908:apps/rssi/main.c **** if (pm_mode == PM_IDLE && (mode == MODE_MAIN || mode == MODE_SPECTRUM)) { 909:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_PM_REQ); 910:apps/rssi/main.c **** struct l1ctl_pm_req *pm; 911:apps/rssi/main.c **** uint16_t a, e; 912:apps/rssi/main.c **** 913:apps/rssi/main.c **** pm = (struct l1ctl_pm_req *) msgb_put(msg, sizeof(*pm)); 914:apps/rssi/main.c **** pm->type = 1; 915:apps/rssi/main.c **** if (mode == MODE_MAIN) { 916:apps/rssi/main.c **** a = arfcn; 917:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 918:apps/rssi/main.c **** a |= ARFCN_PCS; 919:apps/rssi/main.c **** e = a; 920:apps/rssi/main.c **** pm_mode = PM_SENT; 921:apps/rssi/main.c **** } else { /* mode == MODE_SPECTRUM */ 922:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) { 923:apps/rssi/main.c **** a = PCS_MIN | ARFCN_PCS; 924:apps/rssi/main.c **** e = PCS_MAX | ARFCN_PCS; 925:apps/rssi/main.c **** } else { 926:apps/rssi/main.c **** a = band->min; 927:apps/rssi/main.c **** e = band->max; 928:apps/rssi/main.c **** } 929:apps/rssi/main.c **** pm_mode = PM_RANGE_SENT; 930:apps/rssi/main.c **** } 931:apps/rssi/main.c **** if (uplink) { 932:apps/rssi/main.c **** a |= ARFCN_UPLINK; 933:apps/rssi/main.c **** e |= ARFCN_UPLINK; 934:apps/rssi/main.c **** } 935:apps/rssi/main.c **** pm->range.band_arfcn_from = htons(a); 936:apps/rssi/main.c **** pm->range.band_arfcn_to = htons(e); 937:apps/rssi/main.c **** 938:apps/rssi/main.c **** l1a_l23_rx(SC_DLCI_L1A_L23, msg); 939:apps/rssi/main.c **** 940:apps/rssi/main.c **** return; 941:apps/rssi/main.c **** } 942:apps/rssi/main.c **** 943:apps/rssi/main.c **** if (pm_mode == PM_RESULT) { 944:apps/rssi/main.c **** pm_mode = PM_IDLE; 945:apps/rssi/main.c **** if (pm_count == pm_max) { 946:apps/rssi/main.c **** int i = 0; 947:apps/rssi/main.c **** int sum = 0; 948:apps/rssi/main.c **** 949:apps/rssi/main.c **** if (uplink) { 950:apps/rssi/main.c **** /* find max */ 951:apps/rssi/main.c **** for (i = 0; i < pm_count; i++) { 952:apps/rssi/main.c **** if (pm_meas[i] > sum) 953:apps/rssi/main.c **** sum = pm_meas[i]; 954:apps/rssi/main.c **** } 955:apps/rssi/main.c **** power = sum; 956:apps/rssi/main.c **** } else { 957:apps/rssi/main.c **** for (i = 0; i < pm_count; i++) 958:apps/rssi/main.c **** sum += pm_meas[i]; 959:apps/rssi/main.c **** power = sum / pm_count; 960:apps/rssi/main.c **** } 961:apps/rssi/main.c **** if (power > max_power) 962:apps/rssi/main.c **** max_power = power; 963:apps/rssi/main.c **** pm_count = 0; 964:apps/rssi/main.c **** pm_max = (uplink) ? NUM_PM_UL : NUM_PM_DL; 965:apps/rssi/main.c **** if (!tone_on) 966:apps/rssi/main.c **** refresh_display(); 967:apps/rssi/main.c **** } 968:apps/rssi/main.c **** return; 969:apps/rssi/main.c **** } 970:apps/rssi/main.c **** 971:apps/rssi/main.c **** if (pm_mode == PM_RANGE_RESULT) { 972:apps/rssi/main.c **** pm_mode = PM_IDLE; 973:apps/rssi/main.c **** refresh_display(); 974:apps/rssi/main.c **** buzzer_volume(tone); 975:apps/rssi/main.c **** buzzer_note(NOTE(NOTE_C, OCTAVE_5)); 976:apps/rssi/main.c **** tone_time = jiffies; 977:apps/rssi/main.c **** tone_on = 1; 978:apps/rssi/main.c **** return; 979:apps/rssi/main.c **** } 980:apps/rssi/main.c **** } 981:apps/rssi/main.c **** 982:apps/rssi/main.c **** /* sync / SI */ 983:apps/rssi/main.c **** 984:apps/rssi/main.c **** static void enter_sync(void) 985:apps/rssi/main.c **** { 986:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_FBSB_REQ); 987:apps/rssi/main.c **** struct l1ctl_fbsb_req *req; 988:apps/rssi/main.c **** uint16_t a = arfcn; 989:apps/rssi/main.c **** 990:apps/rssi/main.c **** l1s_reset(); 991:apps/rssi/main.c **** l1s_reset_hw(); 992:apps/rssi/main.c **** pm_count = 0; 993:apps/rssi/main.c **** pm_mode = PM_IDLE; 994:apps/rssi/main.c **** 995:apps/rssi/main.c **** req = (struct l1ctl_fbsb_req *) msgb_put(msg, sizeof(*req)); 996:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 997:apps/rssi/main.c **** a |= ARFCN_PCS; 998:apps/rssi/main.c **** req->band_arfcn = htons(a); 999:apps/rssi/main.c **** req->timeout = htons(100); 1000:apps/rssi/main.c **** /* Threshold when to consider FB_MODE1: 4kHz - 1kHz */ 1001:apps/rssi/main.c **** req->freq_err_thresh1 = htons(11000 - 1000); 1002:apps/rssi/main.c **** /* Threshold when to consider SCH: 1kHz - 200Hz */ 1003:apps/rssi/main.c **** req->freq_err_thresh2 = htons(1000 - 200); 1004:apps/rssi/main.c **** /* not used yet! */ 1005:apps/rssi/main.c **** req->num_freqerr_avg = 3; 1006:apps/rssi/main.c **** req->flags = L1CTL_FBSB_F_FB01SB; 1007:apps/rssi/main.c **** req->sync_info_idx = 0; 1008:apps/rssi/main.c **** req->ccch_mode = CCCH_MODE_NONE; 1009:apps/rssi/main.c **** l1a_l23_rx(SC_DLCI_L1A_L23, msg); 1010:apps/rssi/main.c **** 1011:apps/rssi/main.c **** mode = MODE_SYNC; 1012:apps/rssi/main.c **** memset(ul_levels, 0, sizeof(ul_levels)); 1013:apps/rssi/main.c **** si_new = 0; 1014:apps/rssi/main.c **** ul_new = 0; 1015:apps/rssi/main.c **** ul_arfcn = arfcn; 1016:apps/rssi/main.c **** si_1[2] = 0; 1017:apps/rssi/main.c **** si_2[2] = 0; 1018:apps/rssi/main.c **** si_2bis[2] = 0; 1019:apps/rssi/main.c **** si_2ter[2] = 0; 1020:apps/rssi/main.c **** si_3[2] = 0; 1021:apps/rssi/main.c **** si_4[2] = 0; 1022:apps/rssi/main.c **** mcc = mnc = lac = 0; 1023:apps/rssi/main.c **** ccch_conf = -1; 1024:apps/rssi/main.c **** memset(freq, 0, sizeof(freq)); 1025:apps/rssi/main.c **** cursor = 0; 1026:apps/rssi/main.c **** nb_num = 0; 1027:apps/rssi/main.c **** sync_msg = "trying"; 1028:apps/rssi/main.c **** refresh_display(); 1029:apps/rssi/main.c **** } 1030:apps/rssi/main.c **** 1031:apps/rssi/main.c **** static void exit_sync(void) 1032:apps/rssi/main.c **** { 1033:apps/rssi/main.c **** l1s_reset(); 1034:apps/rssi/main.c **** l1s_reset_hw(); 1035:apps/rssi/main.c **** pm_count = 0; 1036:apps/rssi/main.c **** pm_mode = PM_IDLE; 1037:apps/rssi/main.c **** mode = MODE_MAIN; 1038:apps/rssi/main.c **** } 1039:apps/rssi/main.c **** 1040:apps/rssi/main.c **** int gsm48_decode_lai(struct gsm48_loc_area_id *lai, uint16_t *_mcc, 1041:apps/rssi/main.c **** uint16_t *_mnc, uint16_t *_lac) 1042:apps/rssi/main.c **** { 1043:apps/rssi/main.c **** *_mcc = ((lai->digits[0] & 0x0f) << 8) 1044:apps/rssi/main.c **** | (lai->digits[0] & 0xf0) 1045:apps/rssi/main.c **** | (lai->digits[1] & 0x0f); 1046:apps/rssi/main.c **** *_mnc = ((lai->digits[2] & 0x0f) << 8) 1047:apps/rssi/main.c **** | (lai->digits[2] & 0xf0) 1048:apps/rssi/main.c **** | ((lai->digits[1] & 0xf0) >> 4); 1049:apps/rssi/main.c **** *_lac = ntohs(lai->lac); 1050:apps/rssi/main.c **** 1051:apps/rssi/main.c **** return 0; 1052:apps/rssi/main.c **** } 1053:apps/rssi/main.c **** 1054:apps/rssi/main.c **** static void request_ul_levels(uint16_t a) 1055:apps/rssi/main.c **** { 1056:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_NEIGH_PM_REQ); 1057:apps/rssi/main.c **** struct l1ctl_neigh_pm_req *pm_req = 1058:apps/rssi/main.c **** (struct l1ctl_neigh_pm_req *) msgb_put(msg, sizeof(*pm_req)); 1059:apps/rssi/main.c **** int i; 1060:apps/rssi/main.c **** 1061:apps/rssi/main.c **** if (pcs && a >= PCS_MIN && a <= PCS_MAX) 1062:apps/rssi/main.c **** a |= ARFCN_PCS; 1063:apps/rssi/main.c **** if (uplink) 1064:apps/rssi/main.c **** a |= ARFCN_UPLINK; 1065:apps/rssi/main.c **** pm_req->n = 8; 1066:apps/rssi/main.c **** for (i = 0; i < 8; i++) { 1067:apps/rssi/main.c **** pm_req->band_arfcn[i] = htons(a); 1068:apps/rssi/main.c **** pm_req->tn[i] = i; 1069:apps/rssi/main.c **** } 1070:apps/rssi/main.c **** l1a_l23_rx(SC_DLCI_L1A_L23, msg); 1071:apps/rssi/main.c **** } 1072:apps/rssi/main.c **** 1073:apps/rssi/main.c **** static void handle_sync(void) 1074:apps/rssi/main.c **** { 1075:apps/rssi/main.c **** struct gsm48_system_information_type_1 *si1; 1076:apps/rssi/main.c **** struct gsm48_system_information_type_2 *si2; 1077:apps/rssi/main.c **** struct gsm48_system_information_type_2bis *si2bis; 1078:apps/rssi/main.c **** struct gsm48_system_information_type_2ter *si2ter; 1079:apps/rssi/main.c **** struct gsm48_system_information_type_3 *si3; 1080:apps/rssi/main.c **** struct gsm48_system_information_type_4 *si4; 1081:apps/rssi/main.c **** 1082:apps/rssi/main.c **** if (mode != MODE_SYNC) 1083:apps/rssi/main.c **** return; 1084:apps/rssi/main.c **** 1085:apps/rssi/main.c **** /* once we synced, we take the result and request UL measurement */ 1086:apps/rssi/main.c **** if (sync_result) { 1087:apps/rssi/main.c **** uint16_t a = ul_arfcn; 1088:apps/rssi/main.c **** 1089:apps/rssi/main.c **** sync_msg = sync_result; 1090:apps/rssi/main.c **** sync_result = NULL; 1091:apps/rssi/main.c **** refresh_display(); 1092:apps/rssi/main.c **** 1093:apps/rssi/main.c **** if (sync_msg[0] != 'o') 1094:apps/rssi/main.c **** return; 1095:apps/rssi/main.c **** 1096:apps/rssi/main.c **** request_ul_levels(a); 1097:apps/rssi/main.c **** 1098:apps/rssi/main.c **** return; 1099:apps/rssi/main.c **** } 1100:apps/rssi/main.c **** 1101:apps/rssi/main.c **** if (tone_on) 1102:apps/rssi/main.c **** return; 1103:apps/rssi/main.c **** 1104:apps/rssi/main.c **** /* no UL result, no SI result */ 1105:apps/rssi/main.c **** if (!ul_new && !(si_new & 0x100)) 1106:apps/rssi/main.c **** return; 1107:apps/rssi/main.c **** 1108:apps/rssi/main.c **** /* new UL result */ 1109:apps/rssi/main.c **** if (ul_new) { 1110:apps/rssi/main.c **** ul_new = 0; 1111:apps/rssi/main.c **** if (cursor < 0) 1112:apps/rssi/main.c **** refresh_display(); 1113:apps/rssi/main.c **** return; 1114:apps/rssi/main.c **** } 1115:apps/rssi/main.c **** 1116:apps/rssi/main.c **** /* decode si */ 1117:apps/rssi/main.c **** switch (si_new & 0xff) { 1118:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_1: 1119:apps/rssi/main.c **** si1 = (struct gsm48_system_information_type_1 *)si_1; 1120:apps/rssi/main.c **** gsm48_decode_freq_list(freq, si1->cell_channel_description, 1121:apps/rssi/main.c **** sizeof(si1->cell_channel_description), 0xce, 1122:apps/rssi/main.c **** FREQ_TYPE_SERV); 1123:apps/rssi/main.c **** break; 1124:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_2: 1125:apps/rssi/main.c **** si2 = (struct gsm48_system_information_type_2 *)si_2; 1126:apps/rssi/main.c **** gsm48_decode_freq_list(freq, si2->bcch_frequency_list, 1127:apps/rssi/main.c **** sizeof(si2->bcch_frequency_list), 0xce, 1128:apps/rssi/main.c **** FREQ_TYPE_NCELL_2); 1129:apps/rssi/main.c **** break; 1130:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_2bis: 1131:apps/rssi/main.c **** si2bis = (struct gsm48_system_information_type_2bis *)si_2bis; 1132:apps/rssi/main.c **** gsm48_decode_freq_list(freq, si2bis->bcch_frequency_list, 1133:apps/rssi/main.c **** sizeof(si2bis->bcch_frequency_list), 0xce, 1134:apps/rssi/main.c **** FREQ_TYPE_NCELL_2bis); 1135:apps/rssi/main.c **** break; 1136:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_2ter: 1137:apps/rssi/main.c **** si2ter = (struct gsm48_system_information_type_2ter *)si_2ter; 1138:apps/rssi/main.c **** gsm48_decode_freq_list(freq, si2ter->ext_bcch_frequency_list, 1139:apps/rssi/main.c **** sizeof(si2ter->ext_bcch_frequency_list), 0x8e, 1140:apps/rssi/main.c **** FREQ_TYPE_NCELL_2ter); 1141:apps/rssi/main.c **** break; 1142:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_3: 1143:apps/rssi/main.c **** si3 = (struct gsm48_system_information_type_3 *)si_3; 1144:apps/rssi/main.c **** gsm48_decode_lai(&si3->lai, &mcc, &mnc, &lac); 1145:apps/rssi/main.c **** cell_id = ntohs(si3->cell_identity); 1146:apps/rssi/main.c **** if (ccch_conf < 0) { 1147:apps/rssi/main.c **** struct msgb *msg = 1148:apps/rssi/main.c **** l1ctl_msgb_alloc(L1CTL_CCCH_MODE_REQ); 1149:apps/rssi/main.c **** struct l1ctl_ccch_mode_req *req = 1150:apps/rssi/main.c **** (struct l1ctl_ccch_mode_req *) 1151:apps/rssi/main.c **** msgb_put(msg, sizeof(*req)); 1152:apps/rssi/main.c **** 1153:apps/rssi/main.c **** ccch_conf = si3->control_channel_desc.ccch_conf; 1154:apps/rssi/main.c **** req->ccch_mode = (ccch_conf == 1) 1155:apps/rssi/main.c **** ? CCCH_MODE_COMBINED 1156:apps/rssi/main.c **** : CCCH_MODE_NON_COMBINED; 1157:apps/rssi/main.c **** printf("ccch_mode=%d\n", ccch_conf); 1158:apps/rssi/main.c **** 1159:apps/rssi/main.c **** l1a_l23_rx(SC_DLCI_L1A_L23, msg); 1160:apps/rssi/main.c **** } 1161:apps/rssi/main.c **** break; 1162:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_4: 1163:apps/rssi/main.c **** si4 = (struct gsm48_system_information_type_4 *)si_4; 1164:apps/rssi/main.c **** gsm48_decode_lai(&si4->lai, &mcc, &mnc, &lac); 1165:apps/rssi/main.c **** break; 1166:apps/rssi/main.c **** } 1167:apps/rssi/main.c **** 1168:apps/rssi/main.c **** if (cursor >= 0) 1169:apps/rssi/main.c **** refresh_display(); 1170:apps/rssi/main.c **** 1171:apps/rssi/main.c **** /* tone depends on successfully received BCCH */ 1172:apps/rssi/main.c **** buzzer_volume(tone); 1173:apps/rssi/main.c **** tone_time = jiffies; 1174:apps/rssi/main.c **** tone_on = 1; 1175:apps/rssi/main.c **** if ((si_new & 0xff) == 0xff) 1176:apps/rssi/main.c **** buzzer_note(NOTE(NOTE_C, OCTAVE_2)); 1177:apps/rssi/main.c **** else 1178:apps/rssi/main.c **** buzzer_note(NOTE(NOTE_C, OCTAVE_5)); 1179:apps/rssi/main.c **** si_new = 0; 1180:apps/rssi/main.c **** } 1181:apps/rssi/main.c **** 1182:apps/rssi/main.c **** static void enter_rach(void) 1183:apps/rssi/main.c **** { 1184:apps/rssi/main.c **** if (ccch_conf < 0) 1185:apps/rssi/main.c **** return; 1186:apps/rssi/main.c **** 1187:apps/rssi/main.c **** if (rach) 1188:apps/rssi/main.c **** return; 1189:apps/rssi/main.c **** 1190:apps/rssi/main.c **** #ifndef CONFIG_TX_ENABLE 1191:apps/rssi/main.c **** assign = ASSIGN_NO_TX; 1192:apps/rssi/main.c **** mode = MODE_RACH; 1193:apps/rssi/main.c **** /* display refresh is done by rach handler */ 1194:apps/rssi/main.c **** #else 1195:apps/rssi/main.c **** struct msgb *msg1 = l1ctl_msgb_alloc(L1CTL_NEIGH_PM_REQ); 1196:apps/rssi/main.c **** struct msgb *msg2 = l1ctl_msgb_alloc(L1CTL_RACH_REQ); 1197:apps/rssi/main.c **** struct l1ctl_neigh_pm_req *pm_req = (struct l1ctl_neigh_pm_req *) 1198:apps/rssi/main.c **** msgb_put(msg1, sizeof(*pm_req)); 1199:apps/rssi/main.c **** struct l1ctl_info_ul *ul = (struct l1ctl_info_ul *) 1200:apps/rssi/main.c **** msgb_put(msg2, sizeof(*ul));; 1201:apps/rssi/main.c **** struct l1ctl_rach_req *rach_req = (struct l1ctl_rach_req *) 1202:apps/rssi/main.c **** msgb_put(msg2, sizeof(*rach_req)); 1203:apps/rssi/main.c **** 1204:apps/rssi/main.c **** l1s.tx_power = 0; 1205:apps/rssi/main.c **** 1206:apps/rssi/main.c **** pm_req->n = 0; /* disable */ 1207:apps/rssi/main.c **** 1208:apps/rssi/main.c **** rach_ra = 0x00; 1209:apps/rssi/main.c **** rach_req->ra = rach_ra; 1210:apps/rssi/main.c **** rach_req->offset = 0; 1211:apps/rssi/main.c **** rach_req->combined = (ccch_conf == 1); 1212:apps/rssi/main.c **** 1213:apps/rssi/main.c **** l1a_l23_rx(SC_DLCI_L1A_L23, msg1); 1214:apps/rssi/main.c **** l1a_l23_rx(SC_DLCI_L1A_L23, msg2); 1215:apps/rssi/main.c **** rach = 1; 1216:apps/rssi/main.c **** rach_when = jiffies; 1217:apps/rssi/main.c **** assign = ASSIGN_NONE; 1218:apps/rssi/main.c **** mode = MODE_RACH; 1219:apps/rssi/main.c **** refresh_display(); 1220:apps/rssi/main.c **** #endif 1221:apps/rssi/main.c **** 1222:apps/rssi/main.c **** } 1223:apps/rssi/main.c **** 1224:apps/rssi/main.c **** static void exit_rach(void) 1225:apps/rssi/main.c **** { 1226:apps/rssi/main.c **** rach = 0; 1227:apps/rssi/main.c **** 1228:apps/rssi/main.c **** request_ul_levels(ul_arfcn); 1229:apps/rssi/main.c **** 1230:apps/rssi/main.c **** mode = MODE_SYNC; 1231:apps/rssi/main.c **** refresh_display(); 1232:apps/rssi/main.c **** } 1233:apps/rssi/main.c **** 1234:apps/rssi/main.c **** static void handle_assign(void) 1235:apps/rssi/main.c **** { 1236:apps/rssi/main.c **** if (mode != MODE_RACH) 1237:apps/rssi/main.c **** return; 1238:apps/rssi/main.c **** 1239:apps/rssi/main.c **** if (assign == ASSIGN_NONE) { 1240:apps/rssi/main.c **** unsigned long elapsed = jiffies - rach_when; 1241:apps/rssi/main.c **** 1242:apps/rssi/main.c **** if (!rach) 1243:apps/rssi/main.c **** return; 1244:apps/rssi/main.c **** if (elapsed < HZ * 2) 1245:apps/rssi/main.c **** return; 1246:apps/rssi/main.c **** assign = ASSIGN_TIMEOUT; 1247:apps/rssi/main.c **** rach = 0; 1248:apps/rssi/main.c **** } 1249:apps/rssi/main.c **** 1250:apps/rssi/main.c **** refresh_display(); 1251:apps/rssi/main.c **** assign = ASSIGN_NONE; 1252:apps/rssi/main.c **** } 1253:apps/rssi/main.c **** 1254:apps/rssi/main.c **** /* Main Program */ 1255:apps/rssi/main.c **** const char *hr = "======================================================================\n"; 1256:apps/rssi/main.c **** 1257:apps/rssi/main.c **** /* match request reference against request history */ 1258:apps/rssi/main.c **** static int gsm48_match_ra(struct gsm48_req_ref *ref) 1259:apps/rssi/main.c **** { 1260:apps/rssi/main.c **** uint8_t ia_t1, ia_t2, ia_t3; 1261:apps/rssi/main.c **** uint8_t cr_t1, cr_t2, cr_t3; 1262:apps/rssi/main.c **** 1263:apps/rssi/main.c **** if (rach && ref->ra == rach_ra) { 1264:apps/rssi/main.c **** ia_t1 = ref->t1; 1265:apps/rssi/main.c **** ia_t2 = ref->t2; 1266:apps/rssi/main.c **** ia_t3 = (ref->t3_high << 3) | ref->t3_low; 1267:apps/rssi/main.c **** ref = &rach_ref; 1268:apps/rssi/main.c **** cr_t1 = ref->t1; 1269:apps/rssi/main.c **** cr_t2 = ref->t2; 1270:apps/rssi/main.c **** cr_t3 = (ref->t3_high << 3) | ref->t3_low; 1271:apps/rssi/main.c **** if (ia_t1 == cr_t1 && ia_t2 == cr_t2 && ia_t3 == cr_t3) 1272:apps/rssi/main.c **** return 1; 1273:apps/rssi/main.c **** } 1274:apps/rssi/main.c **** 1275:apps/rssi/main.c **** return 0; 1276:apps/rssi/main.c **** } 1277:apps/rssi/main.c **** 1278:apps/rssi/main.c **** 1279:apps/rssi/main.c **** /* note: called from IRQ context */ 1280:apps/rssi/main.c **** static void rx_imm_ass(struct msgb *msg) 1281:apps/rssi/main.c **** { 1282:apps/rssi/main.c **** struct gsm48_imm_ass *ia = msgb_l3(msg); 1283:apps/rssi/main.c **** 1284:apps/rssi/main.c **** if (gsm48_match_ra(&ia->req_ref)) { 1285:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1286:apps/rssi/main.c **** ta = ia->timing_advance; 1287:apps/rssi/main.c **** rach = 0; 1288:apps/rssi/main.c **** } 1289:apps/rssi/main.c **** } 1290:apps/rssi/main.c **** 1291:apps/rssi/main.c **** /* note: called from IRQ context */ 1292:apps/rssi/main.c **** static void rx_imm_ass_ext(struct msgb *msg) 1293:apps/rssi/main.c **** { 1294:apps/rssi/main.c **** struct gsm48_imm_ass_ext *ia = msgb_l3(msg); 1295:apps/rssi/main.c **** 1296:apps/rssi/main.c **** if (gsm48_match_ra(&ia->req_ref1)) { 1297:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1298:apps/rssi/main.c **** ta = ia->timing_advance1; 1299:apps/rssi/main.c **** rach = 0; 1300:apps/rssi/main.c **** } 1301:apps/rssi/main.c **** if (gsm48_match_ra(&ia->req_ref2)) { 1302:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1303:apps/rssi/main.c **** ta = ia->timing_advance2; 1304:apps/rssi/main.c **** rach = 0; 1305:apps/rssi/main.c **** } 1306:apps/rssi/main.c **** } 1307:apps/rssi/main.c **** 1308:apps/rssi/main.c **** /* note: called from IRQ context */ 1309:apps/rssi/main.c **** static void rx_imm_ass_rej(struct msgb *msg) 1310:apps/rssi/main.c **** { 1311:apps/rssi/main.c **** struct gsm48_imm_ass_rej *ia = msgb_l3(msg); 1312:apps/rssi/main.c **** struct gsm48_req_ref *req_ref; 1313:apps/rssi/main.c **** int i; 1314:apps/rssi/main.c **** 1315:apps/rssi/main.c **** for (i = 0; i < 4; i++) { 1316:apps/rssi/main.c **** /* request reference */ 1317:apps/rssi/main.c **** req_ref = (struct gsm48_req_ref *) 1318:apps/rssi/main.c **** (((uint8_t *)&ia->req_ref1) + i * 4); 1319:apps/rssi/main.c **** if (gsm48_match_ra(req_ref)) { 1320:apps/rssi/main.c **** assign = ASSIGN_REJECT; 1321:apps/rssi/main.c **** rach = 0; 1322:apps/rssi/main.c **** } 1323:apps/rssi/main.c **** } 1324:apps/rssi/main.c **** } 1325:apps/rssi/main.c **** 1326:apps/rssi/main.c **** /* note: called from IRQ context */ 1327:apps/rssi/main.c **** static void rx_pch_agch(struct msgb *msg) 1328:apps/rssi/main.c **** { 1329:apps/rssi/main.c **** struct gsm48_system_information_type_header *sih; 1330:apps/rssi/main.c **** 1331:apps/rssi/main.c **** /* store SI */ 1332:apps/rssi/main.c **** sih = msgb_l3(msg); 1333:apps/rssi/main.c **** switch (sih->system_information) { 1334:apps/rssi/main.c **** case GSM48_MT_RR_IMM_ASS: 1335:apps/rssi/main.c **** rx_imm_ass(msg); 1336:apps/rssi/main.c **** break; 1337:apps/rssi/main.c **** case GSM48_MT_RR_IMM_ASS_EXT: 1338:apps/rssi/main.c **** rx_imm_ass_ext(msg); 1339:apps/rssi/main.c **** break; 1340:apps/rssi/main.c **** case GSM48_MT_RR_IMM_ASS_REJ: 1341:apps/rssi/main.c **** rx_imm_ass_rej(msg); 1342:apps/rssi/main.c **** break; 1343:apps/rssi/main.c **** } 1344:apps/rssi/main.c **** } 1345:apps/rssi/main.c **** 1346:apps/rssi/main.c **** /* note: called from IRQ context */ 1347:apps/rssi/main.c **** static void rx_bcch(struct msgb *msg) 1348:apps/rssi/main.c **** { 1349:apps/rssi/main.c **** struct gsm48_system_information_type_header *sih; 1350:apps/rssi/main.c **** 1351:apps/rssi/main.c **** /* store SI */ 1352:apps/rssi/main.c **** sih = msgb_l3(msg); 1353:apps/rssi/main.c **** switch (sih->system_information) { 1354:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_1: 1355:apps/rssi/main.c **** memcpy(si_1, msgb_l3(msg), msgb_l3len(msg)); 1356:apps/rssi/main.c **** break; 1357:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_2: 1358:apps/rssi/main.c **** memcpy(si_2, msgb_l3(msg), msgb_l3len(msg)); 1359:apps/rssi/main.c **** break; 1360:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_2bis: 1361:apps/rssi/main.c **** memcpy(si_2bis, msgb_l3(msg), msgb_l3len(msg)); 1362:apps/rssi/main.c **** break; 1363:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_2ter: 1364:apps/rssi/main.c **** memcpy(si_2ter, msgb_l3(msg), msgb_l3len(msg)); 1365:apps/rssi/main.c **** break; 1366:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_3: 1367:apps/rssi/main.c **** memcpy(si_3, msgb_l3(msg), msgb_l3len(msg)); 1368:apps/rssi/main.c **** break; 1369:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_4: 1370:apps/rssi/main.c **** memcpy(si_4, msgb_l3(msg), msgb_l3len(msg)); 1371:apps/rssi/main.c **** break; 1372:apps/rssi/main.c **** } 1373:apps/rssi/main.c **** si_new = sih->system_information | 0x100; 1374:apps/rssi/main.c **** } 1375:apps/rssi/main.c **** 1376:apps/rssi/main.c **** /* note: called from IRQ context */ 1377:apps/rssi/main.c **** static void l1a_l23_tx(struct msgb *msg) 1378:apps/rssi/main.c **** { 1379:apps/rssi/main.c **** struct l1ctl_hdr *l1h = (struct l1ctl_hdr *) msg->l1h; 1380:apps/rssi/main.c **** struct l1ctl_pm_conf *pmr; 1381:apps/rssi/main.c **** struct l1ctl_info_dl *dl; 1382:apps/rssi/main.c **** struct l1ctl_fbsb_conf *sb; 1383:apps/rssi/main.c **** uint8_t chan_type, chan_ts, chan_ss; 1384:apps/rssi/main.c **** struct l1ctl_neigh_pm_ind *pm_ind; 1385:apps/rssi/main.c **** struct gsm_time tm; 1386:apps/rssi/main.c **** 1387:apps/rssi/main.c **** switch (l1h->msg_type) { 1388:apps/rssi/main.c **** case L1CTL_PM_CONF: 1389:apps/rssi/main.c **** if (pm_mode == PM_SENT) { 1390:apps/rssi/main.c **** pmr = (struct l1ctl_pm_conf *) l1h->data; 1391:apps/rssi/main.c **** pm_meas[pm_count] = pmr->pm[0]; 1392:apps/rssi/main.c **** pm_count++; 1393:apps/rssi/main.c **** pm_mode = PM_RESULT; 1394:apps/rssi/main.c **** } 1395:apps/rssi/main.c **** if (pm_mode == PM_RANGE_SENT) { 1396:apps/rssi/main.c **** for (pmr = (struct l1ctl_pm_conf *) l1h->data; 1397:apps/rssi/main.c **** (uint8_t *) pmr < msg->tail; pmr++) { 1398:apps/rssi/main.c **** if (!max || pm_spectrum[ntohs(pmr->band_arfcn) & 1023] < pmr->pm[0]) 1399:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 1400:apps/rssi/main.c **** } 1401:apps/rssi/main.c **** if ((l1h->flags & L1CTL_F_DONE)) 1402:apps/rssi/main.c **** pm_mode = PM_RANGE_RESULT; 1403:apps/rssi/main.c **** } 1404:apps/rssi/main.c **** l1s.tpu_offset_correction += 5000 / NUM_PM_UL; 1405:apps/rssi/main.c **** break; 1406:apps/rssi/main.c **** case L1CTL_FBSB_CONF: 1407:apps/rssi/main.c **** dl = (struct l1ctl_info_dl *) l1h->data; 1408:apps/rssi/main.c **** sb = (struct l1ctl_fbsb_conf *) dl->payload; 1409:apps/rssi/main.c **** if (sb->result == 0) 1410:apps/rssi/main.c **** sync_result = "ok"; 1411:apps/rssi/main.c **** else 1412:apps/rssi/main.c **** sync_result = "error"; 1413:apps/rssi/main.c **** bsic = sb->bsic; 1414:apps/rssi/main.c **** break; 1415:apps/rssi/main.c **** case L1CTL_DATA_IND: 1416:apps/rssi/main.c **** dl = (struct l1ctl_info_dl *) l1h->data; 1417:apps/rssi/main.c **** msg->l2h = dl->payload; 1418:apps/rssi/main.c **** rsl_dec_chan_nr(dl->chan_nr, &chan_type, &chan_ss, &chan_ts); 1419:apps/rssi/main.c **** 1420:apps/rssi/main.c **** power = dl->rx_level; 1421:apps/rssi/main.c **** if (dl->fire_crc >= 2) { 1422:apps/rssi/main.c **** if (chan_type == RSL_CHAN_BCCH) 1423:apps/rssi/main.c **** si_new = 0x1ff; /* error frame indication */ 1424:apps/rssi/main.c **** break; /* free, but don't send to sercom */ 1425:apps/rssi/main.c **** } 1426:apps/rssi/main.c **** 1427:apps/rssi/main.c **** switch (chan_type) { 1428:apps/rssi/main.c **** case RSL_CHAN_BCCH: 1429:apps/rssi/main.c **** msg->l3h = msg->l2h; 1430:apps/rssi/main.c **** rx_bcch(msg); 1431:apps/rssi/main.c **** break; 1432:apps/rssi/main.c **** case RSL_CHAN_PCH_AGCH: 1433:apps/rssi/main.c **** msg->l3h = msg->l2h; 1434:apps/rssi/main.c **** rx_pch_agch(msg); 1435:apps/rssi/main.c **** break; 1436:apps/rssi/main.c **** } 1437:apps/rssi/main.c **** sercomm_sendmsg(SC_DLCI_L1A_L23, msg); 1438:apps/rssi/main.c **** return; /* msg is freed by sercom */ 1439:apps/rssi/main.c **** case L1CTL_NEIGH_PM_IND: 1440:apps/rssi/main.c **** for (pm_ind = (struct l1ctl_neigh_pm_ind *) l1h->data; 1441:apps/rssi/main.c **** (uint8_t *) pm_ind < msg->tail; pm_ind++) { 1442:apps/rssi/main.c **** ul_levels[pm_ind->tn] = pm_ind->pm[0]; 1443:apps/rssi/main.c **** /* hold max only, if max enabled and level is lower */ 1444:apps/rssi/main.c **** if (!max || ul_levels[pm_ind->tn] > ul_max[pm_ind->tn]) 1445:apps/rssi/main.c **** ul_max[pm_ind->tn] = ul_levels[pm_ind->tn]; 1446:apps/rssi/main.c **** if (pm_ind->tn == 7) 1447:apps/rssi/main.c **** ul_new = 1; 1448:apps/rssi/main.c **** } 1449:apps/rssi/main.c **** break; 1450:apps/rssi/main.c **** case L1CTL_RACH_CONF: 1451:apps/rssi/main.c **** dl = (struct l1ctl_info_dl *) l1h->data; 1452:apps/rssi/main.c **** gsm_fn2gsmtime(&tm, ntohl(dl->frame_nr)); 1453:apps/rssi/main.c **** rach_ref.t1 = tm.t1; 1454:apps/rssi/main.c **** rach_ref.t2 = tm.t2; 1455:apps/rssi/main.c **** rach_ref.t3_low = tm.t3 & 0x7; 1456:apps/rssi/main.c **** rach_ref.t3_high = tm.t3 >> 3; 1457:apps/rssi/main.c **** break; 1458:apps/rssi/main.c **** } 1459:apps/rssi/main.c **** 1460:apps/rssi/main.c **** msgb_free(msg); 1461:apps/rssi/main.c **** 1462:apps/rssi/main.c **** } 1463:apps/rssi/main.c **** 1464:apps/rssi/main.c **** static void console_rx_cb(uint8_t dlci, struct msgb *msg) 1465:apps/rssi/main.c **** { 1466:apps/rssi/main.c **** if (dlci != SC_DLCI_CONSOLE) { 1467:apps/rssi/main.c **** printf("Message for unknown DLCI %u\n", dlci); 1468:apps/rssi/main.c **** return; 1469:apps/rssi/main.c **** } 1470:apps/rssi/main.c **** 1471:apps/rssi/main.c **** printf("Message on console DLCI: '%s'\n", msg->data); 1472:apps/rssi/main.c **** msgb_free(msg); 1473:apps/rssi/main.c **** } 1474:apps/rssi/main.c **** 1475:apps/rssi/main.c **** static void l1a_l23_rx_cb(uint8_t dlci, struct msgb *msg) 1476:apps/rssi/main.c **** { 64 .loc 1 1476 1 is_stmt 1 view -0 65 .cfi_startproc 66 @ Function supports interworking. 67 @ args = 0, pretend = 0, frame = 0 68 @ frame_needed = 0, uses_anonymous_args = 0 1477:apps/rssi/main.c **** int i; 69 .loc 1 1477 2 view .LVU6 1478:apps/rssi/main.c **** printf("l1a_l23_rx_cb (DLCI %d): ", dlci); 70 .loc 1 1478 2 view .LVU7 1476:apps/rssi/main.c **** int i; 71 .loc 1 1476 1 is_stmt 0 view .LVU8 72 0000 70402DE9 push {r4, r5, r6, lr} 73 .LCFI0: 74 .cfi_def_cfa_offset 16 75 .cfi_offset 4, -16 76 .cfi_offset 5, -12 77 .cfi_offset 6, -8 78 .cfi_offset 14, -4 1476:apps/rssi/main.c **** int i; 79 .loc 1 1476 1 view .LVU9 80 0004 0150A0E1 mov r5, r1 81 .loc 1 1478 2 view .LVU10 82 0008 0010A0E1 mov r1, r0 83 .LVL3: 84 .loc 1 1478 2 view .LVU11 85 000c 3C009FE5 ldr r0, .L8 86 .LVL4: 87 .loc 1 1478 2 view .LVU12 88 0010 FEFFFFEB bl printf 89 .LVL5: 1479:apps/rssi/main.c **** for (i = 0; i < msg->len; i++) 90 .loc 1 1479 2 is_stmt 1 view .LVU13 91 .loc 1 1479 9 is_stmt 0 view .LVU14 92 0014 0040A0E3 mov r4, #0 1480:apps/rssi/main.c **** printf("%02x ", msg->data[i]); 93 .loc 1 1480 3 view .LVU15 94 0018 34609FE5 ldr r6, .L8+4 95 .LVL6: 96 .L5: 1479:apps/rssi/main.c **** for (i = 0; i < msg->len; i++) 97 .loc 1 1479 16 is_stmt 1 discriminator 1 view .LVU16 1479:apps/rssi/main.c **** for (i = 0; i < msg->len; i++) 98 .loc 1 1479 21 is_stmt 0 discriminator 1 view .LVU17 99 001c B633D5E1 ldrh r3, [r5, #54] 1479:apps/rssi/main.c **** for (i = 0; i < msg->len; i++) 100 .loc 1 1479 16 discriminator 1 view .LVU18 101 0020 040053E1 cmp r3, r4 102 0024 030000CA bgt .L6 1481:apps/rssi/main.c **** puts("\n"); 103 .loc 1 1481 2 is_stmt 1 view .LVU19 104 0028 28009FE5 ldr r0, .L8+8 105 002c FEFFFFEB bl puts 106 .LVL7: 1482:apps/rssi/main.c **** } 107 .loc 1 1482 1 is_stmt 0 view .LVU20 108 0030 7040BDE8 pop {r4, r5, r6, lr} 109 .LCFI1: 110 .cfi_remember_state 111 .cfi_restore 14 112 .cfi_restore 6 113 .cfi_restore 5 114 .cfi_restore 4 115 .cfi_def_cfa_offset 0 116 .LVL8: 117 .loc 1 1482 1 view .LVU21 118 0034 1EFF2FE1 bx lr 119 .LVL9: 120 .L6: 121 .LCFI2: 122 .cfi_restore_state 1480:apps/rssi/main.c **** printf("%02x ", msg->data[i]); 123 .loc 1 1480 3 is_stmt 1 discriminator 3 view .LVU22 1480:apps/rssi/main.c **** printf("%02x ", msg->data[i]); 124 .loc 1 1480 28 is_stmt 0 discriminator 3 view .LVU23 125 0038 403095E5 ldr r3, [r5, #64] 1480:apps/rssi/main.c **** printf("%02x ", msg->data[i]); 126 .loc 1 1480 3 discriminator 3 view .LVU24 127 003c 0600A0E1 mov r0, r6 128 0040 0410D3E7 ldrb r1, [r3, r4] @ zero_extendqisi2 129 0044 FEFFFFEB bl printf 130 .LVL10: 1479:apps/rssi/main.c **** printf("%02x ", msg->data[i]); 131 .loc 1 1479 29 is_stmt 1 discriminator 3 view .LVU25 132 0048 014084E2 add r4, r4, #1 133 .LVL11: 1479:apps/rssi/main.c **** printf("%02x ", msg->data[i]); 134 .loc 1 1479 29 is_stmt 0 discriminator 3 view .LVU26 135 004c F2FFFFEA b .L5 136 .L9: 137 .align 2 138 .L8: 139 0050 00000000 .word .LC0 140 0054 1A000000 .word .LC1 141 0058 20000000 .word .LC2 142 .cfi_endproc 143 .LFE164: 145 .section .rodata.str1.1 146 .LC3: 147 0022 6D736762 .ascii "msgb(%p): Not enough tailroom msgb_push (%u < %u)\012" 147 28257029 147 3A204E6F 147 7420656E 147 6F756768 148 0054 00 .ascii "\000" 149 .section .text.msgb_put,"ax",%progbits 150 .align 2 151 .syntax unified 152 .arm 154 msgb_put: 155 .LVL12: 156 .LFB47: 157 .file 3 "../../shared/libosmocore/include/osmocom/core/msgb.h" 1:../../shared/libosmocore/include/osmocom/core/msgb.h **** #ifndef _MSGB_H 2:../../shared/libosmocore/include/osmocom/core/msgb.h **** #define _MSGB_H 3:../../shared/libosmocore/include/osmocom/core/msgb.h **** 4:../../shared/libosmocore/include/osmocom/core/msgb.h **** /* (C) 2008 by Harald Welte 5:../../shared/libosmocore/include/osmocom/core/msgb.h **** * All Rights Reserved 6:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 7:../../shared/libosmocore/include/osmocom/core/msgb.h **** * This program is free software; you can redistribute it and/or modify 8:../../shared/libosmocore/include/osmocom/core/msgb.h **** * it under the terms of the GNU General Public License as published by 9:../../shared/libosmocore/include/osmocom/core/msgb.h **** * the Free Software Foundation; either version 2 of the License, or 10:../../shared/libosmocore/include/osmocom/core/msgb.h **** * (at your option) any later version. 11:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 12:../../shared/libosmocore/include/osmocom/core/msgb.h **** * This program is distributed in the hope that it will be useful, 13:../../shared/libosmocore/include/osmocom/core/msgb.h **** * but WITHOUT ANY WARRANTY; without even the implied warranty of 14:../../shared/libosmocore/include/osmocom/core/msgb.h **** * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15:../../shared/libosmocore/include/osmocom/core/msgb.h **** * GNU General Public License for more details. 16:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 17:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 18:../../shared/libosmocore/include/osmocom/core/msgb.h **** 19:../../shared/libosmocore/include/osmocom/core/msgb.h **** #include 20:../../shared/libosmocore/include/osmocom/core/msgb.h **** #include 21:../../shared/libosmocore/include/osmocom/core/msgb.h **** #include 22:../../shared/libosmocore/include/osmocom/core/msgb.h **** 23:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \defgroup msgb Message buffers 24:../../shared/libosmocore/include/osmocom/core/msgb.h **** * @{ 25:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 26:../../shared/libosmocore/include/osmocom/core/msgb.h **** 27:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \file msgb.h 28:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \brief Osmocom message buffers 29:../../shared/libosmocore/include/osmocom/core/msgb.h **** * The Osmocom message buffers are modelled after the 'struct skb' 30:../../shared/libosmocore/include/osmocom/core/msgb.h **** * inside the Linux kernel network stack. As they exist in userspace, 31:../../shared/libosmocore/include/osmocom/core/msgb.h **** * they are much simplified. However, terminology such as headroom, 32:../../shared/libosmocore/include/osmocom/core/msgb.h **** * tailroom, push/pull/put etc. remains the same. 33:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 34:../../shared/libosmocore/include/osmocom/core/msgb.h **** 35:../../shared/libosmocore/include/osmocom/core/msgb.h **** #define MSGB_DEBUG 36:../../shared/libosmocore/include/osmocom/core/msgb.h **** 37:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief Osmocom message buffer */ 38:../../shared/libosmocore/include/osmocom/core/msgb.h **** struct msgb { 39:../../shared/libosmocore/include/osmocom/core/msgb.h **** struct llist_head list; /*!< \brief linked list header */ 40:../../shared/libosmocore/include/osmocom/core/msgb.h **** 41:../../shared/libosmocore/include/osmocom/core/msgb.h **** 42:../../shared/libosmocore/include/osmocom/core/msgb.h **** /* Part of which TRX logical channel we were received / transmitted */ 43:../../shared/libosmocore/include/osmocom/core/msgb.h **** /* FIXME: move them into the control buffer */ 44:../../shared/libosmocore/include/osmocom/core/msgb.h **** union { 45:../../shared/libosmocore/include/osmocom/core/msgb.h **** void *dst; /*!< \brief reference of origin/destination */ 46:../../shared/libosmocore/include/osmocom/core/msgb.h **** struct gsm_bts_trx *trx; 47:../../shared/libosmocore/include/osmocom/core/msgb.h **** }; 48:../../shared/libosmocore/include/osmocom/core/msgb.h **** struct gsm_lchan *lchan; /*!< \brief logical channel */ 49:../../shared/libosmocore/include/osmocom/core/msgb.h **** 50:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *l1h; /*!< \brief pointer to Layer1 header (if any) */ 51:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *l2h; /*!< \brief pointer to A-bis layer 2 header: OML, RSL(RLL), NS */ 52:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *l3h; /*!< \brief pointer to Layer 3 header. For OML: FOM; RSL: 04.08; GPRS: BSSGP * 53:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *l4h; /*!< \brief pointer to layer 4 header */ 54:../../shared/libosmocore/include/osmocom/core/msgb.h **** 55:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned long cb[5]; /*!< \brief control buffer */ 56:../../shared/libosmocore/include/osmocom/core/msgb.h **** 57:../../shared/libosmocore/include/osmocom/core/msgb.h **** uint16_t data_len; /*!< \brief length of underlying data array */ 58:../../shared/libosmocore/include/osmocom/core/msgb.h **** uint16_t len; /*!< \brief length of bytes used in msgb */ 59:../../shared/libosmocore/include/osmocom/core/msgb.h **** 60:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *head; /*!< \brief start of underlying memory buffer */ 61:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *tail; /*!< \brief end of message in buffer */ 62:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *data; /*!< \brief start of message in buffer */ 63:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char _data[0]; /*!< \brief optional immediate data array */ 64:../../shared/libosmocore/include/osmocom/core/msgb.h **** }; 65:../../shared/libosmocore/include/osmocom/core/msgb.h **** 66:../../shared/libosmocore/include/osmocom/core/msgb.h **** extern struct msgb *msgb_alloc(uint16_t size, const char *name); 67:../../shared/libosmocore/include/osmocom/core/msgb.h **** extern void msgb_free(struct msgb *m); 68:../../shared/libosmocore/include/osmocom/core/msgb.h **** extern void msgb_enqueue(struct llist_head *queue, struct msgb *msg); 69:../../shared/libosmocore/include/osmocom/core/msgb.h **** extern struct msgb *msgb_dequeue(struct llist_head *queue); 70:../../shared/libosmocore/include/osmocom/core/msgb.h **** extern void msgb_reset(struct msgb *m); 71:../../shared/libosmocore/include/osmocom/core/msgb.h **** uint16_t msgb_length(const struct msgb *msg); 72:../../shared/libosmocore/include/osmocom/core/msgb.h **** 73:../../shared/libosmocore/include/osmocom/core/msgb.h **** #ifdef MSGB_DEBUG 74:../../shared/libosmocore/include/osmocom/core/msgb.h **** #include 75:../../shared/libosmocore/include/osmocom/core/msgb.h **** #define MSGB_ABORT(msg, fmt, args ...) do { \ 76:../../shared/libosmocore/include/osmocom/core/msgb.h **** osmo_panic("msgb(%p): " fmt, msg, ## args); \ 77:../../shared/libosmocore/include/osmocom/core/msgb.h **** } while(0) 78:../../shared/libosmocore/include/osmocom/core/msgb.h **** #else 79:../../shared/libosmocore/include/osmocom/core/msgb.h **** #define MSGB_ABORT(msg, fmt, args ...) 80:../../shared/libosmocore/include/osmocom/core/msgb.h **** #endif 81:../../shared/libosmocore/include/osmocom/core/msgb.h **** 82:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief obtain L1 header of msgb */ 83:../../shared/libosmocore/include/osmocom/core/msgb.h **** #define msgb_l1(m) ((void *)(m->l1h)) 84:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief obtain L2 header of msgb */ 85:../../shared/libosmocore/include/osmocom/core/msgb.h **** #define msgb_l2(m) ((void *)(m->l2h)) 86:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief obtain L3 header of msgb */ 87:../../shared/libosmocore/include/osmocom/core/msgb.h **** #define msgb_l3(m) ((void *)(m->l3h)) 88:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief obtain SMS header of msgb */ 89:../../shared/libosmocore/include/osmocom/core/msgb.h **** #define msgb_sms(m) ((void *)(m->l4h)) 90:../../shared/libosmocore/include/osmocom/core/msgb.h **** 91:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief determine length of L1 message 92:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \param[in] msgb message buffer 93:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \returns size of L1 message in bytes 94:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 95:../../shared/libosmocore/include/osmocom/core/msgb.h **** * This function computes the number of bytes between the tail of the 96:../../shared/libosmocore/include/osmocom/core/msgb.h **** * message and the layer 1 header. 97:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 98:../../shared/libosmocore/include/osmocom/core/msgb.h **** static inline unsigned int msgb_l1len(const struct msgb *msgb) 99:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 100:../../shared/libosmocore/include/osmocom/core/msgb.h **** return msgb->tail - (uint8_t *)msgb_l1(msgb); 101:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 102:../../shared/libosmocore/include/osmocom/core/msgb.h **** 103:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief determine length of L2 message 104:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \param[in] msgb message buffer 105:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \returns size of L2 message in bytes 106:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 107:../../shared/libosmocore/include/osmocom/core/msgb.h **** * This function computes the number of bytes between the tail of the 108:../../shared/libosmocore/include/osmocom/core/msgb.h **** * message and the layer 2 header. 109:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 110:../../shared/libosmocore/include/osmocom/core/msgb.h **** static inline unsigned int msgb_l2len(const struct msgb *msgb) 111:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 112:../../shared/libosmocore/include/osmocom/core/msgb.h **** return msgb->tail - (uint8_t *)msgb_l2(msgb); 113:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 114:../../shared/libosmocore/include/osmocom/core/msgb.h **** 115:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief determine length of L3 message 116:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \param[in] msgb message buffer 117:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \returns size of L3 message in bytes 118:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 119:../../shared/libosmocore/include/osmocom/core/msgb.h **** * This function computes the number of bytes between the tail of the 120:../../shared/libosmocore/include/osmocom/core/msgb.h **** * message and the layer 3 header. 121:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 122:../../shared/libosmocore/include/osmocom/core/msgb.h **** static inline unsigned int msgb_l3len(const struct msgb *msgb) 123:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** return msgb->tail - (uint8_t *)msgb_l3(msgb); 125:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 126:../../shared/libosmocore/include/osmocom/core/msgb.h **** 127:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief determine the length of the header 128:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \param[in] msgb message buffer 129:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \returns number of bytes between start of buffer and start of msg 130:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 131:../../shared/libosmocore/include/osmocom/core/msgb.h **** * This function computes the length difference between the underlying 132:../../shared/libosmocore/include/osmocom/core/msgb.h **** * data buffer and the used section of the \a msgb. 133:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 134:../../shared/libosmocore/include/osmocom/core/msgb.h **** static inline unsigned int msgb_headlen(const struct msgb *msgb) 135:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 136:../../shared/libosmocore/include/osmocom/core/msgb.h **** return msgb->len - msgb->data_len; 137:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 138:../../shared/libosmocore/include/osmocom/core/msgb.h **** 139:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief determine how much tail room is left in msgb 140:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \param[in] msgb message buffer 141:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \returns number of bytes remaining at end of msgb 142:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 143:../../shared/libosmocore/include/osmocom/core/msgb.h **** * This function computes the amount of octets left in the underlying 144:../../shared/libosmocore/include/osmocom/core/msgb.h **** * data buffer after the end of the message. 145:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 146:../../shared/libosmocore/include/osmocom/core/msgb.h **** static inline int msgb_tailroom(const struct msgb *msgb) 147:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 148:../../shared/libosmocore/include/osmocom/core/msgb.h **** return (msgb->head + msgb->data_len) - msgb->tail; 149:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 150:../../shared/libosmocore/include/osmocom/core/msgb.h **** 151:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief determine the amount of headroom in msgb 152:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \param[in] msgb message buffer 153:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \returns number of bytes left ahead of message start in msgb 154:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 155:../../shared/libosmocore/include/osmocom/core/msgb.h **** * This function computes the amount of bytes left in the underlying 156:../../shared/libosmocore/include/osmocom/core/msgb.h **** * data buffer before the start of the actual message. 157:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 158:../../shared/libosmocore/include/osmocom/core/msgb.h **** static inline int msgb_headroom(const struct msgb *msgb) 159:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 160:../../shared/libosmocore/include/osmocom/core/msgb.h **** return (msgb->data - msgb->head); 161:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 162:../../shared/libosmocore/include/osmocom/core/msgb.h **** 163:../../shared/libosmocore/include/osmocom/core/msgb.h **** /*! \brief append data to end of message buffer 164:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \param[in] msgb message buffer 165:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \param[in] len number of bytes to append to message 166:../../shared/libosmocore/include/osmocom/core/msgb.h **** * \returns pointer to start of newly-appended data 167:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 168:../../shared/libosmocore/include/osmocom/core/msgb.h **** * This function will move the \a tail pointer of the message buffer \a 169:../../shared/libosmocore/include/osmocom/core/msgb.h **** * len bytes further, thus enlarging the message by \a len bytes. 170:../../shared/libosmocore/include/osmocom/core/msgb.h **** * 171:../../shared/libosmocore/include/osmocom/core/msgb.h **** * The return value is a pointer to start of the newly added section at 172:../../shared/libosmocore/include/osmocom/core/msgb.h **** * the end of the message and can be used for actually filling/copying 173:../../shared/libosmocore/include/osmocom/core/msgb.h **** * data into it. 174:../../shared/libosmocore/include/osmocom/core/msgb.h **** */ 175:../../shared/libosmocore/include/osmocom/core/msgb.h **** static inline unsigned char *msgb_put(struct msgb *msgb, unsigned int len) 176:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 158 .loc 3 176 1 is_stmt 1 view -0 159 .cfi_startproc 160 @ Function supports interworking. 161 @ args = 0, pretend = 0, frame = 0 162 @ frame_needed = 0, uses_anonymous_args = 0 177:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *tmp = msgb->tail; 163 .loc 3 177 2 view .LVU28 164 .LBB188: 165 .LBB189: 148:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 166 .loc 3 148 27 is_stmt 0 view .LVU29 167 0000 B433D0E1 ldrh r3, [r0, #52] 148:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 168 .loc 3 148 21 view .LVU30 169 0004 382090E5 ldr r2, [r0, #56] 170 .LBE189: 171 .LBE188: 176:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *tmp = msgb->tail; 172 .loc 3 176 1 view .LVU31 173 0008 70402DE9 push {r4, r5, r6, lr} 174 .LCFI3: 175 .cfi_def_cfa_offset 16 176 .cfi_offset 4, -16 177 .cfi_offset 5, -12 178 .cfi_offset 6, -8 179 .cfi_offset 14, -4 180 .loc 3 177 17 view .LVU32 181 000c 3C6090E5 ldr r6, [r0, #60] 182 .LVL13: 178:../../shared/libosmocore/include/osmocom/core/msgb.h **** if (msgb_tailroom(msgb) < (int) len) 183 .loc 3 178 2 is_stmt 1 view .LVU33 184 .LBB191: 185 .LBI188: 146:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 186 .loc 3 146 19 view .LVU34 187 .LBB190: 148:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 188 .loc 3 148 2 view .LVU35 148:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 189 .loc 3 148 21 is_stmt 0 view .LVU36 190 0010 032082E0 add r2, r2, r3 148:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 191 .loc 3 148 39 view .LVU37 192 0014 062042E0 sub r2, r2, r6 193 .LVL14: 148:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 194 .loc 3 148 39 view .LVU38 195 .LBE190: 196 .LBE191: 197 .loc 3 178 5 view .LVU39 198 0018 020051E1 cmp r1, r2 176:../../shared/libosmocore/include/osmocom/core/msgb.h **** unsigned char *tmp = msgb->tail; 199 .loc 3 176 1 view .LVU40 200 001c 0040A0E1 mov r4, r0 201 0020 0150A0E1 mov r5, r1 202 .loc 3 178 5 view .LVU41 203 0024 030000DA ble .L11 179:../../shared/libosmocore/include/osmocom/core/msgb.h **** MSGB_ABORT(msgb, "Not enough tailroom msgb_push (%u < %u)\n", 204 .loc 3 179 3 is_stmt 1 view .LVU42 205 .loc 3 179 3 view .LVU43 206 0028 0130A0E1 mov r3, r1 207 002c 0010A0E1 mov r1, r0 208 .LVL15: 209 .loc 3 179 3 is_stmt 0 view .LVU44 210 0030 24009FE5 ldr r0, .L13 211 .LVL16: 212 .loc 3 179 3 view .LVU45 213 0034 FEFFFFEB bl osmo_panic 214 .LVL17: 215 .L11: 216 .loc 3 179 3 is_stmt 1 discriminator 1 view .LVU46 180:../../shared/libosmocore/include/osmocom/core/msgb.h **** msgb_tailroom(msgb), len); 181:../../shared/libosmocore/include/osmocom/core/msgb.h **** msgb->tail += len; 217 .loc 3 181 2 discriminator 1 view .LVU47 218 .loc 3 181 13 is_stmt 0 discriminator 1 view .LVU48 219 0038 3C3094E5 ldr r3, [r4, #60] 220 003c 053083E0 add r3, r3, r5 221 0040 3C3084E5 str r3, [r4, #60] 182:../../shared/libosmocore/include/osmocom/core/msgb.h **** msgb->len += len; 222 .loc 3 182 2 is_stmt 1 discriminator 1 view .LVU49 223 .loc 3 182 12 is_stmt 0 discriminator 1 view .LVU50 224 0044 B633D4E1 ldrh r3, [r4, #54] 225 0048 053083E0 add r3, r3, r5 183:../../shared/libosmocore/include/osmocom/core/msgb.h **** return tmp; 184:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 226 .loc 3 184 1 discriminator 1 view .LVU51 227 004c 0600A0E1 mov r0, r6 182:../../shared/libosmocore/include/osmocom/core/msgb.h **** msgb->len += len; 228 .loc 3 182 12 discriminator 1 view .LVU52 229 0050 B633C4E1 strh r3, [r4, #54] @ movhi 183:../../shared/libosmocore/include/osmocom/core/msgb.h **** return tmp; 230 .loc 3 183 2 is_stmt 1 discriminator 1 view .LVU53 231 .loc 3 184 1 is_stmt 0 discriminator 1 view .LVU54 232 0054 7040BDE8 pop {r4, r5, r6, lr} 233 .LCFI4: 234 .cfi_restore 14 235 .cfi_restore 6 236 .cfi_restore 5 237 .cfi_restore 4 238 .cfi_def_cfa_offset 0 239 .LVL18: 240 .loc 3 184 1 discriminator 1 view .LVU55 241 0058 1EFF2FE1 bx lr 242 .L14: 243 .align 2 244 .L13: 245 005c 22000000 .word .LC3 246 .cfi_endproc 247 .LFE47: 249 .section .text.request_ul_levels,"ax",%progbits 250 .align 2 251 .syntax unified 252 .arm 254 request_ul_levels: 255 .LVL19: 256 .LFB151: 1055:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_NEIGH_PM_REQ); 257 .loc 1 1055 1 is_stmt 1 view -0 258 .cfi_startproc 259 @ Function supports interworking. 260 @ args = 0, pretend = 0, frame = 0 261 @ frame_needed = 0, uses_anonymous_args = 0 1056:apps/rssi/main.c **** struct l1ctl_neigh_pm_req *pm_req = 262 .loc 1 1056 2 view .LVU57 1055:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_NEIGH_PM_REQ); 263 .loc 1 1055 1 is_stmt 0 view .LVU58 264 0000 70402DE9 push {r4, r5, r6, lr} 265 .LCFI5: 266 .cfi_def_cfa_offset 16 267 .cfi_offset 4, -16 268 .cfi_offset 5, -12 269 .cfi_offset 6, -8 270 .cfi_offset 14, -4 1055:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_NEIGH_PM_REQ); 271 .loc 1 1055 1 view .LVU59 272 0004 0040A0E1 mov r4, r0 1056:apps/rssi/main.c **** struct l1ctl_neigh_pm_req *pm_req = 273 .loc 1 1056 21 view .LVU60 274 0008 1A00A0E3 mov r0, #26 275 .LVL20: 1056:apps/rssi/main.c **** struct l1ctl_neigh_pm_req *pm_req = 276 .loc 1 1056 21 view .LVU61 277 000c FEFFFFEB bl l1ctl_msgb_alloc 278 .LVL21: 1058:apps/rssi/main.c **** int i; 279 .loc 1 1058 33 view .LVU62 280 0010 C210A0E3 mov r1, #194 1056:apps/rssi/main.c **** struct l1ctl_neigh_pm_req *pm_req = 281 .loc 1 1056 21 view .LVU63 282 0014 0050A0E1 mov r5, r0 283 .LVL22: 1057:apps/rssi/main.c **** (struct l1ctl_neigh_pm_req *) msgb_put(msg, sizeof(*pm_req)); 284 .loc 1 1057 2 is_stmt 1 view .LVU64 1058:apps/rssi/main.c **** int i; 285 .loc 1 1058 33 is_stmt 0 view .LVU65 286 0018 FEFFFFEB bl msgb_put 287 .LVL23: 1059:apps/rssi/main.c **** 288 .loc 1 1059 2 is_stmt 1 view .LVU66 1061:apps/rssi/main.c **** a |= ARFCN_PCS; 289 .loc 1 1061 2 view .LVU67 1061:apps/rssi/main.c **** a |= ARFCN_PCS; 290 .loc 1 1061 6 is_stmt 0 view .LVU68 291 001c 80209FE5 ldr r2, .L27 1061:apps/rssi/main.c **** a |= ARFCN_PCS; 292 .loc 1 1061 5 view .LVU69 293 0020 003092E5 ldr r3, [r2] 294 0024 000053E3 cmp r3, #0 295 0028 0500000A beq .L16 1061:apps/rssi/main.c **** a |= ARFCN_PCS; 296 .loc 1 1061 26 discriminator 1 view .LVU70 297 002c 023C44E2 sub r3, r4, #512 298 0030 70109FE5 ldr r1, .L27+4 299 0034 0338A0E1 lsl r3, r3, #16 300 0038 2338A0E1 lsr r3, r3, #16 301 003c 010053E1 cmp r3, r1 1062:apps/rssi/main.c **** if (uplink) 302 .loc 1 1062 3 is_stmt 1 discriminator 1 view .LVU71 1062:apps/rssi/main.c **** if (uplink) 303 .loc 1 1062 5 is_stmt 0 discriminator 1 view .LVU72 304 0040 02498493 orrls r4, r4, #32768 305 .LVL24: 306 .L16: 1063:apps/rssi/main.c **** a |= ARFCN_UPLINK; 307 .loc 1 1063 2 is_stmt 1 view .LVU73 1063:apps/rssi/main.c **** a |= ARFCN_UPLINK; 308 .loc 1 1063 5 is_stmt 0 view .LVU74 309 0044 043092E5 ldr r3, [r2, #4] 310 0048 000053E3 cmp r3, #0 1064:apps/rssi/main.c **** pm_req->n = 8; 311 .loc 1 1064 3 is_stmt 1 view .LVU75 1065:apps/rssi/main.c **** for (i = 0; i < 8; i++) { 312 .loc 1 1065 12 is_stmt 0 view .LVU76 313 004c 0830A0E3 mov r3, #8 314 0050 0020A0E1 mov r2, r0 1064:apps/rssi/main.c **** pm_req->n = 8; 315 .loc 1 1064 5 view .LVU77 316 0054 01498413 orrne r4, r4, #16384 317 .LVL25: 1065:apps/rssi/main.c **** for (i = 0; i < 8; i++) { 318 .loc 1 1065 2 is_stmt 1 view .LVU78 319 0058 3413A0E1 lsr r1, r4, r3 320 005c 144381E1 orr r4, r1, r4, lsl r3 321 .LVL26: 1065:apps/rssi/main.c **** for (i = 0; i < 8; i++) { 322 .loc 1 1065 12 is_stmt 0 view .LVU79 323 0060 8130C2E4 strb r3, [r2], #129 1066:apps/rssi/main.c **** pm_req->band_arfcn[i] = htons(a); 324 .loc 1 1066 2 is_stmt 1 view .LVU80 325 .LVL27: 1066:apps/rssi/main.c **** pm_req->band_arfcn[i] = htons(a); 326 .loc 1 1066 16 view .LVU81 1066:apps/rssi/main.c **** pm_req->band_arfcn[i] = htons(a); 327 .loc 1 1066 9 is_stmt 0 view .LVU82 328 0064 0030A0E3 mov r3, #0 1067:apps/rssi/main.c **** pm_req->tn[i] = i; 329 .loc 1 1067 25 view .LVU83 330 0068 2444A0E1 lsr r4, r4, #8 331 006c FF1001E2 and r1, r1, #255 332 0070 FF4004E2 and r4, r4, #255 333 .LVL28: 334 .L18: 1067:apps/rssi/main.c **** pm_req->tn[i] = i; 335 .loc 1 1067 3 is_stmt 1 view .LVU84 1067:apps/rssi/main.c **** pm_req->tn[i] = i; 336 .loc 1 1067 25 is_stmt 0 view .LVU85 337 0074 83C080E0 add ip, r0, r3, lsl #1 338 0078 0210CCE5 strb r1, [ip, #2] 339 007c 0340CCE5 strb r4, [ip, #3] 1068:apps/rssi/main.c **** } 340 .loc 1 1068 3 is_stmt 1 view .LVU86 1068:apps/rssi/main.c **** } 341 .loc 1 1068 17 is_stmt 0 view .LVU87 342 0080 0130E2E5 strb r3, [r2, #1]! 1066:apps/rssi/main.c **** pm_req->band_arfcn[i] = htons(a); 343 .loc 1 1066 22 is_stmt 1 view .LVU88 344 0084 013083E2 add r3, r3, #1 345 .LVL29: 1066:apps/rssi/main.c **** pm_req->band_arfcn[i] = htons(a); 346 .loc 1 1066 16 view .LVU89 347 0088 080053E3 cmp r3, #8 348 008c F8FFFF1A bne .L18 1070:apps/rssi/main.c **** } 349 .loc 1 1070 2 view .LVU90 350 0090 0510A0E1 mov r1, r5 351 0094 0500A0E3 mov r0, #5 352 .LVL30: 1070:apps/rssi/main.c **** } 353 .loc 1 1070 2 is_stmt 0 view .LVU91 354 0098 FEFFFFEB bl l1a_l23_rx 355 .LVL31: 1071:apps/rssi/main.c **** 356 .loc 1 1071 1 view .LVU92 357 009c 7040BDE8 pop {r4, r5, r6, lr} 358 .LCFI6: 359 .cfi_restore 14 360 .cfi_restore 6 361 .cfi_restore 5 362 .cfi_restore 4 363 .cfi_def_cfa_offset 0 364 .LVL32: 1071:apps/rssi/main.c **** 365 .loc 1 1071 1 view .LVU93 366 00a0 1EFF2FE1 bx lr 367 .L28: 368 .align 2 369 .L27: 370 00a4 00000000 .word .LANCHOR0 371 00a8 2A010000 .word 298 372 .cfi_endproc 373 .LFE151: 375 .section .text.gsm48_match_ra,"ax",%progbits 376 .align 2 377 .syntax unified 378 .arm 380 gsm48_match_ra: 381 .LVL33: 382 .LFB156: 1259:apps/rssi/main.c **** uint8_t ia_t1, ia_t2, ia_t3; 383 .loc 1 1259 1 is_stmt 1 view -0 384 .cfi_startproc 385 @ Function supports interworking. 386 @ args = 0, pretend = 0, frame = 0 387 @ frame_needed = 0, uses_anonymous_args = 0 1260:apps/rssi/main.c **** uint8_t cr_t1, cr_t2, cr_t3; 388 .loc 1 1260 2 view .LVU95 1261:apps/rssi/main.c **** 389 .loc 1 1261 2 view .LVU96 1263:apps/rssi/main.c **** ia_t1 = ref->t1; 390 .loc 1 1263 2 view .LVU97 1263:apps/rssi/main.c **** ia_t1 = ref->t1; 391 .loc 1 1263 6 is_stmt 0 view .LVU98 392 0000 84C09FE5 ldr ip, .L39 1259:apps/rssi/main.c **** uint8_t ia_t1, ia_t2, ia_t3; 393 .loc 1 1259 1 view .LVU99 394 0004 0030A0E1 mov r3, r0 1263:apps/rssi/main.c **** ia_t1 = ref->t1; 395 .loc 1 1263 6 view .LVU100 396 0008 08009CE5 ldr r0, [ip, #8] 397 .LVL34: 1263:apps/rssi/main.c **** ia_t1 = ref->t1; 398 .loc 1 1263 5 view .LVU101 399 000c 000050E3 cmp r0, #0 400 0010 1EFF2F01 bxeq lr 1263:apps/rssi/main.c **** ia_t1 = ref->t1; 401 .loc 1 1263 11 discriminator 1 view .LVU102 402 0014 0010D3E5 ldrb r1, [r3] @ zero_extendqisi2 403 0018 0C20DCE5 ldrb r2, [ip, #12] @ zero_extendqisi2 404 001c 020051E1 cmp r1, r2 405 0020 1700001A bne .L31 406 .LVL35: 407 .LBB194: 408 .LBI194: 1258:apps/rssi/main.c **** { 409 .loc 1 1258 12 is_stmt 1 view .LVU103 410 .LBB195: 1264:apps/rssi/main.c **** ia_t2 = ref->t2; 411 .loc 1 1264 3 view .LVU104 1265:apps/rssi/main.c **** ia_t3 = (ref->t3_high << 3) | ref->t3_low; 412 .loc 1 1265 3 view .LVU105 1266:apps/rssi/main.c **** ref = &rach_ref; 413 .loc 1 1266 3 view .LVU106 1267:apps/rssi/main.c **** cr_t1 = ref->t1; 414 .loc 1 1267 3 view .LVU107 1268:apps/rssi/main.c **** cr_t2 = ref->t2; 415 .loc 1 1268 3 view .LVU108 1269:apps/rssi/main.c **** cr_t3 = (ref->t3_high << 3) | ref->t3_low; 416 .loc 1 1269 3 view .LVU109 1270:apps/rssi/main.c **** if (ia_t1 == cr_t1 && ia_t2 == cr_t2 && ia_t3 == cr_t3) 417 .loc 1 1270 3 view .LVU110 1271:apps/rssi/main.c **** return 1; 418 .loc 1 1271 3 view .LVU111 1270:apps/rssi/main.c **** if (ia_t1 == cr_t1 && ia_t2 == cr_t2 && ia_t3 == cr_t3) 419 .loc 1 1270 15 is_stmt 0 view .LVU112 420 0024 0E20DCE5 ldrb r2, [ip, #14] @ zero_extendqisi2 1270:apps/rssi/main.c **** if (ia_t1 == cr_t1 && ia_t2 == cr_t2 && ia_t3 == cr_t3) 421 .loc 1 1270 36 view .LVU113 422 0028 0FC0DCE5 ldrb ip, [ip, #15] @ zero_extendqisi2 1266:apps/rssi/main.c **** ref = &rach_ref; 423 .loc 1 1266 15 view .LVU114 424 002c 0110D3E5 ldrb r1, [r3, #1] @ zero_extendqisi2 1266:apps/rssi/main.c **** ref = &rach_ref; 425 .loc 1 1266 36 view .LVU115 426 0030 0230D3E5 ldrb r3, [r3, #2] @ zero_extendqisi2 427 .LVL36: 1266:apps/rssi/main.c **** ref = &rach_ref; 428 .loc 1 1266 36 view .LVU116 429 .LBE195: 430 .LBE194: 1259:apps/rssi/main.c **** uint8_t ia_t1, ia_t2, ia_t3; 431 .loc 1 1259 1 view .LVU117 432 0034 30402DE9 push {r4, r5, lr} 433 .LCFI7: 434 .cfi_def_cfa_offset 12 435 .cfi_offset 4, -12 436 .cfi_offset 5, -8 437 .cfi_offset 14, -4 438 .LBB197: 439 .LBB196: 1270:apps/rssi/main.c **** if (ia_t1 == cr_t1 && ia_t2 == cr_t2 && ia_t3 == cr_t3) 440 .loc 1 1270 15 view .LVU118 441 0038 070002E2 and r0, r2, #7 1270:apps/rssi/main.c **** if (ia_t1 == cr_t1 && ia_t2 == cr_t2 && ia_t3 == cr_t3) 442 .loc 1 1270 36 view .LVU119 443 003c ACE2A0E1 lsr lr, ip, #5 1266:apps/rssi/main.c **** ref = &rach_ref; 444 .loc 1 1266 15 view .LVU120 445 0040 075001E2 and r5, r1, #7 1271:apps/rssi/main.c **** return 1; 446 .loc 1 1271 40 view .LVU121 447 0044 80E18EE1 orr lr, lr, r0, lsl #3 1271:apps/rssi/main.c **** return 1; 448 .loc 1 1271 13 view .LVU122 449 0048 A221A0E1 lsr r2, r2, #3 1265:apps/rssi/main.c **** ia_t3 = (ref->t3_high << 3) | ref->t3_low; 450 .loc 1 1265 14 view .LVU123 451 004c 1F0003E2 and r0, r3, #31 1271:apps/rssi/main.c **** return 1; 452 .loc 1 1271 13 view .LVU124 453 0050 A111A0E1 lsr r1, r1, #3 454 .LVL37: 1269:apps/rssi/main.c **** cr_t3 = (ref->t3_high << 3) | ref->t3_low; 455 .loc 1 1269 14 view .LVU125 456 0054 1FC00CE2 and ip, ip, #31 1271:apps/rssi/main.c **** return 1; 457 .loc 1 1271 22 view .LVU126 458 0058 0C0050E1 cmp r0, ip 459 005c 02005101 cmpeq r1, r2 460 0060 0100A003 moveq r0, #1 461 0064 0000A013 movne r0, #0 1266:apps/rssi/main.c **** ref = &rach_ref; 462 .loc 1 1266 36 view .LVU127 463 0068 A342A0E1 lsr r4, r3, #5 1271:apps/rssi/main.c **** return 1; 464 .loc 1 1271 40 view .LVU128 465 006c 854184E1 orr r4, r4, r5, lsl #3 466 0070 0E0054E1 cmp r4, lr 467 0074 0000A013 movne r0, #0 468 0078 01000002 andeq r0, r0, #1 469 .LBE196: 470 .LBE197: 1276:apps/rssi/main.c **** 471 .loc 1 1276 1 view .LVU129 472 007c 3040BDE8 pop {r4, r5, lr} 473 .LCFI8: 474 .cfi_restore 14 475 .cfi_restore 5 476 .cfi_restore 4 477 .cfi_def_cfa_offset 0 478 0080 1EFF2FE1 bx lr 479 .LVL38: 480 .L31: 1275:apps/rssi/main.c **** } 481 .loc 1 1275 9 view .LVU130 482 0084 0000A0E3 mov r0, #0 1276:apps/rssi/main.c **** 483 .loc 1 1276 1 view .LVU131 484 0088 1EFF2FE1 bx lr 485 .L40: 486 .align 2 487 .L39: 488 008c 00000000 .word .LANCHOR0 489 .cfi_endproc 490 .LFE156: 492 .section .text.key_handler,"ax",%progbits 493 .align 2 494 .syntax unified 495 .arm 497 key_handler: 498 .LVL39: 499 .LFB165: 1483:apps/rssi/main.c **** 1484:apps/rssi/main.c **** static void key_handler(enum key_codes code, enum key_states state) 1485:apps/rssi/main.c **** { 500 .loc 1 1485 1 is_stmt 1 view -0 501 .cfi_startproc 502 @ Function supports interworking. 503 @ args = 0, pretend = 0, frame = 0 504 @ frame_needed = 0, uses_anonymous_args = 0 505 @ link register save eliminated. 1486:apps/rssi/main.c **** if (state != PRESSED) { 506 .loc 1 1486 2 view .LVU133 507 .loc 1 1486 5 is_stmt 0 view .LVU134 508 0000 000051E3 cmp r1, #0 509 0004 44309FE5 ldr r3, .L45 510 0008 0200000A beq .L42 1487:apps/rssi/main.c **** key_pressed = 0; 511 .loc 1 1487 3 is_stmt 1 view .LVU135 512 .loc 1 1487 15 is_stmt 0 view .LVU136 513 000c 0020A0E3 mov r2, #0 514 0010 102083E5 str r2, [r3, #16] 1488:apps/rssi/main.c **** return; 515 .loc 1 1488 3 is_stmt 1 view .LVU137 516 0014 1EFF2FE1 bx lr 517 .L42: 518 .LVL40: 519 .LBB200: 520 .LBI200: 1484:apps/rssi/main.c **** { 521 .loc 1 1484 13 view .LVU138 522 .LBB201: 1489:apps/rssi/main.c **** } 1490:apps/rssi/main.c **** /* key repeat */ 1491:apps/rssi/main.c **** if (!key_pressed) { 523 .loc 1 1491 2 view .LVU139 524 .loc 1 1491 5 is_stmt 0 view .LVU140 525 0018 102093E5 ldr r2, [r3, #16] 526 001c 000052E3 cmp r2, #0 527 0020 0700001A bne .L44 1492:apps/rssi/main.c **** key_pressed = 1; 528 .loc 1 1492 3 is_stmt 1 view .LVU141 529 .loc 1 1492 15 is_stmt 0 view .LVU142 530 0024 0120A0E3 mov r2, #1 531 0028 102083E5 str r2, [r3, #16] 1493:apps/rssi/main.c **** key_pressed_when = jiffies; 532 .loc 1 1493 3 is_stmt 1 view .LVU143 533 .loc 1 1493 20 is_stmt 0 view .LVU144 534 002c 20209FE5 ldr r2, .L45+4 535 0030 002092E5 ldr r2, [r2] 536 0034 142083E5 str r2, [r3, #20] 1494:apps/rssi/main.c **** key_pressed_code = code; 537 .loc 1 1494 3 is_stmt 1 view .LVU145 1495:apps/rssi/main.c **** key_pressed_delay = HZ * 6 / 10; 538 .loc 1 1495 21 is_stmt 0 view .LVU146 539 0038 3C20A0E3 mov r2, #60 1494:apps/rssi/main.c **** key_pressed_code = code; 540 .loc 1 1494 20 view .LVU147 541 003c 1800C3E5 strb r0, [r3, #24] 542 .loc 1 1495 3 is_stmt 1 view .LVU148 543 .loc 1 1495 21 is_stmt 0 view .LVU149 544 0040 1C2083E5 str r2, [r3, #28] 545 .L44: 1496:apps/rssi/main.c **** } 1497:apps/rssi/main.c **** 1498:apps/rssi/main.c **** key_code = code; 546 .loc 1 1498 2 is_stmt 1 view .LVU150 547 .loc 1 1498 11 is_stmt 0 view .LVU151 548 0044 0C309FE5 ldr r3, .L45+8 549 0048 0000C3E5 strb r0, [r3] 550 .LVL41: 551 .loc 1 1498 11 view .LVU152 552 .LBE201: 553 .LBE200: 1499:apps/rssi/main.c **** } 554 .loc 1 1499 1 view .LVU153 555 004c 1EFF2FE1 bx lr 556 .L46: 557 .align 2 558 .L45: 559 0050 00000000 .word .LANCHOR0 560 0054 00000000 .word jiffies 561 0058 00000000 .word .LANCHOR1 562 .cfi_endproc 563 .LFE165: 565 .section .rodata.str1.1 566 .LC4: 567 0055 4D657373 .ascii "Message for unknown DLCI %u\012\000" 567 61676520 567 666F7220 567 756E6B6E 567 6F776E20 568 .LC5: 569 0072 4D657373 .ascii "Message on console DLCI: '%s'\012\000" 569 61676520 569 6F6E2063 569 6F6E736F 569 6C652044 570 .section .text.console_rx_cb,"ax",%progbits 571 .align 2 572 .syntax unified 573 .arm 575 console_rx_cb: 576 .LVL42: 577 .LFB163: 1465:apps/rssi/main.c **** if (dlci != SC_DLCI_CONSOLE) { 578 .loc 1 1465 1 is_stmt 1 view -0 579 .cfi_startproc 580 @ Function supports interworking. 581 @ args = 0, pretend = 0, frame = 0 582 @ frame_needed = 0, uses_anonymous_args = 0 1466:apps/rssi/main.c **** printf("Message for unknown DLCI %u\n", dlci); 583 .loc 1 1466 2 view .LVU155 1466:apps/rssi/main.c **** printf("Message for unknown DLCI %u\n", dlci); 584 .loc 1 1466 5 is_stmt 0 view .LVU156 585 0000 0A0050E3 cmp r0, #10 1465:apps/rssi/main.c **** if (dlci != SC_DLCI_CONSOLE) { 586 .loc 1 1465 1 view .LVU157 587 0004 10402DE9 push {r4, lr} 588 .LCFI9: 589 .cfi_def_cfa_offset 8 590 .cfi_offset 4, -8 591 .cfi_offset 14, -4 1466:apps/rssi/main.c **** printf("Message for unknown DLCI %u\n", dlci); 592 .loc 1 1466 5 view .LVU158 593 0008 0400000A beq .L48 1467:apps/rssi/main.c **** return; 594 .loc 1 1467 3 is_stmt 1 view .LVU159 595 000c 0010A0E1 mov r1, r0 596 .LVL43: 1467:apps/rssi/main.c **** return; 597 .loc 1 1467 3 is_stmt 0 view .LVU160 598 0010 24009FE5 ldr r0, .L51 599 .LVL44: 1467:apps/rssi/main.c **** return; 600 .loc 1 1467 3 view .LVU161 601 0014 FEFFFFEB bl printf 602 .LVL45: 1468:apps/rssi/main.c **** } 603 .loc 1 1468 3 is_stmt 1 view .LVU162 604 .L47: 1473:apps/rssi/main.c **** 605 .loc 1 1473 1 is_stmt 0 view .LVU163 606 0018 1040BDE8 pop {r4, lr} 607 .LCFI10: 608 .cfi_remember_state 609 .cfi_restore 14 610 .cfi_restore 4 611 .cfi_def_cfa_offset 0 612 001c 1EFF2FE1 bx lr 613 .LVL46: 614 .L48: 615 .LCFI11: 616 .cfi_restore_state 1473:apps/rssi/main.c **** 617 .loc 1 1473 1 view .LVU164 618 0020 0140A0E1 mov r4, r1 619 .LVL47: 620 .LBB204: 621 .LBI204: 1464:apps/rssi/main.c **** { 622 .loc 1 1464 13 is_stmt 1 view .LVU165 623 .LBB205: 1471:apps/rssi/main.c **** msgb_free(msg); 624 .loc 1 1471 2 view .LVU166 625 0024 14009FE5 ldr r0, .L51+4 626 .LVL48: 1471:apps/rssi/main.c **** msgb_free(msg); 627 .loc 1 1471 2 is_stmt 0 view .LVU167 628 0028 401091E5 ldr r1, [r1, #64] 629 .LVL49: 1471:apps/rssi/main.c **** msgb_free(msg); 630 .loc 1 1471 2 view .LVU168 631 002c FEFFFFEB bl printf 632 .LVL50: 1472:apps/rssi/main.c **** } 633 .loc 1 1472 2 is_stmt 1 view .LVU169 634 0030 0400A0E1 mov r0, r4 635 0034 FEFFFFEB bl msgb_free 636 .LVL51: 1472:apps/rssi/main.c **** } 637 .loc 1 1472 2 is_stmt 0 view .LVU170 638 0038 F6FFFFEA b .L47 639 .L52: 640 .align 2 641 .L51: 642 003c 55000000 .word .LC4 643 0040 72000000 .word .LC5 644 .LBE205: 645 .LBE204: 646 .cfi_endproc 647 .LFE163: 649 .section .rodata.str1.1 650 .LC6: 651 0091 6F6B00 .ascii "ok\000" 652 .LC7: 653 0094 6572726F .ascii "error\000" 653 7200 654 .section .text.l1a_l23_tx,"ax",%progbits 655 .align 2 656 .syntax unified 657 .arm 659 l1a_l23_tx: 660 .LVL52: 661 .LFB162: 1378:apps/rssi/main.c **** struct l1ctl_hdr *l1h = (struct l1ctl_hdr *) msg->l1h; 662 .loc 1 1378 1 is_stmt 1 view -0 663 .cfi_startproc 664 @ Function supports interworking. 665 @ args = 0, pretend = 0, frame = 16 666 @ frame_needed = 0, uses_anonymous_args = 0 1379:apps/rssi/main.c **** struct l1ctl_pm_conf *pmr; 667 .loc 1 1379 2 view .LVU172 1378:apps/rssi/main.c **** struct l1ctl_hdr *l1h = (struct l1ctl_hdr *) msg->l1h; 668 .loc 1 1378 1 is_stmt 0 view .LVU173 669 0000 F0432DE9 push {r4, r5, r6, r7, r8, r9, lr} 670 .LCFI12: 671 .cfi_def_cfa_offset 28 672 .cfi_offset 4, -28 673 .cfi_offset 5, -24 674 .cfi_offset 6, -20 675 .cfi_offset 7, -16 676 .cfi_offset 8, -12 677 .cfi_offset 9, -8 678 .cfi_offset 14, -4 1379:apps/rssi/main.c **** struct l1ctl_pm_conf *pmr; 679 .loc 1 1379 20 view .LVU174 680 0004 104090E5 ldr r4, [r0, #16] 681 .LVL53: 1380:apps/rssi/main.c **** struct l1ctl_info_dl *dl; 682 .loc 1 1380 2 is_stmt 1 view .LVU175 1381:apps/rssi/main.c **** struct l1ctl_fbsb_conf *sb; 683 .loc 1 1381 2 view .LVU176 1382:apps/rssi/main.c **** uint8_t chan_type, chan_ts, chan_ss; 684 .loc 1 1382 2 view .LVU177 1383:apps/rssi/main.c **** struct l1ctl_neigh_pm_ind *pm_ind; 685 .loc 1 1383 2 view .LVU178 1384:apps/rssi/main.c **** struct gsm_time tm; 686 .loc 1 1384 2 view .LVU179 1385:apps/rssi/main.c **** 687 .loc 1 1385 2 view .LVU180 1387:apps/rssi/main.c **** case L1CTL_PM_CONF: 688 .loc 1 1387 2 view .LVU181 1387:apps/rssi/main.c **** case L1CTL_PM_CONF: 689 .loc 1 1387 13 is_stmt 0 view .LVU182 690 0008 0030D4E5 ldrb r3, [r4] @ zero_extendqisi2 1387:apps/rssi/main.c **** case L1CTL_PM_CONF: 691 .loc 1 1387 2 view .LVU183 692 000c 0C0053E3 cmp r3, #12 1378:apps/rssi/main.c **** struct l1ctl_hdr *l1h = (struct l1ctl_hdr *) msg->l1h; 693 .loc 1 1378 1 view .LVU184 694 0010 0060A0E1 mov r6, r0 695 0014 14D04DE2 sub sp, sp, #20 696 .LCFI13: 697 .cfi_def_cfa_offset 48 1387:apps/rssi/main.c **** case L1CTL_PM_CONF: 698 .loc 1 1387 2 view .LVU185 699 0018 1000008A bhi .L54 700 001c 010053E3 cmp r3, #1 701 0020 1000009A bls .L55 702 0024 023043E2 sub r3, r3, #2 703 0028 0A0053E3 cmp r3, #10 704 002c 03F19F97 ldrls pc, [pc, r3, asl #2] 705 0030 0C0000EA b .L55 706 .L57: 707 0034 30010000 .word .L60 708 0038 58010000 .word .L59 709 003c 68000000 .word .L55 710 0040 68000000 .word .L55 711 0044 68000000 .word .L55 712 0048 68000000 .word .L55 713 004c 68000000 .word .L55 714 0050 74000000 .word .L58 715 0054 68000000 .word .L55 716 0058 68000000 .word .L55 717 005c CC030000 .word .L56 718 .L54: 719 0060 1B0053E3 cmp r3, #27 720 0064 B800000A beq .L61 721 .LVL54: 722 .L55: 1460:apps/rssi/main.c **** 723 .loc 1 1460 2 is_stmt 1 discriminator 1 view .LVU186 724 0068 0600A0E1 mov r0, r6 725 006c FEFFFFEB bl msgb_free 726 .LVL55: 727 0070 520000EA b .L53 728 .LVL56: 729 .L58: 1389:apps/rssi/main.c **** pmr = (struct l1ctl_pm_conf *) l1h->data; 730 .loc 1 1389 3 view .LVU187 1389:apps/rssi/main.c **** pmr = (struct l1ctl_pm_conf *) l1h->data; 731 .loc 1 1389 15 is_stmt 0 view .LVU188 732 0074 B4339FE5 ldr r3, .L129 733 0078 2020D3E5 ldrb r2, [r3, #32] @ zero_extendqisi2 1389:apps/rssi/main.c **** pmr = (struct l1ctl_pm_conf *) l1h->data; 734 .loc 1 1389 6 view .LVU189 735 007c 010052E3 cmp r2, #1 736 0080 0C00001A bne .L62 1390:apps/rssi/main.c **** pm_meas[pm_count] = pmr->pm[0]; 737 .loc 1 1390 4 is_stmt 1 view .LVU190 738 .LVL57: 1391:apps/rssi/main.c **** pm_count++; 739 .loc 1 1391 4 view .LVU191 1391:apps/rssi/main.c **** pm_count++; 740 .loc 1 1391 11 is_stmt 0 view .LVU192 741 0084 242093E5 ldr r2, [r3, #36] 1391:apps/rssi/main.c **** pm_count++; 742 .loc 1 1391 22 view .LVU193 743 0088 021183E0 add r1, r3, r2, lsl #2 1392:apps/rssi/main.c **** pm_mode = PM_RESULT; 744 .loc 1 1392 12 view .LVU194 745 008c 012082E2 add r2, r2, #1 746 0090 242083E5 str r2, [r3, #36] 1393:apps/rssi/main.c **** } 747 .loc 1 1393 12 view .LVU195 748 0094 0420A0E3 mov r2, #4 1391:apps/rssi/main.c **** pm_count++; 749 .loc 1 1391 31 view .LVU196 750 0098 0600D4E5 ldrb r0, [r4, #6] @ zero_extendqisi2 751 .LVL58: 1391:apps/rssi/main.c **** pm_count++; 752 .loc 1 1391 31 view .LVU197 753 009c 280081E5 str r0, [r1, #40] 1392:apps/rssi/main.c **** pm_mode = PM_RESULT; 754 .loc 1 1392 4 is_stmt 1 view .LVU198 1393:apps/rssi/main.c **** } 755 .loc 1 1393 4 view .LVU199 756 .LVL59: 757 .L126: 1402:apps/rssi/main.c **** } 758 .loc 1 1402 13 is_stmt 0 view .LVU200 759 00a0 2020C3E5 strb r2, [r3, #32] 760 .L63: 1404:apps/rssi/main.c **** break; 761 .loc 1 1404 3 is_stmt 1 view .LVU201 1404:apps/rssi/main.c **** break; 762 .loc 1 1404 29 is_stmt 0 view .LVU202 763 00a4 88239FE5 ldr r2, .L129+4 764 00a8 443A92E5 ldr r3, [r2, #2628] 765 00ac 7D3F83E2 add r3, r3, #500 766 00b0 443A82E5 str r3, [r2, #2628] 1405:apps/rssi/main.c **** case L1CTL_FBSB_CONF: 767 .loc 1 1405 3 is_stmt 1 view .LVU203 768 00b4 EBFFFFEA b .L55 769 .LVL60: 770 .L62: 1395:apps/rssi/main.c **** for (pmr = (struct l1ctl_pm_conf *) l1h->data; 771 .loc 1 1395 3 view .LVU204 1395:apps/rssi/main.c **** for (pmr = (struct l1ctl_pm_conf *) l1h->data; 772 .loc 1 1395 6 is_stmt 0 view .LVU205 773 00b8 020052E3 cmp r2, #2 774 00bc F8FFFF1A bne .L63 1396:apps/rssi/main.c **** (uint8_t *) pmr < msg->tail; pmr++) { 775 .loc 1 1396 4 is_stmt 1 view .LVU206 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 776 .loc 1 1398 9 is_stmt 0 view .LVU207 777 00c0 50E093E5 ldr lr, [r3, #80] 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 778 .loc 1 1398 52 view .LVU208 779 00c4 6C539FE5 ldr r5, .L129+8 1396:apps/rssi/main.c **** (uint8_t *) pmr < msg->tail; pmr++) { 780 .loc 1 1396 13 view .LVU209 781 00c8 041084E2 add r1, r4, #4 782 .LVL61: 783 .L65: 1397:apps/rssi/main.c **** if (!max || pm_spectrum[ntohs(pmr->band_arfcn) & 1023] < pmr->pm[0]) 784 .loc 1 1397 21 is_stmt 1 discriminator 1 view .LVU210 785 00cc 3C2096E5 ldr r2, [r6, #60] 786 00d0 010052E1 cmp r2, r1 787 00d4 0400008A bhi .L68 1401:apps/rssi/main.c **** pm_mode = PM_RANGE_RESULT; 788 .loc 1 1401 4 view .LVU211 1401:apps/rssi/main.c **** pm_mode = PM_RANGE_RESULT; 789 .loc 1 1401 7 is_stmt 0 view .LVU212 790 00d8 0120D4E5 ldrb r2, [r4, #1] @ zero_extendqisi2 791 00dc 010012E3 tst r2, #1 792 00e0 EFFFFF0A beq .L63 1402:apps/rssi/main.c **** } 793 .loc 1 1402 5 is_stmt 1 view .LVU213 1402:apps/rssi/main.c **** } 794 .loc 1 1402 13 is_stmt 0 view .LVU214 795 00e4 0320A0E3 mov r2, #3 796 00e8 ECFFFFEA b .L126 797 .L68: 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 798 .loc 1 1398 5 is_stmt 1 view .LVU215 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 799 .loc 1 1398 52 is_stmt 0 view .LVU216 800 00ec 0120D1E5 ldrb r2, [r1, #1] @ zero_extendqisi2 801 00f0 0000D1E5 ldrb r0, [r1] @ zero_extendqisi2 802 00f4 020480E1 orr r0, r0, r2, lsl #8 803 00f8 2024A0E1 lsr r2, r0, #8 804 00fc 002482E1 orr r2, r2, r0, lsl #8 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 805 .loc 1 1398 8 view .LVU217 806 0100 00005EE3 cmp lr, #0 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 807 .loc 1 1398 69 view .LVU218 808 0104 02C0D1E5 ldrb ip, [r1, #2] @ zero_extendqisi2 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 809 .loc 1 1398 52 view .LVU219 810 0108 052002E0 and r2, r2, r5 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 811 .loc 1 1398 8 view .LVU220 812 010c 0300000A beq .L66 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 813 .loc 1 1398 28 discriminator 1 view .LVU221 814 0110 020083E0 add r0, r3, r2 1398:apps/rssi/main.c **** pm_spectrum[ntohs(pmr->band_arfcn) & 1023] = pmr->pm[0]; 815 .loc 1 1398 14 discriminator 1 view .LVU222 816 0114 5400D0E5 ldrb r0, [r0, #84] @ zero_extendqisi2 817 0118 0C0050E1 cmp r0, ip 818 011c 0100002A bcs .L67 819 .L66: 1399:apps/rssi/main.c **** } 820 .loc 1 1399 6 is_stmt 1 view .LVU223 1399:apps/rssi/main.c **** } 821 .loc 1 1399 49 is_stmt 0 view .LVU224 822 0120 022083E0 add r2, r3, r2 823 0124 54C0C2E5 strb ip, [r2, #84] 824 .L67: 1397:apps/rssi/main.c **** if (!max || pm_spectrum[ntohs(pmr->band_arfcn) & 1023] < pmr->pm[0]) 825 .loc 1 1397 37 is_stmt 1 view .LVU225 826 0128 041081E2 add r1, r1, #4 827 .LVL62: 1397:apps/rssi/main.c **** if (!max || pm_spectrum[ntohs(pmr->band_arfcn) & 1023] < pmr->pm[0]) 828 .loc 1 1397 37 is_stmt 0 view .LVU226 829 012c E6FFFFEA b .L65 830 .LVL63: 831 .L60: 1407:apps/rssi/main.c **** sb = (struct l1ctl_fbsb_conf *) dl->payload; 832 .loc 1 1407 3 is_stmt 1 view .LVU227 1408:apps/rssi/main.c **** if (sb->result == 0) 833 .loc 1 1408 3 view .LVU228 1409:apps/rssi/main.c **** sync_result = "ok"; 834 .loc 1 1409 3 view .LVU229 1409:apps/rssi/main.c **** sync_result = "ok"; 835 .loc 1 1409 6 is_stmt 0 view .LVU230 836 0130 1210D4E5 ldrb r1, [r4, #18] @ zero_extendqisi2 1410:apps/rssi/main.c **** else 837 .loc 1 1410 16 view .LVU231 838 0134 00239FE5 ldr r2, .L129+12 839 0138 000051E3 cmp r1, #0 840 013c FC329FE5 ldr r3, .L129+16 841 0140 0230A001 moveq r3, r2 842 0144 E4229FE5 ldr r2, .L129 843 0148 543482E5 str r3, [r2, #1108] 1413:apps/rssi/main.c **** break; 844 .loc 1 1413 3 is_stmt 1 view .LVU232 1413:apps/rssi/main.c **** break; 845 .loc 1 1413 8 is_stmt 0 view .LVU233 846 014c 1330D4E5 ldrb r3, [r4, #19] @ zero_extendqisi2 847 0150 5834C2E5 strb r3, [r2, #1112] 1414:apps/rssi/main.c **** case L1CTL_DATA_IND: 848 .loc 1 1414 3 is_stmt 1 view .LVU234 849 0154 C3FFFFEA b .L55 850 .LVL64: 851 .L59: 1416:apps/rssi/main.c **** msg->l2h = dl->payload; 852 .loc 1 1416 3 view .LVU235 1417:apps/rssi/main.c **** rsl_dec_chan_nr(dl->chan_nr, &chan_type, &chan_ss, &chan_ts); 853 .loc 1 1417 3 view .LVU236 1417:apps/rssi/main.c **** rsl_dec_chan_nr(dl->chan_nr, &chan_type, &chan_ss, &chan_ts); 854 .loc 1 1417 14 is_stmt 0 view .LVU237 855 0158 103084E2 add r3, r4, #16 1417:apps/rssi/main.c **** rsl_dec_chan_nr(dl->chan_nr, &chan_type, &chan_ss, &chan_ts); 856 .loc 1 1417 12 view .LVU238 857 015c 143080E5 str r3, [r0, #20] 1418:apps/rssi/main.c **** 858 .loc 1 1418 3 is_stmt 1 view .LVU239 859 0160 03208DE2 add r2, sp, #3 860 0164 02308DE2 add r3, sp, #2 861 0168 0400D4E5 ldrb r0, [r4, #4] @ zero_extendqisi2 862 .LVL65: 1418:apps/rssi/main.c **** 863 .loc 1 1418 3 is_stmt 0 view .LVU240 864 016c 01108DE2 add r1, sp, #1 865 0170 FEFFFFEB bl rsl_dec_chan_nr 866 .LVL66: 1420:apps/rssi/main.c **** if (dl->fire_crc >= 2) { 867 .loc 1 1420 3 is_stmt 1 view .LVU241 1420:apps/rssi/main.c **** if (dl->fire_crc >= 2) { 868 .loc 1 1420 9 is_stmt 0 view .LVU242 869 0174 B4529FE5 ldr r5, .L129 870 0178 0C30D4E5 ldrb r3, [r4, #12] @ zero_extendqisi2 871 017c 5934C5E5 strb r3, [r5, #1113] 1421:apps/rssi/main.c **** if (chan_type == RSL_CHAN_BCCH) 872 .loc 1 1421 3 is_stmt 1 view .LVU243 1421:apps/rssi/main.c **** if (chan_type == RSL_CHAN_BCCH) 873 .loc 1 1421 6 is_stmt 0 view .LVU244 874 0180 0F30D4E5 ldrb r3, [r4, #15] @ zero_extendqisi2 875 0184 010053E3 cmp r3, #1 876 0188 0130DDE5 ldrb r3, [sp, #1] @ zero_extendqisi2 877 018c 0400009A bls .L71 1422:apps/rssi/main.c **** si_new = 0x1ff; /* error frame indication */ 878 .loc 1 1422 4 is_stmt 1 view .LVU245 1422:apps/rssi/main.c **** si_new = 0x1ff; /* error frame indication */ 879 .loc 1 1422 7 is_stmt 0 view .LVU246 880 0190 800053E3 cmp r3, #128 1423:apps/rssi/main.c **** break; /* free, but don't send to sercom */ 881 .loc 1 1423 12 view .LVU247 882 0194 FE3CE003 mvneq r3, #65024 883 0198 455E8502 addeq r5, r5, #1104 884 019c BA30C501 strheq r3, [r5, #10] @ movhi 885 01a0 B0FFFFEA b .L55 886 .L71: 1427:apps/rssi/main.c **** case RSL_CHAN_BCCH: 887 .loc 1 1427 3 is_stmt 1 view .LVU248 888 01a4 800053E3 cmp r3, #128 889 01a8 0700000A beq .L73 890 01ac 900053E3 cmp r3, #144 891 01b0 3200000A beq .L74 892 .LVL67: 893 .L75: 1437:apps/rssi/main.c **** return; /* msg is freed by sercom */ 894 .loc 1 1437 3 view .LVU249 895 01b4 0610A0E1 mov r1, r6 896 01b8 0500A0E3 mov r0, #5 897 01bc FEFFFFEB bl sercomm_sendmsg 898 .LVL68: 1438:apps/rssi/main.c **** case L1CTL_NEIGH_PM_IND: 899 .loc 1 1438 3 view .LVU250 900 .L53: 1462:apps/rssi/main.c **** 901 .loc 1 1462 1 is_stmt 0 view .LVU251 902 01c0 14D08DE2 add sp, sp, #20 903 .LCFI14: 904 .cfi_remember_state 905 .cfi_def_cfa_offset 28 906 @ sp needed 907 01c4 F043BDE8 pop {r4, r5, r6, r7, r8, r9, lr} 908 .LCFI15: 909 .cfi_restore 14 910 .cfi_restore 9 911 .cfi_restore 8 912 .cfi_restore 7 913 .cfi_restore 6 914 .cfi_restore 5 915 .cfi_restore 4 916 .cfi_def_cfa_offset 0 917 .LVL69: 1462:apps/rssi/main.c **** 918 .loc 1 1462 1 view .LVU252 919 01c8 1EFF2FE1 bx lr 920 .LVL70: 921 .L73: 922 .LCFI16: 923 .cfi_restore_state 1429:apps/rssi/main.c **** rx_bcch(msg); 924 .loc 1 1429 4 is_stmt 1 view .LVU253 1429:apps/rssi/main.c **** rx_bcch(msg); 925 .loc 1 1429 18 is_stmt 0 view .LVU254 926 01cc 144096E5 ldr r4, [r6, #20] 927 .LVL71: 1429:apps/rssi/main.c **** rx_bcch(msg); 928 .loc 1 1429 13 view .LVU255 929 01d0 184086E5 str r4, [r6, #24] 1430:apps/rssi/main.c **** break; 930 .loc 1 1430 4 is_stmt 1 view .LVU256 931 .LVL72: 932 .LBB236: 933 .LBI236: 1347:apps/rssi/main.c **** { 934 .loc 1 1347 13 view .LVU257 935 .LBB237: 1349:apps/rssi/main.c **** 936 .loc 1 1349 2 view .LVU258 1352:apps/rssi/main.c **** switch (sih->system_information) { 937 .loc 1 1352 2 view .LVU259 1353:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_1: 938 .loc 1 1353 2 view .LVU260 1353:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_1: 939 .loc 1 1353 13 is_stmt 0 view .LVU261 940 01d4 0230D4E5 ldrb r3, [r4, #2] @ zero_extendqisi2 1353:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_1: 941 .loc 1 1353 2 view .LVU262 942 01d8 1C0053E3 cmp r3, #28 943 01dc 455E85E2 add r5, r5, #1104 944 01e0 0500008A bhi .L76 945 01e4 180053E3 cmp r3, #24 946 01e8 0700008A bhi .L77 947 01ec 020053E3 cmp r3, #2 948 01f0 1400000A beq .L78 949 01f4 030053E3 cmp r3, #3 950 01f8 1700000A beq .L79 951 .L76: 1373:apps/rssi/main.c **** } 952 .loc 1 1373 2 is_stmt 1 view .LVU263 1373:apps/rssi/main.c **** } 953 .loc 1 1373 14 is_stmt 0 view .LVU264 954 01fc 0230D4E5 ldrb r3, [r4, #2] @ zero_extendqisi2 1373:apps/rssi/main.c **** } 955 .loc 1 1373 35 view .LVU265 956 0200 013C83E3 orr r3, r3, #256 1373:apps/rssi/main.c **** } 957 .loc 1 1373 9 view .LVU266 958 0204 BA30C5E1 strh r3, [r5, #10] @ movhi 1374:apps/rssi/main.c **** 959 .loc 1 1374 1 view .LVU267 960 0208 E9FFFFEA b .L75 961 .L77: 1374:apps/rssi/main.c **** 962 .loc 1 1374 1 view .LVU268 963 020c 3C2096E5 ldr r2, [r6, #60] 1353:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_1: 964 .loc 1 1353 2 view .LVU269 965 0210 1A3043E2 sub r3, r3, #26 1370:apps/rssi/main.c **** break; 966 .loc 1 1370 3 view .LVU270 967 0214 0410A0E1 mov r1, r4 968 0218 042042E0 sub r2, r2, r4 1353:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_1: 969 .loc 1 1353 2 view .LVU271 970 021c 020053E3 cmp r3, #2 971 0220 03F19F97 ldrls pc, [pc, r3, asl #2] 972 0224 020000EA b .L80 973 .L82: 974 0228 40020000 .word .L84 975 022c 70020000 .word .L83 976 0230 78020000 .word .L81 977 .LVL73: 978 .L80: 1355:apps/rssi/main.c **** break; 979 .loc 1 1355 3 is_stmt 1 view .LVU272 980 .LBB238: 981 .LBI238: 122:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 982 .loc 3 122 28 view .LVU273 983 .LBB239: 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 984 .loc 3 124 2 view .LVU274 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 985 .loc 3 124 2 is_stmt 0 view .LVU275 986 .LBE239: 987 .LBE238: 1355:apps/rssi/main.c **** break; 988 .loc 1 1355 3 view .LVU276 989 0234 0C0085E2 add r0, r5, #12 990 .L127: 1370:apps/rssi/main.c **** break; 991 .loc 1 1370 3 view .LVU277 992 0238 FEFFFFEB bl memcpy 993 .LVL74: 1371:apps/rssi/main.c **** } 994 .loc 1 1371 3 is_stmt 1 view .LVU278 995 023c EEFFFFEA b .L76 996 .LVL75: 997 .L84: 1358:apps/rssi/main.c **** break; 998 .loc 1 1358 3 view .LVU279 999 .LBB240: 1000 .LBI240: 122:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 1001 .loc 3 122 28 view .LVU280 1002 .LBB241: 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1003 .loc 3 124 2 view .LVU281 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1004 .loc 3 124 2 is_stmt 0 view .LVU282 1005 .LBE241: 1006 .LBE240: 1358:apps/rssi/main.c **** break; 1007 .loc 1 1358 3 view .LVU283 1008 0240 FC019FE5 ldr r0, .L129+20 1009 0244 FBFFFFEA b .L127 1010 .LVL76: 1011 .L78: 1361:apps/rssi/main.c **** break; 1012 .loc 1 1361 3 is_stmt 1 view .LVU284 1013 .LBB242: 1014 .LBI242: 122:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 1015 .loc 3 122 28 view .LVU285 1016 .LBB243: 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1017 .loc 3 124 2 view .LVU286 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1018 .loc 3 124 20 is_stmt 0 view .LVU287 1019 0248 3C2096E5 ldr r2, [r6, #60] 1020 .LBE243: 1021 .LBE242: 1361:apps/rssi/main.c **** break; 1022 .loc 1 1361 3 view .LVU288 1023 024c 0410A0E1 mov r1, r4 1024 0250 F0019FE5 ldr r0, .L129+24 1025 0254 042042E0 sub r2, r2, r4 1026 0258 F6FFFFEA b .L127 1027 .L79: 1364:apps/rssi/main.c **** break; 1028 .loc 1 1364 3 is_stmt 1 view .LVU289 1029 .LVL77: 1030 .LBB244: 1031 .LBI244: 122:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 1032 .loc 3 122 28 view .LVU290 1033 .LBB245: 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1034 .loc 3 124 2 view .LVU291 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1035 .loc 3 124 20 is_stmt 0 view .LVU292 1036 025c 3C2096E5 ldr r2, [r6, #60] 1037 .LBE245: 1038 .LBE244: 1364:apps/rssi/main.c **** break; 1039 .loc 1 1364 3 view .LVU293 1040 0260 0410A0E1 mov r1, r4 1041 0264 E0019FE5 ldr r0, .L129+28 1042 0268 042042E0 sub r2, r2, r4 1043 026c F1FFFFEA b .L127 1044 .LVL78: 1045 .L83: 1367:apps/rssi/main.c **** break; 1046 .loc 1 1367 3 is_stmt 1 view .LVU294 1047 .LBB246: 1048 .LBI246: 122:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 1049 .loc 3 122 28 view .LVU295 1050 .LBB247: 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1051 .loc 3 124 2 view .LVU296 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1052 .loc 3 124 2 is_stmt 0 view .LVU297 1053 .LBE247: 1054 .LBE246: 1367:apps/rssi/main.c **** break; 1055 .loc 1 1367 3 view .LVU298 1056 0270 D8019FE5 ldr r0, .L129+32 1057 0274 EFFFFFEA b .L127 1058 .L81: 1370:apps/rssi/main.c **** break; 1059 .loc 1 1370 3 is_stmt 1 view .LVU299 1060 .LVL79: 1061 .LBB248: 1062 .LBI248: 122:../../shared/libosmocore/include/osmocom/core/msgb.h **** { 1063 .loc 3 122 28 view .LVU300 1064 .LBB249: 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1065 .loc 3 124 2 view .LVU301 124:../../shared/libosmocore/include/osmocom/core/msgb.h **** } 1066 .loc 3 124 2 is_stmt 0 view .LVU302 1067 .LBE249: 1068 .LBE248: 1370:apps/rssi/main.c **** break; 1069 .loc 1 1370 3 view .LVU303 1070 0278 D4019FE5 ldr r0, .L129+36 1071 027c EDFFFFEA b .L127 1072 .LVL80: 1073 .L74: 1370:apps/rssi/main.c **** break; 1074 .loc 1 1370 3 view .LVU304 1075 .LBE237: 1076 .LBE236: 1433:apps/rssi/main.c **** rx_pch_agch(msg); 1077 .loc 1 1433 4 is_stmt 1 view .LVU305 1433:apps/rssi/main.c **** rx_pch_agch(msg); 1078 .loc 1 1433 18 is_stmt 0 view .LVU306 1079 0280 144096E5 ldr r4, [r6, #20] 1080 .LVL81: 1433:apps/rssi/main.c **** rx_pch_agch(msg); 1081 .loc 1 1433 13 view .LVU307 1082 0284 184086E5 str r4, [r6, #24] 1434:apps/rssi/main.c **** break; 1083 .loc 1 1434 4 is_stmt 1 view .LVU308 1084 .LBB250: 1085 .LBI250: 1327:apps/rssi/main.c **** { 1086 .loc 1 1327 13 view .LVU309 1087 .LVL82: 1088 .LBB251: 1329:apps/rssi/main.c **** 1089 .loc 1 1329 2 view .LVU310 1332:apps/rssi/main.c **** switch (sih->system_information) { 1090 .loc 1 1332 2 view .LVU311 1333:apps/rssi/main.c **** case GSM48_MT_RR_IMM_ASS: 1091 .loc 1 1333 2 view .LVU312 1333:apps/rssi/main.c **** case GSM48_MT_RR_IMM_ASS: 1092 .loc 1 1333 13 is_stmt 0 view .LVU313 1093 0288 0230D4E5 ldrb r3, [r4, #2] @ zero_extendqisi2 1333:apps/rssi/main.c **** case GSM48_MT_RR_IMM_ASS: 1094 .loc 1 1333 2 view .LVU314 1095 028c 3A0053E3 cmp r3, #58 1096 0290 2000000A beq .L85 1097 0294 3F0053E3 cmp r3, #63 1098 0298 1300000A beq .L86 1099 029c 390053E3 cmp r3, #57 1100 02a0 C3FFFF1A bne .L75 1338:apps/rssi/main.c **** break; 1101 .loc 1 1338 3 is_stmt 1 view .LVU315 1102 .LBB252: 1103 .LBI252: 1292:apps/rssi/main.c **** { 1104 .loc 1 1292 13 view .LVU316 1105 .LVL83: 1106 .LBB253: 1294:apps/rssi/main.c **** 1107 .loc 1 1294 2 view .LVU317 1296:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1108 .loc 1 1296 2 view .LVU318 1296:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1109 .loc 1 1296 6 is_stmt 0 view .LVU319 1110 02a4 070084E2 add r0, r4, #7 1111 02a8 FEFFFFEB bl gsm48_match_ra 1112 .LVL84: 1296:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1113 .loc 1 1296 5 view .LVU320 1114 02ac 000050E3 cmp r0, #0 1115 02b0 0500000A beq .L90 1297:apps/rssi/main.c **** ta = ia->timing_advance1; 1116 .loc 1 1297 3 is_stmt 1 view .LVU321 1297:apps/rssi/main.c **** ta = ia->timing_advance1; 1117 .loc 1 1297 10 is_stmt 0 view .LVU322 1118 02b4 0230A0E3 mov r3, #2 1119 02b8 E634C5E5 strb r3, [r5, #1254] 1298:apps/rssi/main.c **** rach = 0; 1120 .loc 1 1298 3 is_stmt 1 view .LVU323 1298:apps/rssi/main.c **** rach = 0; 1121 .loc 1 1298 6 is_stmt 0 view .LVU324 1122 02bc 0A30D4E5 ldrb r3, [r4, #10] @ zero_extendqisi2 1123 02c0 E734C5E5 strb r3, [r5, #1255] 1299:apps/rssi/main.c **** } 1124 .loc 1 1299 3 is_stmt 1 view .LVU325 1299:apps/rssi/main.c **** } 1125 .loc 1 1299 8 is_stmt 0 view .LVU326 1126 02c4 0030A0E3 mov r3, #0 1127 02c8 083085E5 str r3, [r5, #8] 1128 .L90: 1301:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1129 .loc 1 1301 2 is_stmt 1 view .LVU327 1301:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1130 .loc 1 1301 6 is_stmt 0 view .LVU328 1131 02cc 0E0084E2 add r0, r4, #14 1132 02d0 FEFFFFEB bl gsm48_match_ra 1133 .LVL85: 1301:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1134 .loc 1 1301 5 view .LVU329 1135 02d4 000050E3 cmp r0, #0 1136 02d8 B5FFFF0A beq .L75 1302:apps/rssi/main.c **** ta = ia->timing_advance2; 1137 .loc 1 1302 3 is_stmt 1 view .LVU330 1302:apps/rssi/main.c **** ta = ia->timing_advance2; 1138 .loc 1 1302 10 is_stmt 0 view .LVU331 1139 02dc 0230A0E3 mov r3, #2 1140 02e0 E634C5E5 strb r3, [r5, #1254] 1303:apps/rssi/main.c **** rach = 0; 1141 .loc 1 1303 3 is_stmt 1 view .LVU332 1303:apps/rssi/main.c **** rach = 0; 1142 .loc 1 1303 6 is_stmt 0 view .LVU333 1143 02e4 1130D4E5 ldrb r3, [r4, #17] @ zero_extendqisi2 1144 02e8 060000EA b .L128 1145 .LVL86: 1146 .L86: 1303:apps/rssi/main.c **** rach = 0; 1147 .loc 1 1303 6 view .LVU334 1148 .LBE253: 1149 .LBE252: 1335:apps/rssi/main.c **** break; 1150 .loc 1 1335 3 is_stmt 1 view .LVU335 1151 .LBB255: 1152 .LBI255: 1280:apps/rssi/main.c **** { 1153 .loc 1 1280 13 view .LVU336 1154 .LBB256: 1282:apps/rssi/main.c **** 1155 .loc 1 1282 2 view .LVU337 1284:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1156 .loc 1 1284 2 view .LVU338 1284:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1157 .loc 1 1284 6 is_stmt 0 view .LVU339 1158 02ec 070084E2 add r0, r4, #7 1159 02f0 FEFFFFEB bl gsm48_match_ra 1160 .LVL87: 1284:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1161 .loc 1 1284 5 view .LVU340 1162 02f4 000050E3 cmp r0, #0 1285:apps/rssi/main.c **** ta = ia->timing_advance; 1163 .loc 1 1285 10 view .LVU341 1164 02f8 0230A013 movne r3, #2 1165 02fc E634C515 strbne r3, [r5, #1254] 1286:apps/rssi/main.c **** rach = 0; 1166 .loc 1 1286 3 is_stmt 1 view .LVU342 1286:apps/rssi/main.c **** rach = 0; 1167 .loc 1 1286 6 is_stmt 0 view .LVU343 1168 0300 0A30D415 ldrbne r3, [r4, #10] @ zero_extendqisi2 1284:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1169 .loc 1 1284 5 view .LVU344 1170 0304 AAFFFF0A beq .L75 1171 .LVL88: 1172 .L128: 1284:apps/rssi/main.c **** assign = ASSIGN_RESULT; 1173 .loc 1 1284 5 view .LVU345 1174 .LBE256: 1175 .LBE255: 1176 .LBB257: 1177 .LBB254: 1303:apps/rssi/main.c **** rach = 0; 1178 .loc 1 1303 6 view .LVU346 1179 0308 E734C5E5 strb r3, [r5, #1255] 1304:apps/rssi/main.c **** } 1180 .loc 1 1304 3 is_stmt 1 view .LVU347 1304:apps/rssi/main.c **** } 1181 .loc 1 1304 8 is_stmt 0 view .LVU348 1182 030c 0030A0E3 mov r3, #0 1183 0310 083085E5 str r3, [r5, #8] 1184 0314 A6FFFFEA b .L75 1185 .L85: 1304:apps/rssi/main.c **** } 1186 .loc 1 1304 8 view .LVU349 1187 .LBE254: 1188 .LBE257: 1189 .LBB258: 1190 .LBB259: 1320:apps/rssi/main.c **** rach = 0; 1191 .loc 1 1320 11 view .LVU350 1192 0318 0380A0E3 mov r8, #3 1321:apps/rssi/main.c **** } 1193 .loc 1 1321 9 view .LVU351 1194 031c 0090A0E3 mov r9, #0 1195 0320 047084E2 add r7, r4, #4 1196 0324 144084E2 add r4, r4, #20 1197 .LVL89: 1198 .L93: 1317:apps/rssi/main.c **** (((uint8_t *)&ia->req_ref1) + i * 4); 1199 .loc 1 1317 3 is_stmt 1 view .LVU352 1319:apps/rssi/main.c **** assign = ASSIGN_REJECT; 1200 .loc 1 1319 3 view .LVU353 1319:apps/rssi/main.c **** assign = ASSIGN_REJECT; 1201 .loc 1 1319 7 is_stmt 0 view .LVU354 1202 0328 0700A0E1 mov r0, r7 1203 032c FEFFFFEB bl gsm48_match_ra 1204 .LVL90: 1315:apps/rssi/main.c **** /* request reference */ 1205 .loc 1 1315 16 view .LVU355 1206 0330 047087E2 add r7, r7, #4 1207 .LVL91: 1319:apps/rssi/main.c **** assign = ASSIGN_REJECT; 1208 .loc 1 1319 6 view .LVU356 1209 0334 000050E3 cmp r0, #0 1320:apps/rssi/main.c **** rach = 0; 1210 .loc 1 1320 4 is_stmt 1 view .LVU357 1320:apps/rssi/main.c **** rach = 0; 1211 .loc 1 1320 11 is_stmt 0 view .LVU358 1212 0338 E684C515 strbne r8, [r5, #1254] 1321:apps/rssi/main.c **** } 1213 .loc 1 1321 4 is_stmt 1 view .LVU359 1321:apps/rssi/main.c **** } 1214 .loc 1 1321 9 is_stmt 0 view .LVU360 1215 033c 08908515 strne r9, [r5, #8] 1315:apps/rssi/main.c **** /* request reference */ 1216 .loc 1 1315 22 is_stmt 1 view .LVU361 1315:apps/rssi/main.c **** /* request reference */ 1217 .loc 1 1315 16 view .LVU362 1218 0340 040057E1 cmp r7, r4 1219 0344 F7FFFF1A bne .L93 1220 0348 99FFFFEA b .L75 1221 .LVL92: 1222 .L61: 1315:apps/rssi/main.c **** /* request reference */ 1223 .loc 1 1315 16 is_stmt 0 view .LVU363 1224 .LBE259: 1225 .LBE258: 1226 .LBE251: 1227 .LBE250: 1440:apps/rssi/main.c **** (uint8_t *) pm_ind < msg->tail; pm_ind++) { 1228 .loc 1 1440 3 is_stmt 1 view .LVU364 1441:apps/rssi/main.c **** ul_levels[pm_ind->tn] = pm_ind->pm[0]; 1229 .loc 1 1441 28 is_stmt 0 view .LVU365 1230 034c 3CC090E5 ldr ip, [r0, #60] 1440:apps/rssi/main.c **** (uint8_t *) pm_ind < msg->tail; pm_ind++) { 1231 .loc 1 1440 3 view .LVU366 1232 0350 0000A0E3 mov r0, #0 1233 .LVL93: 1444:apps/rssi/main.c **** ul_max[pm_ind->tn] = ul_levels[pm_ind->tn]; 1234 .loc 1 1444 8 view .LVU367 1235 0354 D4109FE5 ldr r1, .L129 1236 0358 50E091E5 ldr lr, [r1, #80] 1440:apps/rssi/main.c **** (uint8_t *) pm_ind < msg->tail; pm_ind++) { 1237 .loc 1 1440 15 view .LVU368 1238 035c 044084E2 add r4, r4, #4 1239 .LVL94: 1240 .L95: 1441:apps/rssi/main.c **** ul_levels[pm_ind->tn] = pm_ind->pm[0]; 1241 .loc 1 1441 23 is_stmt 1 discriminator 1 view .LVU369 1242 0360 04005CE1 cmp ip, r4 1243 0364 0400008A bhi .L99 1441:apps/rssi/main.c **** ul_levels[pm_ind->tn] = pm_ind->pm[0]; 1244 .loc 1 1441 23 is_stmt 0 discriminator 1 view .LVU370 1245 0368 000050E3 cmp r0, #0 1246 036c 0120A013 movne r2, #1 1247 0370 E0309F15 ldrne r3, .L129+40 1248 0374 B820C311 strhne r2, [r3, #8] @ movhi 1249 0378 3AFFFFEA b .L55 1250 .L99: 1442:apps/rssi/main.c **** /* hold max only, if max enabled and level is lower */ 1251 .loc 1 1442 4 is_stmt 1 view .LVU371 1442:apps/rssi/main.c **** /* hold max only, if max enabled and level is lower */ 1252 .loc 1 1442 20 is_stmt 0 view .LVU372 1253 037c 0430D4E5 ldrb r3, [r4, #4] @ zero_extendqisi2 1442:apps/rssi/main.c **** /* hold max only, if max enabled and level is lower */ 1254 .loc 1 1442 38 view .LVU373 1255 0380 0220D4E5 ldrb r2, [r4, #2] @ zero_extendqisi2 1442:apps/rssi/main.c **** /* hold max only, if max enabled and level is lower */ 1256 .loc 1 1442 26 view .LVU374 1257 0384 033081E0 add r3, r1, r3 1258 0388 E824C3E5 strb r2, [r3, #1256] 1444:apps/rssi/main.c **** ul_max[pm_ind->tn] = ul_levels[pm_ind->tn]; 1259 .loc 1 1444 4 is_stmt 1 view .LVU375 1444:apps/rssi/main.c **** ul_max[pm_ind->tn] = ul_levels[pm_ind->tn]; 1260 .loc 1 1444 7 is_stmt 0 view .LVU376 1261 038c 00005EE3 cmp lr, #0 1262 0390 0430D4E5 ldrb r3, [r4, #4] @ zero_extendqisi2 1263 0394 0400000A beq .L96 1444:apps/rssi/main.c **** ul_max[pm_ind->tn] = ul_levels[pm_ind->tn]; 1264 .loc 1 1444 25 discriminator 1 view .LVU377 1265 0398 032081E0 add r2, r1, r3 1444:apps/rssi/main.c **** ul_max[pm_ind->tn] = ul_levels[pm_ind->tn]; 1266 .loc 1 1444 13 discriminator 1 view .LVU378 1267 039c E854D2E5 ldrb r5, [r2, #1256] @ zero_extendqisi2 1268 03a0 F024D2E5 ldrb r2, [r2, #1264] @ zero_extendqisi2 1269 03a4 020055E1 cmp r5, r2 1270 03a8 0200009A bls .L97 1271 .L96: 1445:apps/rssi/main.c **** if (pm_ind->tn == 7) 1272 .loc 1 1445 5 is_stmt 1 view .LVU379 1445:apps/rssi/main.c **** if (pm_ind->tn == 7) 1273 .loc 1 1445 24 is_stmt 0 view .LVU380 1274 03ac 033081E0 add r3, r1, r3 1275 03b0 E824D3E5 ldrb r2, [r3, #1256] @ zero_extendqisi2 1276 03b4 F024C3E5 strb r2, [r3, #1264] 1277 .L97: 1446:apps/rssi/main.c **** ul_new = 1; 1278 .loc 1 1446 4 is_stmt 1 view .LVU381 1446:apps/rssi/main.c **** ul_new = 1; 1279 .loc 1 1446 7 is_stmt 0 view .LVU382 1280 03b8 0430D4E5 ldrb r3, [r4, #4] @ zero_extendqisi2 1281 03bc 070053E3 cmp r3, #7 1282 03c0 0100A003 moveq r0, #1 1441:apps/rssi/main.c **** ul_levels[pm_ind->tn] = pm_ind->pm[0]; 1283 .loc 1 1441 42 is_stmt 1 view .LVU383 1284 03c4 064084E2 add r4, r4, #6 1285 .LVL95: 1441:apps/rssi/main.c **** ul_levels[pm_ind->tn] = pm_ind->pm[0]; 1286 .loc 1 1441 42 is_stmt 0 view .LVU384 1287 03c8 E4FFFFEA b .L95 1288 .LVL96: 1289 .L56: 1451:apps/rssi/main.c **** gsm_fn2gsmtime(&tm, ntohl(dl->frame_nr)); 1290 .loc 1 1451 3 is_stmt 1 view .LVU385 1452:apps/rssi/main.c **** rach_ref.t1 = tm.t1; 1291 .loc 1 1452 3 view .LVU386 1452:apps/rssi/main.c **** rach_ref.t1 = tm.t1; 1292 .loc 1 1452 23 is_stmt 0 view .LVU387 1293 03cc 0920D4E5 ldrb r2, [r4, #9] @ zero_extendqisi2 1294 03d0 0830D4E5 ldrb r3, [r4, #8] @ zero_extendqisi2 1295 03d4 023483E1 orr r3, r3, r2, lsl #8 1296 03d8 0A20D4E5 ldrb r2, [r4, #10] @ zero_extendqisi2 1297 .LBB260: 1298 .LBB261: 1299 .LBB262: 1300 .file 4 "include/asm/swab.h" 1:include/asm/swab.h **** /* 2:include/asm/swab.h **** * arch/arm/include/asm/byteorder.h 3:include/asm/swab.h **** * 4:include/asm/swab.h **** * ARM Endian-ness. In little endian mode, the data bus is connected such 5:include/asm/swab.h **** * that byte accesses appear as: 6:include/asm/swab.h **** * 0 = d0...d7, 1 = d8...d15, 2 = d16...d23, 3 = d24...d31 7:include/asm/swab.h **** * and word accesses (data or instruction) appear as: 8:include/asm/swab.h **** * d0...d31 9:include/asm/swab.h **** * 10:include/asm/swab.h **** * When in big endian mode, byte accesses appear as: 11:include/asm/swab.h **** * 0 = d24...d31, 1 = d16...d23, 2 = d8...d15, 3 = d0...d7 12:include/asm/swab.h **** * and word accesses (data or instruction) appear as: 13:include/asm/swab.h **** * d0...d31 14:include/asm/swab.h **** */ 15:include/asm/swab.h **** #ifndef __ASM_ARM_SWAB_H 16:include/asm/swab.h **** #define __ASM_ARM_SWAB_H 17:include/asm/swab.h **** 18:include/asm/swab.h **** #include 19:include/asm/swab.h **** #include 20:include/asm/swab.h **** 21:include/asm/swab.h **** static inline uint32_t __arch_swab32(uint32_t x) 22:include/asm/swab.h **** { 23:include/asm/swab.h **** uint32_t t; 24:include/asm/swab.h **** 25:include/asm/swab.h **** #ifndef __thumb__ 26:include/asm/swab.h **** if (!__builtin_constant_p(x)) { 27:include/asm/swab.h **** /* 28:include/asm/swab.h **** * The compiler needs a bit of a hint here to always do the 29:include/asm/swab.h **** * right thing and not screw it up to different degrees 30:include/asm/swab.h **** * depending on the gcc version. 31:include/asm/swab.h **** */ 32:include/asm/swab.h **** asm ("eor\t%0, %1, %1, ror #16" : "=r" (t) : "r" (x)); 33:include/asm/swab.h **** } else 34:include/asm/swab.h **** #endif 35:include/asm/swab.h **** t = x ^ ((x << 16) | (x >> 16)); /* eor r1,r0,r0,ror #16 */ 36:include/asm/swab.h **** 37:include/asm/swab.h **** x = (x << 24) | (x >> 8); /* mov r0,r0,ror #8 */ 38:include/asm/swab.h **** t &= ~0x00FF0000; /* bic r1,r1,#0x00FF0000 */ 39:include/asm/swab.h **** x ^= (t >> 8); /* eor r0,r0,r1,lsr #8 */ 1301 .loc 4 39 10 view .LVU388 1302 03dc 78109FE5 ldr r1, .L129+44 1303 .LBE262: 1304 .LBE261: 1305 .LBE260: 1452:apps/rssi/main.c **** rach_ref.t1 = tm.t1; 1306 .loc 1 1452 23 view .LVU389 1307 03e0 023883E1 orr r3, r3, r2, lsl #16 1308 03e4 0B20D4E5 ldrb r2, [r4, #11] @ zero_extendqisi2 1309 03e8 023C83E1 orr r3, r3, r2, lsl #24 1310 .LVL97: 1311 .LBB265: 1312 .LBI260: 1313 .file 5 "include/swab.h" 1:include/swab.h **** #ifndef _LINUX_SWAB_H 2:include/swab.h **** #define _LINUX_SWAB_H 3:include/swab.h **** 4:include/swab.h **** #include 5:include/swab.h **** #include 6:include/swab.h **** #include 7:include/swab.h **** 8:include/swab.h **** /* 9:include/swab.h **** * casts are necessary for constants, because we never know how for sure 10:include/swab.h **** * how U/UL/ULL map to uint16_t, uint32_t, uint64_t. At least not in a portable way. 11:include/swab.h **** */ 12:include/swab.h **** #define ___constant_swab16(x) ((uint16_t)( \ 13:include/swab.h **** (((uint16_t)(x) & (uint16_t)0x00ffU) << 8) | \ 14:include/swab.h **** (((uint16_t)(x) & (uint16_t)0xff00U) >> 8))) 15:include/swab.h **** 16:include/swab.h **** #define ___constant_swab32(x) ((uint32_t)( \ 17:include/swab.h **** (((uint32_t)(x) & (uint32_t)0x000000ffUL) << 24) | \ 18:include/swab.h **** (((uint32_t)(x) & (uint32_t)0x0000ff00UL) << 8) | \ 19:include/swab.h **** (((uint32_t)(x) & (uint32_t)0x00ff0000UL) >> 8) | \ 20:include/swab.h **** (((uint32_t)(x) & (uint32_t)0xff000000UL) >> 24))) 21:include/swab.h **** 22:include/swab.h **** #define ___constant_swab64(x) ((uint64_t)( \ 23:include/swab.h **** (((uint64_t)(x) & (uint64_t)0x00000000000000ffULL) << 56) | \ 24:include/swab.h **** (((uint64_t)(x) & (uint64_t)0x000000000000ff00ULL) << 40) | \ 25:include/swab.h **** (((uint64_t)(x) & (uint64_t)0x0000000000ff0000ULL) << 24) | \ 26:include/swab.h **** (((uint64_t)(x) & (uint64_t)0x00000000ff000000ULL) << 8) | \ 27:include/swab.h **** (((uint64_t)(x) & (uint64_t)0x000000ff00000000ULL) >> 8) | \ 28:include/swab.h **** (((uint64_t)(x) & (uint64_t)0x0000ff0000000000ULL) >> 24) | \ 29:include/swab.h **** (((uint64_t)(x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \ 30:include/swab.h **** (((uint64_t)(x) & (uint64_t)0xff00000000000000ULL) >> 56))) 31:include/swab.h **** 32:include/swab.h **** #define ___constant_swahw32(x) ((uint32_t)( \ 33:include/swab.h **** (((uint32_t)(x) & (uint32_t)0x0000ffffUL) << 16) | \ 34:include/swab.h **** (((uint32_t)(x) & (uint32_t)0xffff0000UL) >> 16))) 35:include/swab.h **** 36:include/swab.h **** #define ___constant_swahb32(x) ((uint32_t)( \ 37:include/swab.h **** (((uint32_t)(x) & (uint32_t)0x00ff00ffUL) << 8) | \ 38:include/swab.h **** (((uint32_t)(x) & (uint32_t)0xff00ff00UL) >> 8))) 39:include/swab.h **** 40:include/swab.h **** /* 41:include/swab.h **** * Implement the following as inlines, but define the interface using 42:include/swab.h **** * macros to allow constant folding when possible: 43:include/swab.h **** * ___swab16, ___swab32, ___swab64, ___swahw32, ___swahb32 44:include/swab.h **** */ 45:include/swab.h **** 46:include/swab.h **** static inline __attribute_const__ uint16_t __fswab16(uint16_t val) 47:include/swab.h **** { 48:include/swab.h **** #ifdef __arch_swab16 49:include/swab.h **** return __arch_swab16(val); 50:include/swab.h **** #else 51:include/swab.h **** return ___constant_swab16(val); 52:include/swab.h **** #endif 53:include/swab.h **** } 54:include/swab.h **** 55:include/swab.h **** static inline __attribute_const__ uint32_t __fswab32(uint32_t val) 1314 .loc 5 55 44 is_stmt 1 view .LVU390 56:include/swab.h **** { 57:include/swab.h **** #ifdef __arch_swab32 58:include/swab.h **** return __arch_swab32(val); 1315 .loc 5 58 2 view .LVU391 1316 .LBB264: 1317 .LBI261: 21:include/asm/swab.h **** { 1318 .loc 4 21 24 view .LVU392 1319 .LBB263: 23:include/asm/swab.h **** 1320 .loc 4 23 2 view .LVU393 26:include/asm/swab.h **** /* 1321 .loc 4 26 2 view .LVU394 32:include/asm/swab.h **** } else 1322 .loc 4 32 3 view .LVU395 1323 .syntax divided 1324 @ 32 "include/asm/swab.h" 1 1325 03ec 632823E0 eor r2, r3, r3, ror #16 1326 @ 0 "" 2 1327 .LVL98: 37:include/asm/swab.h **** t &= ~0x00FF0000; /* bic r1,r1,#0x00FF0000 */ 1328 .loc 4 37 2 view .LVU396 38:include/asm/swab.h **** x ^= (t >> 8); /* eor r0,r0,r1,lsr #8 */ 1329 .loc 4 38 2 view .LVU397 1330 .loc 4 39 2 view .LVU398 40:include/asm/swab.h **** 41:include/asm/swab.h **** return x; 1331 .loc 4 41 2 view .LVU399 39:include/asm/swab.h **** 1332 .loc 4 39 10 is_stmt 0 view .LVU400 1333 .arm 1334 .syntax unified 1335 03f0 221401E0 and r1, r1, r2, lsr #8 1336 .LBE263: 1337 .LBE264: 1338 .LBE265: 1452:apps/rssi/main.c **** rach_ref.t1 = tm.t1; 1339 .loc 1 1452 3 view .LVU401 1340 03f4 631421E0 eor r1, r1, r3, ror #8 1341 03f8 04008DE2 add r0, sp, #4 1342 .LVL99: 1452:apps/rssi/main.c **** rach_ref.t1 = tm.t1; 1343 .loc 1 1452 3 view .LVU402 1344 03fc FEFFFFEB bl gsm_fn2gsmtime 1345 .LVL100: 1453:apps/rssi/main.c **** rach_ref.t2 = tm.t2; 1346 .loc 1 1453 3 is_stmt 1 view .LVU403 1454:apps/rssi/main.c **** rach_ref.t3_low = tm.t3 & 0x7; 1347 .loc 1 1454 3 view .LVU404 1455:apps/rssi/main.c **** rach_ref.t3_high = tm.t3 >> 3; 1348 .loc 1 1455 23 is_stmt 0 view .LVU405 1349 0400 0B00DDE5 ldrb r0, [sp, #11] @ zero_extendqisi2 1454:apps/rssi/main.c **** rach_ref.t3_low = tm.t3 & 0x7; 1350 .loc 1 1454 19 view .LVU406 1351 0404 0A30DDE5 ldrb r3, [sp, #10] @ zero_extendqisi2 1455:apps/rssi/main.c **** rach_ref.t3_high = tm.t3 >> 3; 1352 .loc 1 1455 3 is_stmt 1 view .LVU407 1456:apps/rssi/main.c **** break; 1353 .loc 1 1456 3 view .LVU408 1456:apps/rssi/main.c **** break; 1354 .loc 1 1456 20 is_stmt 0 view .LVU409 1355 0408 B8C0DDE1 ldrh ip, [sp, #8] 1456:apps/rssi/main.c **** break; 1356 .loc 1 1456 28 view .LVU410 1357 040c A021A0E1 lsr r2, r0, #3 1456:apps/rssi/main.c **** break; 1358 .loc 1 1456 20 view .LVU411 1359 0410 18109FE5 ldr r1, .L129 1360 0414 072002E2 and r2, r2, #7 1454:apps/rssi/main.c **** rach_ref.t3_low = tm.t3 & 0x7; 1361 .loc 1 1454 15 view .LVU412 1362 0418 1F3003E2 and r3, r3, #31 1456:apps/rssi/main.c **** break; 1363 .loc 1 1456 20 view .LVU413 1364 041c 8C2182E1 orr r2, r2, ip, lsl #3 1454:apps/rssi/main.c **** rach_ref.t3_low = tm.t3 & 0x7; 1365 .loc 1 1454 15 view .LVU414 1366 0420 803283E1 orr r3, r3, r0, lsl #5 1456:apps/rssi/main.c **** break; 1367 .loc 1 1456 20 view .LVU415 1368 0424 0E20C1E5 strb r2, [r1, #14] 1454:apps/rssi/main.c **** rach_ref.t3_low = tm.t3 & 0x7; 1369 .loc 1 1454 15 view .LVU416 1370 0428 0F30C1E5 strb r3, [r1, #15] 1457:apps/rssi/main.c **** } 1371 .loc 1 1457 3 is_stmt 1 view .LVU417 1372 042c 0DFFFFEA b .L55 1373 .L130: 1374 .align 2 1375 .L129: 1376 0430 00000000 .word .LANCHOR0 1377 0434 00000000 .word l1s 1378 0438 FF030000 .word 1023 1379 043c 91000000 .word .LC6 1380 0440 94000000 .word .LC7 1381 0444 73040000 .word .LANCHOR0+1139 1382 0448 8A040000 .word .LANCHOR0+1162 1383 044c A1040000 .word .LANCHOR0+1185 1384 0450 B8040000 .word .LANCHOR0+1208 1385 0454 CF040000 .word .LANCHOR0+1231 1386 0458 F0040000 .word .LANCHOR0+1264 1387 045c FF00FF00 .word 16711935 1388 .cfi_endproc 1389 .LFE162: 1391 .section .text.fb_putstr.isra.0,"ax",%progbits 1392 .align 2 1393 .syntax unified 1394 .arm 1396 fb_putstr.isra.0: 1397 .LVL101: 1398 .LFB176: 63:include/fb/framebuffer.h **** } 64:include/fb/framebuffer.h **** 65:include/fb/framebuffer.h **** static inline void 66:include/fb/framebuffer.h **** fb_lineto(uint16_t x,uint16_t y){ 67:include/fb/framebuffer.h **** framebuffer->lineto(x,y); 68:include/fb/framebuffer.h **** } 69:include/fb/framebuffer.h **** 70:include/fb/framebuffer.h **** static inline void 71:include/fb/framebuffer.h **** fb_set_p(uint16_t x,uint16_t y){ 72:include/fb/framebuffer.h **** framebuffer->set_p(x,y); 73:include/fb/framebuffer.h **** } 74:include/fb/framebuffer.h **** 75:include/fb/framebuffer.h **** static inline int 76:include/fb/framebuffer.h **** fb_putstr(char *str,int maxwidth){ 1399 .loc 2 76 1 view -0 1400 .cfi_startproc 1401 @ Function supports interworking. 1402 @ args = 0, pretend = 0, frame = 0 1403 @ frame_needed = 0, uses_anonymous_args = 0 1404 @ link register save eliminated. 77:include/fb/framebuffer.h **** return framebuffer->putstr(str,maxwidth); 1405 .loc 2 77 2 view .LVU419 1406 .loc 2 77 20 is_stmt 0 view .LVU420 1407 0000 08309FE5 ldr r3, .L132 1408 0004 003093E5 ldr r3, [r3] 1409 .loc 2 77 9 view .LVU421 1410 0008 1C3093E5 ldr r3, [r3, #28] 1411 000c 13FF2FE1 bx r3 1412 .LVL102: 1413 .L133: 1414 .loc 2 77 9 view .LVU422 1415 .align 2 1416 .L132: 1417 0010 00000000 .word framebuffer 1418 .cfi_endproc 1419 .LFE176: 1421 .section .text.print_display,"ax",%progbits 1422 .align 2 1423 .syntax unified 1424 .arm 1426 print_display: 1427 .LVL103: 1428 .LFB132: 155:apps/rssi/main.c **** /* skip lines, given by cursor */ 1429 .loc 1 155 1 is_stmt 1 view -0 1430 .cfi_startproc 1431 @ Function supports interworking. 1432 @ args = 0, pretend = 0, frame = 0 1433 @ frame_needed = 0, uses_anonymous_args = 0 1434 @ link register save eliminated. 157:apps/rssi/main.c **** if (c >= (*y)) 1435 .loc 1 157 2 view .LVU424 157:apps/rssi/main.c **** if (c >= (*y)) 1436 .loc 1 157 6 is_stmt 0 view .LVU425 1437 0000 003091E5 ldr r3, [r1] 1438 0004 013083E2 add r3, r3, #1 158:apps/rssi/main.c **** return; 1439 .loc 1 158 5 view .LVU426 1440 0008 020053E1 cmp r3, r2 157:apps/rssi/main.c **** if (c >= (*y)) 1441 .loc 1 157 6 view .LVU427 1442 000c 003081E5 str r3, [r1] 158:apps/rssi/main.c **** return; 1443 .loc 1 158 2 is_stmt 1 view .LVU428 158:apps/rssi/main.c **** return; 1444 .loc 1 158 5 is_stmt 0 view .LVU429 1445 0010 1EFF2FD1 bxle lr 161:apps/rssi/main.c **** return; 1446 .loc 1 161 2 is_stmt 1 view .LVU430 161:apps/rssi/main.c **** return; 1447 .loc 1 161 17 is_stmt 0 view .LVU431 1448 0014 34109FE5 ldr r1, .L136 1449 .LVL104: 161:apps/rssi/main.c **** return; 1450 .loc 1 161 17 view .LVU432 1451 0018 001091E5 ldr r1, [r1] 1452 001c B6C2D1E1 ldrh ip, [r1, #38] 161:apps/rssi/main.c **** return; 1453 .loc 1 161 11 view .LVU433 1454 0020 023043E0 sub r3, r3, r2 161:apps/rssi/main.c **** return; 1455 .loc 1 161 17 view .LVU434 1456 0024 19205CE2 subs r2, ip, #25 1457 .LVL105: 161:apps/rssi/main.c **** return; 1458 .loc 1 161 17 view .LVU435 1459 0028 12204C42 submi r2, ip, #18 161:apps/rssi/main.c **** return; 1460 .loc 1 161 5 view .LVU436 1461 002c C20153E1 cmp r3, r2, asr #3 1462 0030 1EFF2FC1 bxgt lr 164:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 1463 .loc 1 164 2 is_stmt 1 view .LVU437 1464 .LVL106: 1465 .LBB266: 1466 .LBI266: 78:include/fb/framebuffer.h **** } 79:include/fb/framebuffer.h **** 80:include/fb/framebuffer.h **** static inline void 81:include/fb/framebuffer.h **** fb_flush(){ 82:include/fb/framebuffer.h **** framebuffer->flush(); 83:include/fb/framebuffer.h **** } 84:include/fb/framebuffer.h **** 85:include/fb/framebuffer.h **** static inline void 86:include/fb/framebuffer.h **** fb_gotoxy(uint16_t x,uint16_t y){ 1467 .loc 2 86 1 view .LVU438 1468 .LBB267: 87:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 1469 .loc 2 87 2 view .LVU439 1470 .loc 2 87 24 is_stmt 0 view .LVU440 1471 0034 0020A0E3 mov r2, #0 1472 .LBE267: 1473 .LBE266: 164:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 1474 .loc 1 164 36 view .LVU441 1475 0038 8331A0E1 lsl r3, r3, #3 164:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 1476 .loc 1 164 2 view .LVU442 1477 003c 0C3083E2 add r3, r3, #12 1478 .LBB269: 1479 .LBB268: 1480 .loc 2 87 24 view .LVU443 1481 0040 B822C1E1 strh r2, [r1, #40] @ movhi 88:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1482 .loc 2 88 2 is_stmt 1 view .LVU444 1483 .loc 2 88 24 is_stmt 0 view .LVU445 1484 0044 BA32C1E1 strh r3, [r1, #42] @ movhi 1485 .LVL107: 1486 .loc 2 88 24 view .LVU446 1487 .LBE268: 1488 .LBE269: 165:apps/rssi/main.c **** } 1489 .loc 1 165 2 is_stmt 1 view .LVU447 1490 0048 B412D1E1 ldrh r1, [r1, #36] 1491 004c FEFFFFEA b fb_putstr.isra.0 1492 .LVL108: 1493 .L137: 165:apps/rssi/main.c **** } 1494 .loc 1 165 2 is_stmt 0 view .LVU448 1495 .align 2 1496 .L136: 1497 0050 00000000 .word framebuffer 1498 .cfi_endproc 1499 .LFE132: 1501 .section .rodata.str1.1 1502 .LC8: 1503 009a 64656C20 .ascii "del \000" 1503 00 1504 .LC9: 1505 009f 656E7465 .ascii "enter\000" 1505 7200 1506 .LC10: 1507 00a5 6261636B .ascii "back\000" 1507 00 1508 .LC11: 1509 00aa 20202020 .ascii " \000" 1509 2000 1510 .LC12: 1511 00b0 554C00 .ascii "UL\000" 1512 .LC13: 1513 00b3 444C00 .ascii "DL\000" 1514 .LC14: 1515 00b6 50435300 .ascii "PCS\000" 1516 .LC15: 1517 00ba 44435300 .ascii "DCS\000" 1518 .LC16: 1519 00be 4F736D6F .ascii "Osmocom RSSI\000" 1519 636F6D20 1519 52535349 1519 00 1520 .LC17: 1521 00cb 40484842 .ascii "@HHBC\000" 1521 4300 1522 .LC18: 1523 00d1 40256325 .ascii "@%c%c%cC\000" 1523 63256343 1523 00 1524 .LC19: 1525 00da 25632563 .ascii "%c%cE%c%c\000" 1525 45256325 1525 6300 1526 .LC20: 1527 00e4 52616368 .ascii "Rach sent...\000" 1527 2073656E 1527 742E2E2E 1527 00 1528 .LC21: 1529 00f1 5441203D .ascii "TA = %d\000" 1529 20256400 1530 .LC22: 1531 00f9 2825646D .ascii "(%dm)\000" 1531 2900 1532 .LC23: 1533 00ff 52656A65 .ascii "Rejected!\000" 1533 63746564 1533 2100 1534 .LC24: 1535 0109 54582064 .ascii "TX disabled\000" 1535 69736162 1535 6C656400 1536 .LC25: 1537 0115 54696D65 .ascii "Timeout\000" 1537 6F757400 1538 .LC26: 1539 011d 44656C61 .ascii "Delay:%ldms\000" 1539 793A256C 1539 646D7300 1540 .LC27: 1541 0129 25303264 .ascii "%02d\000" 1541 00 1542 .LC28: 1543 012e 6D617800 .ascii "max\000" 1544 .LC29: 1545 0132 25346450 .ascii "%4dP\000" 1545 00 1546 .LC30: 1547 0137 25346444 .ascii "%4dD\000" 1547 00 1548 .LC31: 1549 013c 25346420 .ascii "%4d \000" 1549 00 1550 .LC32: 1551 0141 42534943 .ascii "BSIC%d/%d %4d\000" 1551 25642F25 1551 64202534 1551 6400 1552 .LC33: 1553 014f 53796E63 .ascii "Sync %s\000" 1553 20257300 1554 .LC34: 1555 0157 4D434320 .ascii "MCC MNC LAC \000" 1555 4D4E4320 1555 4C414320 1555 00 1556 .LC35: 1557 0164 25337820 .ascii "%3x %02x %04x\000" 1557 25303278 1557 20202530 1557 347800 1558 .LC36: 1559 0173 25337820 .ascii "%3x %03x %04x\000" 1559 25303378 1559 20253034 1559 7800 1560 .LC37: 1561 0181 2D2D2D20 .ascii "--- --- ----\000" 1561 2D2D2D20 1561 2D2D2D2D 1561 00 1562 .LC38: 1563 018e 63656C6C .ascii "cell id:%04x\000" 1563 2069643A 1563 25303478 1563 00 1564 .LC39: 1565 019b 63656C6C .ascii "cell id:----\000" 1565 2069643A 1565 2D2D2D2D 1565 00 1566 .LC40: 1567 01a8 533A2025 .ascii "S: %4d\000" 1567 346400 1568 .LC41: 1569 01af 20253464 .ascii " %4d\000" 1569 00 1570 .LC42: 1571 01b4 4E3A2025 .ascii "N: %4d\000" 1571 346400 1572 .LC43: 1573 01bb 41524643 .ascii "ARFCN %s\000" 1573 4E202573 1573 00 1574 .LC44: 1575 01c4 41524643 .ascii "ARFCN %dPCS\000" 1575 4E202564 1575 50435300 1576 .LC45: 1577 01d0 41524643 .ascii "ARFCN %dDCS\000" 1577 4E202564 1577 44435300 1578 .LC46: 1579 01dc 41524643 .ascii "ARFCN %d\000" 1579 4E202564 1579 00 1580 .LC47: 1581 01e5 2000 .ascii " \000" 1582 .global __aeabi_idivmod 1583 .LC48: 1584 01e7 46726571 .ascii "Freq. %d.%d\000" 1584 2E202564 1584 2E256400 1585 .LC49: 1586 01f3 506F7765 .ascii "Power %d\000" 1586 72202564 1586 00 1587 .LC50: 1588 01fc 20202025 .ascii " %4d\000" 1588 346400 1589 .LC51: 1590 0203 78256400 .ascii "x%d\000" 1591 .LC52: 1592 0207 25732020 .ascii "%s %s\000" 1592 20257300 1593 .LC53: 1594 020f 25732020 .ascii "%s %s\000" 1594 20202020 1594 257300 1595 .LC54: 1596 021a 25732020 .ascii "%s \000" 1596 20202020 1596 202000 1597 .LC55: 1598 0225 25732020 .ascii "%s %s\000" 1598 20202020 1598 20257300 1599 .LC56: 1600 0231 256400 .ascii "%d\000" 1601 .section .text.refresh_display,"ax",%progbits 1602 .align 2 1603 .syntax unified 1604 .arm 1606 refresh_display: 1607 .LFB133: 169:apps/rssi/main.c **** char text[32]; 1608 .loc 1 169 1 is_stmt 1 view -0 1609 .cfi_startproc 1610 @ Function supports interworking. 1611 @ args = 0, pretend = 0, frame = 48 1612 @ frame_needed = 0, uses_anonymous_args = 0 170:apps/rssi/main.c **** int bat = battery_info.battery_percent; 1613 .loc 1 170 2 view .LVU450 171:apps/rssi/main.c **** 1614 .loc 1 171 2 view .LVU451 169:apps/rssi/main.c **** char text[32]; 1615 .loc 1 169 1 is_stmt 0 view .LVU452 1616 0000 F04F2DE9 push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 1617 .LCFI17: 1618 .cfi_def_cfa_offset 36 1619 .cfi_offset 4, -36 1620 .cfi_offset 5, -32 1621 .cfi_offset 6, -28 1622 .cfi_offset 7, -24 1623 .cfi_offset 8, -20 1624 .cfi_offset 9, -16 1625 .cfi_offset 10, -12 1626 .cfi_offset 11, -8 1627 .cfi_offset 14, -4 1628 .LBB421: 1629 .LBB422: 57:include/fb/framebuffer.h **** } 1630 .loc 2 57 13 view .LVU453 1631 0004 D45E9FE5 ldr r5, .L325 1632 0008 003095E5 ldr r3, [r5] 1633 .LBE422: 1634 .LBE421: 171:apps/rssi/main.c **** 1635 .loc 1 171 6 view .LVU454 1636 000c D07E9FE5 ldr r7, .L325+4 1637 .LBB425: 1638 .LBB423: 57:include/fb/framebuffer.h **** } 1639 .loc 2 57 2 view .LVU455 1640 0010 0C3093E5 ldr r3, [r3, #12] 1641 .LBE423: 1642 .LBE425: 169:apps/rssi/main.c **** char text[32]; 1643 .loc 1 169 1 view .LVU456 1644 0014 3CD04DE2 sub sp, sp, #60 1645 .LCFI18: 1646 .cfi_def_cfa_offset 96 171:apps/rssi/main.c **** 1647 .loc 1 171 6 view .LVU457 1648 0018 106097E5 ldr r6, [r7, #16] 1649 .LVL109: 173:apps/rssi/main.c **** 1650 .loc 1 173 2 is_stmt 1 view .LVU458 1651 .LBB426: 1652 .LBI421: 56:include/fb/framebuffer.h **** framebuffer->clear(); 1653 .loc 2 56 1 view .LVU459 1654 .LBB424: 57:include/fb/framebuffer.h **** } 1655 .loc 2 57 2 view .LVU460 1656 001c 0FE0A0E1 mov lr, pc 1657 0020 13FF2FE1 bx r3 1658 .LVL110: 1659 .LBE424: 1660 .LBE426: 176:apps/rssi/main.c **** if (mode != MODE_SPECTRUM && !(mode == MODE_SYNC && cursor < 0)) { 1661 .loc 1 176 2 view .LVU461 1662 .LBB427: 1663 .LBI427: 89:include/fb/framebuffer.h **** } 90:include/fb/framebuffer.h **** 91:include/fb/framebuffer.h **** static inline void 92:include/fb/framebuffer.h **** fb_setfg(uint32_t color){ 93:include/fb/framebuffer.h **** framebuffer->fg_color = color; 94:include/fb/framebuffer.h **** } 95:include/fb/framebuffer.h **** 96:include/fb/framebuffer.h **** static inline void 97:include/fb/framebuffer.h **** fb_setbg(uint32_t color){ 1664 .loc 2 97 1 view .LVU462 1665 .LBB428: 98:include/fb/framebuffer.h **** framebuffer->bg_color = color; 1666 .loc 2 98 2 view .LVU463 1667 .loc 2 98 24 is_stmt 0 view .LVU464 1668 0024 FF24E0E3 mvn r2, #-16777216 1669 .loc 2 98 13 view .LVU465 1670 0028 003095E5 ldr r3, [r5] 1671 .LBE428: 1672 .LBE427: 177:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLUE); 1673 .loc 1 177 11 view .LVU466 1674 002c B44E9FE5 ldr r4, .L325+8 1675 .LBB430: 1676 .LBB429: 1677 .loc 2 98 24 view .LVU467 1678 0030 302083E5 str r2, [r3, #48] 1679 .LVL111: 1680 .loc 2 98 24 view .LVU468 1681 .LBE429: 1682 .LBE430: 177:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLUE); 1683 .loc 1 177 2 is_stmt 1 view .LVU469 177:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLUE); 1684 .loc 1 177 11 is_stmt 0 view .LVU470 1685 0034 FA24D4E5 ldrb r2, [r4, #1274] @ zero_extendqisi2 177:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLUE); 1686 .loc 1 177 5 view .LVU471 1687 0038 010052E3 cmp r2, #1 1688 003c 6000000A beq .L139 177:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLUE); 1689 .loc 1 177 28 discriminator 1 view .LVU472 1690 0040 030052E3 cmp r2, #3 1691 0044 0200001A bne .L140 177:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLUE); 1692 .loc 1 177 31 discriminator 2 view .LVU473 1693 0048 FC2494E5 ldr r2, [r4, #1276] 1694 004c 000052E3 cmp r2, #0 1695 0050 5B0000BA blt .L139 1696 .L140: 178:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 1697 .loc 1 178 3 is_stmt 1 view .LVU474 1698 .LVL112: 1699 .LBB431: 1700 .LBI431: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 1701 .loc 2 92 1 view .LVU475 1702 .LBB432: 93:include/fb/framebuffer.h **** } 1703 .loc 2 93 2 view .LVU476 93:include/fb/framebuffer.h **** } 1704 .loc 2 93 2 is_stmt 0 view .LVU477 1705 .LBE432: 1706 .LBE431: 179:apps/rssi/main.c **** fb_gotoxy(0, 7); 1707 .loc 1 179 3 is_stmt 1 view .LVU478 1708 .LBB435: 1709 .LBI435: 99:include/fb/framebuffer.h **** } 100:include/fb/framebuffer.h **** 101:include/fb/framebuffer.h **** static inline void 102:include/fb/framebuffer.h **** fb_setfont(enum fb_font_id fid){ 1710 .loc 2 102 1 view .LVU479 1711 .LBB436: 103:include/fb/framebuffer.h **** framebuffer->font = fid; 1712 .loc 2 103 2 view .LVU480 1713 .loc 2 103 20 is_stmt 0 view .LVU481 1714 0054 0020A0E3 mov r2, #0 1715 0058 3420C3E5 strb r2, [r3, #52] 1716 .LVL113: 1717 .loc 2 103 20 view .LVU482 1718 .LBE436: 1719 .LBE435: 180:apps/rssi/main.c **** fb_putstr("Osmocom RSSI", -1); 1720 .loc 1 180 3 is_stmt 1 view .LVU483 1721 .LBB437: 1722 .LBI437: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 1723 .loc 2 86 1 view .LVU484 1724 .LBB438: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1725 .loc 2 87 2 view .LVU485 88:include/fb/framebuffer.h **** } 1726 .loc 2 88 2 view .LVU486 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1727 .loc 2 87 24 is_stmt 0 view .LVU487 1728 005c 0728A0E3 mov r2, #458752 1729 0060 282083E5 str r2, [r3, #40] 1730 .LBE438: 1731 .LBE437: 1732 .LBB439: 1733 .LBB433: 93:include/fb/framebuffer.h **** } 1734 .loc 2 93 24 view .LVU488 1735 0064 FF20A0E3 mov r2, #255 1736 .LBE433: 1737 .LBE439: 181:apps/rssi/main.c **** fb_setfg(FB_COLOR_RGB(0xc0, 0xc0, 0x00)); 1738 .loc 1 181 3 view .LVU489 1739 0068 0010E0E3 mvn r1, #0 1740 .LBB440: 1741 .LBB434: 93:include/fb/framebuffer.h **** } 1742 .loc 2 93 24 view .LVU490 1743 006c 2C2083E5 str r2, [r3, #44] 1744 .LVL114: 93:include/fb/framebuffer.h **** } 1745 .loc 2 93 24 view .LVU491 1746 .LBE434: 1747 .LBE440: 181:apps/rssi/main.c **** fb_setfg(FB_COLOR_RGB(0xc0, 0xc0, 0x00)); 1748 .loc 1 181 3 is_stmt 1 view .LVU492 1749 0070 740E9FE5 ldr r0, .L325+12 1750 0074 FEFFFFEB bl fb_putstr.isra.0 1751 .LVL115: 182:apps/rssi/main.c **** fb_setfont(FB_FONT_SYMBOLS); 1752 .loc 1 182 3 view .LVU493 1753 .LBB441: 1754 .LBI441: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 1755 .loc 2 92 1 view .LVU494 1756 .LBB442: 93:include/fb/framebuffer.h **** } 1757 .loc 2 93 2 view .LVU495 93:include/fb/framebuffer.h **** } 1758 .loc 2 93 13 is_stmt 0 view .LVU496 1759 0078 003095E5 ldr r3, [r5] 93:include/fb/framebuffer.h **** } 1760 .loc 2 93 24 view .LVU497 1761 007c 6C2E9FE5 ldr r2, .L325+16 1762 0080 2C2083E5 str r2, [r3, #44] 1763 .LVL116: 93:include/fb/framebuffer.h **** } 1764 .loc 2 93 24 view .LVU498 1765 .LBE442: 1766 .LBE441: 183:apps/rssi/main.c **** fb_gotoxy(framebuffer->width - 15, 8); 1767 .loc 1 183 3 is_stmt 1 view .LVU499 1768 .LBB443: 1769 .LBI443: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 1770 .loc 2 102 1 view .LVU500 1771 .LBB444: 1772 .loc 2 103 2 view .LVU501 1773 .loc 2 103 20 is_stmt 0 view .LVU502 1774 0084 0320A0E3 mov r2, #3 1775 .LBE444: 1776 .LBE443: 184:apps/rssi/main.c **** if (bat >= 100 && (battery_info.flags & BATTERY_CHG_ENABLED) 1777 .loc 1 184 24 view .LVU503 1778 0088 B412D3E1 ldrh r1, [r3, #36] 1779 .LBB446: 1780 .LBB445: 1781 .loc 2 103 20 view .LVU504 1782 008c 3420C3E5 strb r2, [r3, #52] 1783 .LVL117: 1784 .loc 2 103 20 view .LVU505 1785 .LBE445: 1786 .LBE446: 184:apps/rssi/main.c **** if (bat >= 100 && (battery_info.flags & BATTERY_CHG_ENABLED) 1787 .loc 1 184 3 is_stmt 1 view .LVU506 1788 .LBB447: 1789 .LBI447: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 1790 .loc 2 86 1 view .LVU507 1791 .LBB448: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1792 .loc 2 87 2 view .LVU508 1793 .LBE448: 1794 .LBE447: 184:apps/rssi/main.c **** if (bat >= 100 && (battery_info.flags & BATTERY_CHG_ENABLED) 1795 .loc 1 184 3 is_stmt 0 view .LVU509 1796 0090 0F2041E2 sub r2, r1, #15 1797 .LBB451: 1798 .LBB449: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1799 .loc 2 87 24 view .LVU510 1800 0094 B822C3E1 strh r2, [r3, #40] @ movhi 88:include/fb/framebuffer.h **** } 1801 .loc 2 88 2 is_stmt 1 view .LVU511 88:include/fb/framebuffer.h **** } 1802 .loc 2 88 24 is_stmt 0 view .LVU512 1803 0098 0820A0E3 mov r2, #8 1804 .LBE449: 1805 .LBE451: 185:apps/rssi/main.c **** && !(battery_info.flags & BATTERY_CHARGING)) 1806 .loc 1 185 6 view .LVU513 1807 009c 630056E3 cmp r6, #99 1808 .LBB452: 1809 .LBB450: 88:include/fb/framebuffer.h **** } 1810 .loc 2 88 24 view .LVU514 1811 00a0 BA22C3E1 strh r2, [r3, #42] @ movhi 1812 .LVL118: 88:include/fb/framebuffer.h **** } 1813 .loc 2 88 24 view .LVU515 1814 .LBE450: 1815 .LBE452: 185:apps/rssi/main.c **** && !(battery_info.flags & BATTERY_CHARGING)) 1816 .loc 1 185 3 is_stmt 1 view .LVU516 185:apps/rssi/main.c **** && !(battery_info.flags & BATTERY_CHARGING)) 1817 .loc 1 185 6 is_stmt 0 view .LVU517 1818 00a4 070000DA ble .L141 186:apps/rssi/main.c **** fb_putstr("@HHBC", framebuffer->width); 1819 .loc 1 186 4 view .LVU518 1820 00a8 0030D7E5 ldrb r3, [r7] @ zero_extendqisi2 1821 00ac 063003E2 and r3, r3, #6 1822 00b0 020053E3 cmp r3, #2 187:apps/rssi/main.c **** else { 1823 .loc 1 187 4 view .LVU519 1824 00b4 380E9F05 ldreq r0, .L325+20 186:apps/rssi/main.c **** fb_putstr("@HHBC", framebuffer->width); 1825 .loc 1 186 4 view .LVU520 1826 00b8 1600000A beq .L313 189:apps/rssi/main.c **** (bat >= 60) ? 'B':'A', (bat >= 90) ? 'B':'A'); 1827 .loc 1 189 4 view .LVU521 1828 00bc 4230A0E3 mov r3, #66 1829 00c0 0320A0E1 mov r2, r3 1830 00c4 0B0000EA b .L312 1831 .L141: 189:apps/rssi/main.c **** (bat >= 60) ? 'B':'A', (bat >= 90) ? 'B':'A'); 1832 .loc 1 189 4 is_stmt 1 view .LVU522 1833 00c8 1D0056E3 cmp r6, #29 1834 00cc 4130A0D3 movle r3, #65 1835 00d0 0320A0D1 movle r2, r3 1836 00d4 200000DA ble .L238 189:apps/rssi/main.c **** (bat >= 60) ? 'B':'A', (bat >= 90) ? 'B':'A'); 1837 .loc 1 189 4 is_stmt 0 discriminator 4 view .LVU523 1838 00d8 3B0056E3 cmp r6, #59 1839 00dc 4130A0D3 movle r3, #65 1840 00e0 4220A0D3 movle r2, #66 1841 00e4 1C0000DA ble .L238 189:apps/rssi/main.c **** (bat >= 60) ? 'B':'A', (bat >= 90) ? 'B':'A'); 1842 .loc 1 189 4 discriminator 8 view .LVU524 1843 00e8 4230A0E3 mov r3, #66 1844 00ec 590056E3 cmp r6, #89 1845 00f0 0320A0E1 mov r2, r3 1846 00f4 180000DA ble .L238 1847 .L312: 189:apps/rssi/main.c **** (bat >= 60) ? 'B':'A', (bat >= 90) ? 'B':'A'); 1848 .loc 1 189 4 view .LVU525 1849 00f8 0310A0E1 mov r1, r3 1850 .L142: 189:apps/rssi/main.c **** (bat >= 60) ? 'B':'A', (bat >= 90) ? 'B':'A'); 1851 .loc 1 189 4 discriminator 12 view .LVU526 1852 00fc 00108DE5 str r1, [sp] 1853 0100 18008DE2 add r0, sp, #24 1854 0104 EC1D9FE5 ldr r1, .L325+24 1855 0108 FEFFFFEB bl sprintf 1856 .LVL119: 191:apps/rssi/main.c **** } 1857 .loc 1 191 4 is_stmt 1 discriminator 12 view .LVU527 191:apps/rssi/main.c **** } 1858 .loc 1 191 31 is_stmt 0 discriminator 12 view .LVU528 1859 010c 003095E5 ldr r3, [r5] 191:apps/rssi/main.c **** } 1860 .loc 1 191 4 discriminator 12 view .LVU529 1861 0110 B412D3E1 ldrh r1, [r3, #36] 1862 0114 18008DE2 add r0, sp, #24 1863 .L313: 1864 0118 FEFFFFEB bl fb_putstr.isra.0 1865 .LVL120: 193:apps/rssi/main.c **** sprintf(text, "%c%cE%c%c", (power >= 40) ? 'D':'G', 1866 .loc 1 193 3 is_stmt 1 discriminator 12 view .LVU530 1867 .LBB453: 1868 .LBI453: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 1869 .loc 2 86 1 discriminator 12 view .LVU531 1870 .LBB454: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1871 .loc 2 87 2 discriminator 12 view .LVU532 88:include/fb/framebuffer.h **** } 1872 .loc 2 88 2 discriminator 12 view .LVU533 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1873 .loc 2 87 24 is_stmt 0 discriminator 12 view .LVU534 1874 011c 0227A0E3 mov r2, #524288 1875 0120 003095E5 ldr r3, [r5] 1876 0124 282083E5 str r2, [r3, #40] 1877 .LVL121: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1878 .loc 2 87 24 discriminator 12 view .LVU535 1879 .LBE454: 1880 .LBE453: 194:apps/rssi/main.c **** (power >= 10) ? 'D':'G', (power >= 10) ? 'F':'G', 1881 .loc 1 194 3 is_stmt 1 discriminator 12 view .LVU536 194:apps/rssi/main.c **** (power >= 10) ? 'D':'G', (power >= 10) ? 'F':'G', 1882 .loc 1 194 37 is_stmt 0 discriminator 12 view .LVU537 1883 0128 5934D4E5 ldrb r3, [r4, #1113] @ zero_extendqisi2 194:apps/rssi/main.c **** (power >= 10) ? 'D':'G', (power >= 10) ? 'F':'G', 1884 .loc 1 194 3 discriminator 12 view .LVU538 1885 012c 270053E3 cmp r3, #39 1886 0130 0B00008A bhi .L239 194:apps/rssi/main.c **** (power >= 10) ? 'D':'G', (power >= 10) ? 'F':'G', 1887 .loc 1 194 3 view .LVU539 1888 0134 090053E3 cmp r3, #9 1889 0138 4710A093 movls r1, #71 1890 013c 0130A091 movls r3, r1 1891 0140 0120A091 movls r2, r1 1892 0144 0900009A bls .L314 1893 0148 4720A0E3 mov r2, #71 1894 014c 4610A0E3 mov r1, #70 1895 0150 4430A0E3 mov r3, #68 1896 0154 0200A0E1 mov r0, r2 1897 0158 050000EA b .L144 1898 .L238: 189:apps/rssi/main.c **** (bat >= 60) ? 'B':'A', (bat >= 90) ? 'B':'A'); 1899 .loc 1 189 4 view .LVU540 1900 015c 4110A0E3 mov r1, #65 1901 0160 E5FFFFEA b .L142 1902 .L239: 194:apps/rssi/main.c **** (power >= 10) ? 'D':'G', (power >= 10) ? 'F':'G', 1903 .loc 1 194 3 view .LVU541 1904 0164 4430A0E3 mov r3, #68 1905 0168 4610A0E3 mov r1, #70 1906 016c 0320A0E1 mov r2, r3 1907 .L314: 1908 0170 0100A0E1 mov r0, r1 1909 .L144: 194:apps/rssi/main.c **** (power >= 10) ? 'D':'G', (power >= 10) ? 'F':'G', 1910 .loc 1 194 3 discriminator 16 view .LVU542 1911 0174 04008DE5 str r0, [sp, #4] 1912 0178 00108DE5 str r1, [sp] 1913 017c 18008DE2 add r0, sp, #24 1914 0180 741D9FE5 ldr r1, .L325+28 1915 0184 FEFFFFEB bl sprintf 1916 .LVL122: 197:apps/rssi/main.c **** fb_setfg(FB_COLOR_GREEN); 1917 .loc 1 197 3 is_stmt 1 discriminator 16 view .LVU543 197:apps/rssi/main.c **** fb_setfg(FB_COLOR_GREEN); 1918 .loc 1 197 30 is_stmt 0 discriminator 16 view .LVU544 1919 0188 003095E5 ldr r3, [r5] 197:apps/rssi/main.c **** fb_setfg(FB_COLOR_GREEN); 1920 .loc 1 197 3 discriminator 16 view .LVU545 1921 018c 18008DE2 add r0, sp, #24 1922 0190 B412D3E1 ldrh r1, [r3, #36] 1923 0194 FEFFFFEB bl fb_putstr.isra.0 1924 .LVL123: 198:apps/rssi/main.c **** fb_gotoxy(0, 10); 1925 .loc 1 198 3 is_stmt 1 discriminator 16 view .LVU546 1926 .LBB455: 1927 .LBI455: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 1928 .loc 2 92 1 discriminator 16 view .LVU547 1929 .LBB456: 93:include/fb/framebuffer.h **** } 1930 .loc 2 93 2 discriminator 16 view .LVU548 1931 .LBE456: 1932 .LBE455: 1933 .LBB460: 1934 .LBB461: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1935 .loc 2 87 24 is_stmt 0 discriminator 16 view .LVU549 1936 0198 0A28A0E3 mov r2, #655360 1937 .LBE461: 1938 .LBE460: 1939 .LBB463: 1940 .LBB457: 93:include/fb/framebuffer.h **** } 1941 .loc 2 93 13 discriminator 16 view .LVU550 1942 019c 003095E5 ldr r3, [r5] 1943 .LVL124: 93:include/fb/framebuffer.h **** } 1944 .loc 2 93 13 discriminator 16 view .LVU551 1945 .LBE457: 1946 .LBE463: 199:apps/rssi/main.c **** fb_boxto(framebuffer->width - 1, 10); 1947 .loc 1 199 3 is_stmt 1 discriminator 16 view .LVU552 1948 .LBB464: 1949 .LBI460: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 1950 .loc 2 86 1 discriminator 16 view .LVU553 1951 .LBB462: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1952 .loc 2 87 2 discriminator 16 view .LVU554 88:include/fb/framebuffer.h **** } 1953 .loc 2 88 2 discriminator 16 view .LVU555 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 1954 .loc 2 87 24 is_stmt 0 discriminator 16 view .LVU556 1955 01a0 282083E5 str r2, [r3, #40] 1956 .LBE462: 1957 .LBE464: 1958 .LBB465: 1959 .LBB458: 93:include/fb/framebuffer.h **** } 1960 .loc 2 93 24 discriminator 16 view .LVU557 1961 01a4 FF2CA0E3 mov r2, #65280 1962 .LBE458: 1963 .LBE465: 200:apps/rssi/main.c **** } 1964 .loc 1 200 3 discriminator 16 view .LVU558 1965 01a8 B402D3E1 ldrh r0, [r3, #36] 1966 01ac 010040E2 sub r0, r0, #1 1967 01b0 0008A0E1 lsl r0, r0, #16 1968 01b4 0A10A0E3 mov r1, #10 1969 .LBB466: 1970 .LBB459: 93:include/fb/framebuffer.h **** } 1971 .loc 2 93 24 discriminator 16 view .LVU559 1972 01b8 2C2083E5 str r2, [r3, #44] 1973 .LVL125: 93:include/fb/framebuffer.h **** } 1974 .loc 2 93 24 discriminator 16 view .LVU560 1975 .LBE459: 1976 .LBE466: 200:apps/rssi/main.c **** } 1977 .loc 1 200 3 is_stmt 1 discriminator 16 view .LVU561 1978 01bc 2008A0E1 lsr r0, r0, #16 1979 01c0 FEFFFFEB bl fb_boxto 1980 .LVL126: 1981 .L139: 202:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 1982 .loc 1 202 2 view .LVU562 1983 .LBB467: 1984 .LBI467: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 1985 .loc 2 92 1 view .LVU563 1986 .LBB468: 93:include/fb/framebuffer.h **** } 1987 .loc 2 93 2 view .LVU564 93:include/fb/framebuffer.h **** } 1988 .loc 2 93 24 is_stmt 0 view .LVU565 1989 01c4 0020A0E3 mov r2, #0 93:include/fb/framebuffer.h **** } 1990 .loc 2 93 13 view .LVU566 1991 01c8 003095E5 ldr r3, [r5] 93:include/fb/framebuffer.h **** } 1992 .loc 2 93 24 view .LVU567 1993 01cc 2C2083E5 str r2, [r3, #44] 1994 .LVL127: 93:include/fb/framebuffer.h **** } 1995 .loc 2 93 24 view .LVU568 1996 .LBE468: 1997 .LBE467: 203:apps/rssi/main.c **** 1998 .loc 1 203 2 is_stmt 1 view .LVU569 1999 .LBB469: 2000 .LBI469: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 2001 .loc 2 102 1 view .LVU570 2002 .LBB470: 2003 .loc 2 103 2 view .LVU571 2004 .loc 2 103 20 is_stmt 0 view .LVU572 2005 01d0 0220A0E3 mov r2, #2 2006 01d4 3420C3E5 strb r2, [r3, #52] 2007 .LVL128: 2008 .loc 2 103 20 view .LVU573 2009 .LBE470: 2010 .LBE469: 206:apps/rssi/main.c **** unsigned long elapsed = jiffies - rach_when; 2011 .loc 1 206 2 is_stmt 1 view .LVU574 206:apps/rssi/main.c **** unsigned long elapsed = jiffies - rach_when; 2012 .loc 1 206 5 is_stmt 0 view .LVU575 2013 01d8 FA24D4E5 ldrb r2, [r4, #1274] @ zero_extendqisi2 2014 01dc 040052E3 cmp r2, #4 2015 01e0 2300001A bne .L146 2016 .LBB471: 207:apps/rssi/main.c **** 2017 .loc 1 207 3 is_stmt 1 view .LVU576 207:apps/rssi/main.c **** 2018 .loc 1 207 35 is_stmt 0 view .LVU577 2019 01e4 142D9FE5 ldr r2, .L325+32 2020 01e8 006092E5 ldr r6, [r2] 2021 .LVL129: 2022 .LBB472: 2023 .LBB473: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2024 .loc 2 87 24 view .LVU578 2025 01ec 0727A0E3 mov r2, #1835008 2026 01f0 282083E5 str r2, [r3, #40] 2027 .LBE473: 2028 .LBE472: 210:apps/rssi/main.c **** case ASSIGN_NONE: 2029 .loc 1 210 3 view .LVU579 2030 01f4 E634D4E5 ldrb r3, [r4, #1254] @ zero_extendqisi2 207:apps/rssi/main.c **** 2031 .loc 1 207 35 view .LVU580 2032 01f8 007594E5 ldr r7, [r4, #1280] 2033 .LVL130: 209:apps/rssi/main.c **** switch (assign) { 2034 .loc 1 209 3 is_stmt 1 view .LVU581 2035 .LBB475: 2036 .LBI472: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 2037 .loc 2 86 1 view .LVU582 2038 .LBB474: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2039 .loc 2 87 2 view .LVU583 88:include/fb/framebuffer.h **** } 2040 .loc 2 88 2 view .LVU584 88:include/fb/framebuffer.h **** } 2041 .loc 2 88 2 is_stmt 0 view .LVU585 2042 .LBE474: 2043 .LBE475: 210:apps/rssi/main.c **** case ASSIGN_NONE: 2044 .loc 1 210 3 is_stmt 1 view .LVU586 2045 01fc 040053E3 cmp r3, #4 2046 0200 03F19F97 ldrls pc, [pc, r3, asl #2] 2047 0204 070000EA b .L147 2048 .L149: 2049 0208 1C020000 .word .L153 2050 020c DC030000 .word .L152 2051 0210 84030000 .word .L151 2052 0214 D0030000 .word .L150 2053 0218 E8030000 .word .L148 2054 .L153: 212:apps/rssi/main.c **** break; 2055 .loc 1 212 4 view .LVU587 2056 021c 0010E0E3 mvn r1, #0 2057 0220 DC0C9FE5 ldr r0, .L325+36 2058 .L315: 228:apps/rssi/main.c **** break; 2059 .loc 1 228 4 is_stmt 0 view .LVU588 2060 0224 FEFFFFEB bl fb_putstr.isra.0 2061 .LVL131: 229:apps/rssi/main.c **** } 2062 .loc 1 229 4 is_stmt 1 view .LVU589 2063 .L147: 231:apps/rssi/main.c **** case ASSIGN_RESULT: 2064 .loc 1 231 3 view .LVU590 2065 0228 E634D4E5 ldrb r3, [r4, #1254] @ zero_extendqisi2 2066 022c 023043E2 sub r3, r3, #2 2067 0230 010053E3 cmp r3, #1 2068 0234 0E00008A bhi .L146 234:apps/rssi/main.c **** sprintf(text, "Delay:%ldms", elapsed * 1000 / HZ); 2069 .loc 1 234 4 view .LVU591 2070 .LVL132: 2071 .LBB476: 2072 .LBI476: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 2073 .loc 2 86 1 view .LVU592 2074 .LBB477: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2075 .loc 2 87 2 view .LVU593 88:include/fb/framebuffer.h **** } 2076 .loc 2 88 2 view .LVU594 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2077 .loc 2 87 24 is_stmt 0 view .LVU595 2078 0238 0B27A0E3 mov r2, #2883584 2079 023c 003095E5 ldr r3, [r5] 2080 0240 282083E5 str r2, [r3, #40] 2081 .LVL133: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2082 .loc 2 87 24 view .LVU596 2083 .LBE477: 2084 .LBE476: 235:apps/rssi/main.c **** fb_putstr(text, -1); 2085 .loc 1 235 4 is_stmt 1 view .LVU597 235:apps/rssi/main.c **** fb_putstr(text, -1); 2086 .loc 1 235 41 is_stmt 0 view .LVU598 2087 0244 FA2FA0E3 mov r2, #1000 207:apps/rssi/main.c **** 2088 .loc 1 207 17 view .LVU599 2089 0248 073046E0 sub r3, r6, r7 235:apps/rssi/main.c **** fb_putstr(text, -1); 2090 .loc 1 235 41 view .LVU600 2091 024c 920303E0 mul r3, r2, r3 235:apps/rssi/main.c **** fb_putstr(text, -1); 2092 .loc 1 235 4 view .LVU601 2093 0250 B01C9FE5 ldr r1, .L325+40 2094 0254 930182E0 umull r0, r2, r3, r1 2095 0258 AC1C9FE5 ldr r1, .L325+44 2096 025c A222A0E1 lsr r2, r2, #5 2097 0260 18008DE2 add r0, sp, #24 2098 0264 FEFFFFEB bl sprintf 2099 .LVL134: 236:apps/rssi/main.c **** break; 2100 .loc 1 236 4 is_stmt 1 view .LVU602 2101 0268 0010E0E3 mvn r1, #0 2102 026c 18008DE2 add r0, sp, #24 2103 0270 FEFFFFEB bl fb_putstr.isra.0 2104 .LVL135: 237:apps/rssi/main.c **** default: 2105 .loc 1 237 4 view .LVU603 2106 .L146: 237:apps/rssi/main.c **** default: 2107 .loc 1 237 4 is_stmt 0 view .LVU604 2108 .LBE471: 244:apps/rssi/main.c **** int i, tn, l; 2109 .loc 1 244 2 is_stmt 1 view .LVU605 244:apps/rssi/main.c **** int i, tn, l; 2110 .loc 1 244 5 is_stmt 0 view .LVU606 2111 0274 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 2112 0278 030053E3 cmp r3, #3 2113 027c E700001A bne .L234 244:apps/rssi/main.c **** int i, tn, l; 2114 .loc 1 244 24 discriminator 1 view .LVU607 2115 0280 FC3494E5 ldr r3, [r4, #1276] 2116 0284 000053E3 cmp r3, #0 2117 0288 590000BA blt .L156 2118 .L169: 292:apps/rssi/main.c **** fb_gotoxy(0, 20); 2119 .loc 1 292 24 view .LVU608 2120 028c FC3494E5 ldr r3, [r4, #1276] 2121 0290 000053E3 cmp r3, #0 2122 0294 1602000A beq .L157 2123 .L158: 337:apps/rssi/main.c **** int i, y = 0; 2124 .loc 1 337 24 view .LVU609 2125 0298 FC3494E5 ldr r3, [r4, #1276] 2126 029c 000053E3 cmp r3, #0 2127 02a0 DE0000DA ble .L234 2128 .LBB480: 338:apps/rssi/main.c **** 2129 .loc 1 338 3 is_stmt 1 view .LVU610 338:apps/rssi/main.c **** 2130 .loc 1 338 10 is_stmt 0 view .LVU611 2131 02a4 0060A0E3 mov r6, #0 2132 02a8 607C9FE5 ldr r7, .L325+48 340:apps/rssi/main.c **** for (i = 0; i < 1024; i++) { 2133 .loc 1 340 11 view .LVU612 2134 02ac 0780A0E1 mov r8, r7 338:apps/rssi/main.c **** 2135 .loc 1 338 10 view .LVU613 2136 02b0 14608DE5 str r6, [sp, #20] 340:apps/rssi/main.c **** for (i = 0; i < 1024; i++) { 2137 .loc 1 340 3 is_stmt 1 view .LVU614 340:apps/rssi/main.c **** for (i = 0; i < 1024; i++) { 2138 .loc 1 340 11 is_stmt 0 view .LVU615 2139 02b4 1860CDE5 strb r6, [sp, #24] 341:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_SERV) { 2140 .loc 1 341 3 is_stmt 1 view .LVU616 2141 .LVL136: 341:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_SERV) { 2142 .loc 1 341 17 view .LVU617 346:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 2143 .loc 1 346 6 is_stmt 0 view .LVU618 2144 02b8 549C9FE5 ldr r9, .L325+52 344:apps/rssi/main.c **** else { 2145 .loc 1 344 6 view .LVU619 2146 02bc 54AC9FE5 ldr r10, .L325+56 2147 .LVL137: 2148 .L188: 342:apps/rssi/main.c **** if (!text[0]) 2149 .loc 1 342 4 is_stmt 1 view .LVU620 342:apps/rssi/main.c **** if (!text[0]) 2150 .loc 1 342 15 is_stmt 0 view .LVU621 2151 02c0 0130D8E4 ldrb r3, [r8], #1 @ zero_extendqisi2 342:apps/rssi/main.c **** if (!text[0]) 2152 .loc 1 342 7 view .LVU622 2153 02c4 010013E3 tst r3, #1 2154 02c8 0600000A beq .L186 343:apps/rssi/main.c **** sprintf(text, "S: %4d", i); 2155 .loc 1 343 5 is_stmt 1 view .LVU623 343:apps/rssi/main.c **** sprintf(text, "S: %4d", i); 2156 .loc 1 343 8 is_stmt 0 view .LVU624 2157 02cc 1830DDE5 ldrb r3, [sp, #24] @ zero_extendqisi2 2158 02d0 000053E3 cmp r3, #0 344:apps/rssi/main.c **** else { 2159 .loc 1 344 6 view .LVU625 2160 02d4 0620A0E1 mov r2, r6 343:apps/rssi/main.c **** sprintf(text, "S: %4d", i); 2161 .loc 1 343 8 view .LVU626 2162 02d8 7D02001A bne .L187 344:apps/rssi/main.c **** else { 2163 .loc 1 344 6 is_stmt 1 view .LVU627 2164 02dc 0A10A0E1 mov r1, r10 2165 02e0 18008DE2 add r0, sp, #24 2166 02e4 FEFFFFEB bl sprintf 2167 .LVL138: 2168 .L186: 341:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_SERV) { 2169 .loc 1 341 26 discriminator 2 view .LVU628 2170 02e8 016086E2 add r6, r6, #1 2171 .LVL139: 341:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_SERV) { 2172 .loc 1 341 17 discriminator 2 view .LVU629 2173 02ec 010B56E3 cmp r6, #1024 2174 02f0 F2FFFF1A bne .L188 352:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 2175 .loc 1 352 3 view .LVU630 352:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 2176 .loc 1 352 6 is_stmt 0 view .LVU631 2177 02f4 1830DDE5 ldrb r3, [sp, #24] @ zero_extendqisi2 2178 02f8 000053E3 cmp r3, #0 2179 02fc 0400000A beq .L189 353:apps/rssi/main.c **** text[0] = '\0'; 2180 .loc 1 353 4 is_stmt 1 view .LVU632 2181 0300 FC2494E5 ldr r2, [r4, #1276] 2182 0304 14108DE2 add r1, sp, #20 2183 0308 012042E2 sub r2, r2, #1 2184 030c 18008DE2 add r0, sp, #24 2185 0310 FEFFFFEB bl print_display 2186 .LVL140: 2187 .L189: 354:apps/rssi/main.c **** for (i = 0; i < 1024; i++) { 2188 .loc 1 354 3 view .LVU633 354:apps/rssi/main.c **** for (i = 0; i < 1024; i++) { 2189 .loc 1 354 11 is_stmt 0 view .LVU634 2190 0314 0060A0E3 mov r6, #0 2191 .LVL141: 360:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 2192 .loc 1 360 6 view .LVU635 2193 0318 F48B9FE5 ldr r8, .L325+52 354:apps/rssi/main.c **** for (i = 0; i < 1024; i++) { 2194 .loc 1 354 11 view .LVU636 2195 031c 1860CDE5 strb r6, [sp, #24] 355:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_NCELL) { 2196 .loc 1 355 3 is_stmt 1 view .LVU637 2197 .LVL142: 355:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_NCELL) { 2198 .loc 1 355 17 view .LVU638 358:apps/rssi/main.c **** else { 2199 .loc 1 358 6 is_stmt 0 view .LVU639 2200 0320 F49B9FE5 ldr r9, .L325+60 2201 .LVL143: 2202 .L192: 356:apps/rssi/main.c **** if (!text[0]) 2203 .loc 1 356 4 is_stmt 1 view .LVU640 356:apps/rssi/main.c **** if (!text[0]) 2204 .loc 1 356 15 is_stmt 0 view .LVU641 2205 0324 0130D7E4 ldrb r3, [r7], #1 @ zero_extendqisi2 356:apps/rssi/main.c **** if (!text[0]) 2206 .loc 1 356 7 view .LVU642 2207 0328 1C0013E3 tst r3, #28 2208 032c 0600000A beq .L190 357:apps/rssi/main.c **** sprintf(text, "N: %4d", i); 2209 .loc 1 357 5 is_stmt 1 view .LVU643 357:apps/rssi/main.c **** sprintf(text, "N: %4d", i); 2210 .loc 1 357 8 is_stmt 0 view .LVU644 2211 0330 1830DDE5 ldrb r3, [sp, #24] @ zero_extendqisi2 2212 0334 000053E3 cmp r3, #0 358:apps/rssi/main.c **** else { 2213 .loc 1 358 6 view .LVU645 2214 0338 0620A0E1 mov r2, r6 357:apps/rssi/main.c **** sprintf(text, "N: %4d", i); 2215 .loc 1 357 8 view .LVU646 2216 033c 6F02001A bne .L191 358:apps/rssi/main.c **** else { 2217 .loc 1 358 6 is_stmt 1 view .LVU647 2218 0340 0910A0E1 mov r1, r9 2219 0344 18008DE2 add r0, sp, #24 2220 0348 FEFFFFEB bl sprintf 2221 .LVL144: 2222 .L190: 355:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_NCELL) { 2223 .loc 1 355 26 discriminator 2 view .LVU648 2224 034c 016086E2 add r6, r6, #1 2225 .LVL145: 355:apps/rssi/main.c **** if (freq[i].mask & FREQ_TYPE_NCELL) { 2226 .loc 1 355 17 discriminator 2 view .LVU649 2227 0350 010B56E3 cmp r6, #1024 2228 0354 F2FFFF1A bne .L192 366:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 2229 .loc 1 366 3 view .LVU650 366:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 2230 .loc 1 366 6 is_stmt 0 view .LVU651 2231 0358 1830DDE5 ldrb r3, [sp, #24] @ zero_extendqisi2 2232 035c 000053E3 cmp r3, #0 2233 0360 0400000A beq .L193 367:apps/rssi/main.c **** nb_num = y; 2234 .loc 1 367 4 is_stmt 1 view .LVU652 2235 0364 FC2494E5 ldr r2, [r4, #1276] 2236 0368 14108DE2 add r1, sp, #20 2237 036c 012042E2 sub r2, r2, #1 2238 0370 18008DE2 add r0, sp, #24 2239 0374 FEFFFFEB bl print_display 2240 .LVL146: 2241 .L193: 368:apps/rssi/main.c **** } 2242 .loc 1 368 3 view .LVU653 368:apps/rssi/main.c **** } 2243 .loc 1 368 10 is_stmt 0 view .LVU654 2244 0378 14309DE5 ldr r3, [sp, #20] 2245 037c 103984E5 str r3, [r4, #2320] 2246 0380 A60000EA b .L234 2247 .LVL147: 2248 .L151: 368:apps/rssi/main.c **** } 2249 .loc 1 368 10 view .LVU655 2250 .LBE480: 2251 .LBB481: 215:apps/rssi/main.c **** fb_putstr(text, -1); 2252 .loc 1 215 4 is_stmt 1 view .LVU656 2253 0384 E724D4E5 ldrb r2, [r4, #1255] @ zero_extendqisi2 2254 0388 901B9FE5 ldr r1, .L325+64 2255 038c 18008DE2 add r0, sp, #24 2256 0390 FEFFFFEB bl sprintf 2257 .LVL148: 216:apps/rssi/main.c **** fb_gotoxy(0,36); 2258 .loc 1 216 4 view .LVU657 2259 0394 0010E0E3 mvn r1, #0 2260 0398 18008DE2 add r0, sp, #24 2261 039c FEFFFFEB bl fb_putstr.isra.0 2262 .LVL149: 217:apps/rssi/main.c **** sprintf(text, "(%dm)", ta * 554); 2263 .loc 1 217 4 view .LVU658 2264 .LBB478: 2265 .LBI478: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 2266 .loc 2 86 1 view .LVU659 2267 .LBB479: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2268 .loc 2 87 2 view .LVU660 88:include/fb/framebuffer.h **** } 2269 .loc 2 88 2 view .LVU661 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2270 .loc 2 87 24 is_stmt 0 view .LVU662 2271 03a0 0927A0E3 mov r2, #2359296 2272 03a4 003095E5 ldr r3, [r5] 2273 03a8 282083E5 str r2, [r3, #40] 2274 .LVL150: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2275 .loc 2 87 24 view .LVU663 2276 .LBE479: 2277 .LBE478: 218:apps/rssi/main.c **** fb_putstr(text, -1); 2278 .loc 1 218 4 is_stmt 1 view .LVU664 2279 03ac E734D4E5 ldrb r3, [r4, #1255] @ zero_extendqisi2 2280 03b0 6C2B9FE5 ldr r2, .L325+68 2281 03b4 6C1B9FE5 ldr r1, .L325+72 2282 03b8 930202E0 mul r2, r3, r2 2283 03bc 18008DE2 add r0, sp, #24 2284 03c0 FEFFFFEB bl sprintf 2285 .LVL151: 219:apps/rssi/main.c **** break; 2286 .loc 1 219 4 view .LVU665 2287 03c4 0010E0E3 mvn r1, #0 2288 03c8 18008DE2 add r0, sp, #24 2289 03cc 94FFFFEA b .L315 2290 .L150: 222:apps/rssi/main.c **** break; 2291 .loc 1 222 4 view .LVU666 2292 03d0 0010E0E3 mvn r1, #0 2293 03d4 500B9FE5 ldr r0, .L325+76 2294 03d8 91FFFFEA b .L315 2295 .L152: 225:apps/rssi/main.c **** break; 2296 .loc 1 225 4 view .LVU667 2297 03dc 0010E0E3 mvn r1, #0 2298 03e0 480B9FE5 ldr r0, .L325+80 2299 03e4 8EFFFFEA b .L315 2300 .L148: 228:apps/rssi/main.c **** break; 2301 .loc 1 228 4 view .LVU668 2302 03e8 0010E0E3 mvn r1, #0 2303 03ec 400B9FE5 ldr r0, .L325+84 2304 03f0 8BFFFFEA b .L315 2305 .LVL152: 2306 .L156: 228:apps/rssi/main.c **** break; 2307 .loc 1 228 4 is_stmt 0 view .LVU669 2308 .LBE481: 2309 .LBB482: 245:apps/rssi/main.c **** int offset = (framebuffer->width - 96) >> 1; 2310 .loc 1 245 3 is_stmt 1 view .LVU670 246:apps/rssi/main.c **** int height = framebuffer->height - 25; 2311 .loc 1 246 3 view .LVU671 2312 .LBB483: 2313 .LBB484: 2314 .loc 2 103 20 is_stmt 0 view .LVU672 2315 03f4 0080A0E3 mov r8, #0 2316 .LBE484: 2317 .LBE483: 2318 .LBB487: 2319 .LBB488: 98:include/fb/framebuffer.h **** } 2320 .loc 2 98 24 view .LVU673 2321 03f8 FFA4E0E3 mvn r10, #-16777216 2322 .LBE488: 2323 .LBE487: 246:apps/rssi/main.c **** int height = framebuffer->height - 25; 2324 .loc 1 246 28 view .LVU674 2325 03fc 003095E5 ldr r3, [r5] 2326 0400 B462D3E1 ldrh r6, [r3, #36] 247:apps/rssi/main.c **** 2327 .loc 1 247 27 view .LVU675 2328 0404 B672D3E1 ldrh r7, [r3, #38] 246:apps/rssi/main.c **** int height = framebuffer->height - 25; 2329 .loc 1 246 36 view .LVU676 2330 0408 606046E2 sub r6, r6, #96 246:apps/rssi/main.c **** int height = framebuffer->height - 25; 2331 .loc 1 246 7 view .LVU677 2332 040c C660A0E1 asr r6, r6, #1 2333 .LVL153: 247:apps/rssi/main.c **** 2334 .loc 1 247 3 is_stmt 1 view .LVU678 247:apps/rssi/main.c **** 2335 .loc 1 247 7 is_stmt 0 view .LVU679 2336 0410 199047E2 sub r9, r7, #25 2337 .LVL154: 249:apps/rssi/main.c **** for (i = 0; i < 8; i++) { 2338 .loc 1 249 3 is_stmt 1 view .LVU680 2339 .LBB492: 2340 .LBI483: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 2341 .loc 2 102 1 view .LVU681 2342 .LBB485: 2343 .loc 2 103 2 view .LVU682 2344 .LBE485: 2345 .LBE492: 264:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_levels[tn] * height / 64); 2346 .loc 1 264 4 is_stmt 0 view .LVU683 2347 0414 0F7047E2 sub r7, r7, #15 2348 0418 0668A0E1 lsl r6, r6, #16 2349 .LVL155: 264:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_levels[tn] * height / 64); 2350 .loc 1 264 4 view .LVU684 2351 041c 0778A0E1 lsl r7, r7, #16 2352 .LBB493: 2353 .LBB486: 2354 .loc 2 103 20 view .LVU685 2355 0420 3480C3E5 strb r8, [r3, #52] 2356 .LVL156: 2357 .loc 2 103 20 view .LVU686 2358 .LBE486: 2359 .LBE493: 250:apps/rssi/main.c **** if (uplink) 2360 .loc 1 250 3 is_stmt 1 view .LVU687 250:apps/rssi/main.c **** if (uplink) 2361 .loc 1 250 17 view .LVU688 2362 0424 2668A0E1 lsr r6, r6, #16 264:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_levels[tn] * height / 64); 2363 .loc 1 264 4 is_stmt 0 view .LVU689 2364 0428 2778A0E1 lsr r7, r7, #16 2365 .LVL157: 2366 .L164: 251:apps/rssi/main.c **** tn = (i + 3) & 7; /* UL is shifted by 3 */ 2367 .loc 1 251 4 is_stmt 1 view .LVU690 251:apps/rssi/main.c **** tn = (i + 3) & 7; /* UL is shifted by 3 */ 2368 .loc 1 251 7 is_stmt 0 view .LVU691 2369 042c 043094E5 ldr r3, [r4, #4] 2370 .LBB494: 2371 .LBB495: 88:include/fb/framebuffer.h **** } 2372 .loc 2 88 24 view .LVU692 2373 0430 0710A0E3 mov r1, #7 2374 .LBE495: 2375 .LBE494: 251:apps/rssi/main.c **** tn = (i + 3) & 7; /* UL is shifted by 3 */ 2376 .loc 1 251 7 view .LVU693 2377 0434 000053E3 cmp r3, #0 252:apps/rssi/main.c **** else 2378 .loc 1 252 5 is_stmt 1 view .LVU694 2379 0438 0830A001 moveq r3, r8 2380 .LBB499: 2381 .LBB489: 98:include/fb/framebuffer.h **** } 2382 .loc 2 98 13 is_stmt 0 view .LVU695 2383 043c 002095E5 ldr r2, [r5] 2384 .LBE489: 2385 .LBE499: 252:apps/rssi/main.c **** else 2386 .loc 1 252 8 view .LVU696 2387 0440 03308812 addne r3, r8, #3 2388 .LBB500: 2389 .LBB496: 88:include/fb/framebuffer.h **** } 2390 .loc 2 88 24 view .LVU697 2391 0444 BA12C2E1 strh r1, [r2, #42] @ movhi 2392 .LBE496: 2393 .LBE500: 2394 .LBB501: 2395 .LBB490: 98:include/fb/framebuffer.h **** } 2396 .loc 2 98 24 view .LVU698 2397 0448 30A082E5 str r10, [r2, #48] 2398 .LBE490: 2399 .LBE501: 2400 .LBB502: 2401 .LBB497: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2402 .loc 2 87 24 view .LVU699 2403 044c B862C2E1 strh r6, [r2, #40] @ movhi 2404 .LBE497: 2405 .LBE502: 257:apps/rssi/main.c **** l = 110 - l; 2406 .loc 1 257 27 view .LVU700 2407 0450 502094E5 ldr r2, [r4, #80] 252:apps/rssi/main.c **** else 2408 .loc 1 252 8 view .LVU701 2409 0454 07300312 andne r3, r3, #7 2410 .LVL158: 255:apps/rssi/main.c **** fb_gotoxy(offset + 12 * i, 7); 2411 .loc 1 255 4 is_stmt 1 view .LVU702 2412 .LBB503: 2413 .LBI487: 97:include/fb/framebuffer.h **** framebuffer->bg_color = color; 2414 .loc 2 97 1 view .LVU703 2415 .LBB491: 98:include/fb/framebuffer.h **** } 2416 .loc 2 98 2 view .LVU704 98:include/fb/framebuffer.h **** } 2417 .loc 2 98 2 is_stmt 0 view .LVU705 2418 .LBE491: 2419 .LBE503: 256:apps/rssi/main.c **** l = (max) ? ul_max[tn] : ul_levels[tn]; 2420 .loc 1 256 4 is_stmt 1 view .LVU706 2421 .LBB504: 2422 .LBI494: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 2423 .loc 2 86 1 view .LVU707 2424 .LBB498: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2425 .loc 2 87 2 view .LVU708 88:include/fb/framebuffer.h **** } 2426 .loc 2 88 2 view .LVU709 88:include/fb/framebuffer.h **** } 2427 .loc 2 88 2 is_stmt 0 view .LVU710 2428 .LBE498: 2429 .LBE504: 257:apps/rssi/main.c **** l = 110 - l; 2430 .loc 1 257 4 is_stmt 1 view .LVU711 257:apps/rssi/main.c **** l = 110 - l; 2431 .loc 1 257 27 is_stmt 0 view .LVU712 2432 0458 000052E3 cmp r2, #0 2433 045c 032084E0 add r2, r4, r3 2434 0460 F014D215 ldrbne r1, [r2, #1264] @ zero_extendqisi2 2435 0464 E814D205 ldrbeq r1, [r2, #1256] @ zero_extendqisi2 2436 .LVL159: 258:apps/rssi/main.c **** if (l >= 100) 2437 .loc 1 258 4 is_stmt 1 view .LVU713 258:apps/rssi/main.c **** if (l >= 100) 2438 .loc 1 258 6 is_stmt 0 view .LVU714 2439 0468 6E2061E2 rsb r2, r1, #110 2440 .LVL160: 259:apps/rssi/main.c **** l -= 100; 2441 .loc 1 259 4 is_stmt 1 view .LVU715 259:apps/rssi/main.c **** l -= 100; 2442 .loc 1 259 7 is_stmt 0 view .LVU716 2443 046c 630052E3 cmp r2, #99 260:apps/rssi/main.c **** sprintf(text, "%02d", l); 2444 .loc 1 260 5 is_stmt 1 view .LVU717 260:apps/rssi/main.c **** sprintf(text, "%02d", l); 2445 .loc 1 260 7 is_stmt 0 view .LVU718 2446 0470 0A2061C2 rsbgt r2, r1, #10 2447 .LVL161: 261:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 2448 .loc 1 261 4 view .LVU719 2449 0474 18008DE2 add r0, sp, #24 2450 0478 B81A9FE5 ldr r1, .L325+88 2451 047c 08308DE5 str r3, [sp, #8] 261:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 2452 .loc 1 261 4 is_stmt 1 view .LVU720 2453 0480 FEFFFFEB bl sprintf 2454 .LVL162: 262:apps/rssi/main.c **** fb_setbg(FB_COLOR_BLACK); 2455 .loc 1 262 4 view .LVU721 262:apps/rssi/main.c **** fb_setbg(FB_COLOR_BLACK); 2456 .loc 1 262 31 is_stmt 0 view .LVU722 2457 0484 002095E5 ldr r2, [r5] 262:apps/rssi/main.c **** fb_setbg(FB_COLOR_BLACK); 2458 .loc 1 262 4 view .LVU723 2459 0488 18008DE2 add r0, sp, #24 2460 048c B412D2E1 ldrh r1, [r2, #36] 2461 0490 FEFFFFEB bl fb_putstr.isra.0 2462 .LVL163: 263:apps/rssi/main.c **** fb_gotoxy(offset + 3 + 12 * i, height + 10); 2463 .loc 1 263 4 is_stmt 1 view .LVU724 2464 .LBB505: 2465 .LBI505: 97:include/fb/framebuffer.h **** framebuffer->bg_color = color; 2466 .loc 2 97 1 view .LVU725 2467 .LBB506: 98:include/fb/framebuffer.h **** } 2468 .loc 2 98 2 view .LVU726 98:include/fb/framebuffer.h **** } 2469 .loc 2 98 24 is_stmt 0 view .LVU727 2470 0494 0020A0E3 mov r2, #0 2471 .LBE506: 2472 .LBE505: 265:apps/rssi/main.c **** if (max) { 2473 .loc 1 265 61 view .LVU728 2474 0498 08309DE5 ldr r3, [sp, #8] 2475 049c 033084E0 add r3, r4, r3 2476 04a0 E8C4D3E5 ldrb ip, [r3, #1256] @ zero_extendqisi2 265:apps/rssi/main.c **** if (max) { 2477 .loc 1 265 66 view .LVU729 2478 04a4 990C0CE0 mul ip, r9, ip 2479 .LBB508: 2480 .LBB507: 98:include/fb/framebuffer.h **** } 2481 .loc 2 98 13 view .LVU730 2482 04a8 001095E5 ldr r1, [r5] 98:include/fb/framebuffer.h **** } 2483 .loc 2 98 24 view .LVU731 2484 04ac 302081E5 str r2, [r1, #48] 2485 .LVL164: 98:include/fb/framebuffer.h **** } 2486 .loc 2 98 24 view .LVU732 2487 .LBE507: 2488 .LBE508: 264:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_levels[tn] * height / 64); 2489 .loc 1 264 4 is_stmt 1 view .LVU733 2490 04b0 032086E2 add r2, r6, #3 2491 04b4 02B8A0E1 lsl fp, r2, #16 265:apps/rssi/main.c **** if (max) { 2492 .loc 1 265 75 is_stmt 0 view .LVU734 2493 04b8 00005CE3 cmp ip, #0 264:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_levels[tn] * height / 64); 2494 .loc 1 264 4 view .LVU735 2495 04bc 2BB8A0E1 lsr fp, fp, #16 2496 .LVL165: 2497 .LBB509: 2498 .LBI509: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 2499 .loc 2 86 1 is_stmt 1 view .LVU736 2500 .LBB510: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2501 .loc 2 87 2 view .LVU737 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2502 .loc 2 87 24 is_stmt 0 view .LVU738 2503 04c0 B8B2C1E1 strh fp, [r1, #40] @ movhi 88:include/fb/framebuffer.h **** } 2504 .loc 2 88 2 is_stmt 1 view .LVU739 88:include/fb/framebuffer.h **** } 2505 .loc 2 88 24 is_stmt 0 view .LVU740 2506 04c4 BA72C1E1 strh r7, [r1, #42] @ movhi 2507 .LVL166: 88:include/fb/framebuffer.h **** } 2508 .loc 2 88 24 view .LVU741 2509 .LBE510: 2510 .LBE509: 265:apps/rssi/main.c **** if (max) { 2511 .loc 1 265 4 is_stmt 1 view .LVU742 265:apps/rssi/main.c **** if (max) { 2512 .loc 1 265 75 is_stmt 0 view .LVU743 2513 04c8 3F108CE2 add r1, ip, #63 2514 04cc 0C10A0A1 movge r1, ip 265:apps/rssi/main.c **** if (max) { 2515 .loc 1 265 4 view .LVU744 2516 04d0 080086E2 add r0, r6, #8 2517 04d4 411347E0 sub r1, r7, r1, asr #6 2518 04d8 0008A0E1 lsl r0, r0, #16 2519 04dc 0118A0E1 lsl r1, r1, #16 2520 04e0 2008A0E1 lsr r0, r0, #16 2521 04e4 2118A0E1 lsr r1, r1, #16 265:apps/rssi/main.c **** if (max) { 2522 .loc 1 265 61 view .LVU745 2523 04e8 0C308DE5 str r3, [sp, #12] 265:apps/rssi/main.c **** if (max) { 2524 .loc 1 265 4 view .LVU746 2525 04ec 08008DE5 str r0, [sp, #8] 2526 .LVL167: 265:apps/rssi/main.c **** if (max) { 2527 .loc 1 265 4 view .LVU747 2528 04f0 FEFFFFEB bl fb_boxto 2529 .LVL168: 266:apps/rssi/main.c **** fb_gotoxy(offset + 3 + 12 * i, height + 10 - ul_max[tn] * height / 64); 2530 .loc 1 266 4 is_stmt 1 view .LVU748 266:apps/rssi/main.c **** fb_gotoxy(offset + 3 + 12 * i, height + 10 - ul_max[tn] * height / 64); 2531 .loc 1 266 7 is_stmt 0 view .LVU749 2532 04f4 501094E5 ldr r1, [r4, #80] 2533 04f8 08008DE2 add r0, sp, #8 2534 04fc 000051E3 cmp r1, #0 2535 0500 090090E8 ldm r0, {r0, r3} 2536 0504 0B00000A beq .L163 267:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_max[tn] * height / 64); 2537 .loc 1 267 5 is_stmt 1 view .LVU750 267:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_max[tn] * height / 64); 2538 .loc 1 267 56 is_stmt 0 view .LVU751 2539 0508 F034D3E5 ldrb r3, [r3, #1264] @ zero_extendqisi2 267:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_max[tn] * height / 64); 2540 .loc 1 267 61 view .LVU752 2541 050c 990303E0 mul r3, r9, r3 267:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_max[tn] * height / 64); 2542 .loc 1 267 70 view .LVU753 2543 0510 000053E3 cmp r3, #0 2544 0514 3F1083E2 add r1, r3, #63 2545 0518 0310A0A1 movge r1, r3 267:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_max[tn] * height / 64); 2546 .loc 1 267 5 view .LVU754 2547 051c 411347E0 sub r1, r7, r1, asr #6 2548 .LBB511: 2549 .LBB512: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2550 .loc 2 87 13 view .LVU755 2551 0520 003095E5 ldr r3, [r5] 2552 .LBE512: 2553 .LBE511: 267:apps/rssi/main.c **** fb_boxto(offset + 3 + 12 * i + 5, height + 10 - ul_max[tn] * height / 64); 2554 .loc 1 267 5 view .LVU756 2555 0524 0118A0E1 lsl r1, r1, #16 2556 0528 2118A0E1 lsr r1, r1, #16 2557 .LVL169: 2558 .LBB514: 2559 .LBI511: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 2560 .loc 2 86 1 is_stmt 1 view .LVU757 2561 .LBB513: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2562 .loc 2 87 2 view .LVU758 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2563 .loc 2 87 24 is_stmt 0 view .LVU759 2564 052c B8B2C3E1 strh fp, [r3, #40] @ movhi 88:include/fb/framebuffer.h **** } 2565 .loc 2 88 2 is_stmt 1 view .LVU760 88:include/fb/framebuffer.h **** } 2566 .loc 2 88 24 is_stmt 0 view .LVU761 2567 0530 BA12C3E1 strh r1, [r3, #42] @ movhi 2568 .LVL170: 88:include/fb/framebuffer.h **** } 2569 .loc 2 88 24 view .LVU762 2570 .LBE513: 2571 .LBE514: 268:apps/rssi/main.c **** } 2572 .loc 1 268 5 is_stmt 1 view .LVU763 2573 0534 FEFFFFEB bl fb_boxto 2574 .LVL171: 2575 .L163: 250:apps/rssi/main.c **** if (uplink) 2576 .loc 1 250 23 discriminator 2 view .LVU764 2577 0538 018088E2 add r8, r8, #1 2578 .LVL172: 250:apps/rssi/main.c **** if (uplink) 2579 .loc 1 250 17 discriminator 2 view .LVU765 2580 053c 0C6086E2 add r6, r6, #12 2581 0540 0668A0E1 lsl r6, r6, #16 2582 0544 080058E3 cmp r8, #8 2583 0548 2668A0E1 lsr r6, r6, #16 2584 054c B6FFFF1A bne .L164 271:apps/rssi/main.c **** if (max) { 2585 .loc 1 271 3 view .LVU766 2586 .LVL173: 2587 .LBB515: 2588 .LBI515: 97:include/fb/framebuffer.h **** framebuffer->bg_color = color; 2589 .loc 2 97 1 view .LVU767 2590 .LBB516: 98:include/fb/framebuffer.h **** } 2591 .loc 2 98 2 view .LVU768 98:include/fb/framebuffer.h **** } 2592 .loc 2 98 24 is_stmt 0 view .LVU769 2593 0550 FE24E0E3 mvn r2, #-33554432 98:include/fb/framebuffer.h **** } 2594 .loc 2 98 13 view .LVU770 2595 0554 003095E5 ldr r3, [r5] 98:include/fb/framebuffer.h **** } 2596 .loc 2 98 24 view .LVU771 2597 0558 302083E5 str r2, [r3, #48] 2598 .LVL174: 98:include/fb/framebuffer.h **** } 2599 .loc 2 98 24 view .LVU772 2600 .LBE516: 2601 .LBE515: 272:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 2602 .loc 1 272 3 is_stmt 1 view .LVU773 272:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 2603 .loc 1 272 6 is_stmt 0 view .LVU774 2604 055c 502094E5 ldr r2, [r4, #80] 2605 0560 000052E3 cmp r2, #0 2606 0564 0800000A beq .L165 273:apps/rssi/main.c **** fb_gotoxy(framebuffer->width - 16, 15); 2607 .loc 1 273 4 is_stmt 1 view .LVU775 2608 .LVL175: 2609 .LBB517: 2610 .LBI517: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 2611 .loc 2 92 1 view .LVU776 2612 .LBB518: 93:include/fb/framebuffer.h **** } 2613 .loc 2 93 2 view .LVU777 93:include/fb/framebuffer.h **** } 2614 .loc 2 93 24 is_stmt 0 view .LVU778 2615 0568 FF28A0E3 mov r2, #16711680 2616 .LBE518: 2617 .LBE517: 274:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 2618 .loc 1 274 25 view .LVU779 2619 056c B412D3E1 ldrh r1, [r3, #36] 2620 .LBB520: 2621 .LBB519: 93:include/fb/framebuffer.h **** } 2622 .loc 2 93 24 view .LVU780 2623 0570 2C2083E5 str r2, [r3, #44] 2624 .LVL176: 93:include/fb/framebuffer.h **** } 2625 .loc 2 93 24 view .LVU781 2626 .LBE519: 2627 .LBE520: 274:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 2628 .loc 1 274 4 is_stmt 1 view .LVU782 2629 .LBB521: 2630 .LBI521: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 2631 .loc 2 86 1 view .LVU783 2632 .LBB522: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2633 .loc 2 87 2 view .LVU784 2634 .LBE522: 2635 .LBE521: 274:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 2636 .loc 1 274 4 is_stmt 0 view .LVU785 2637 0574 102041E2 sub r2, r1, #16 2638 .LBB525: 2639 .LBB523: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2640 .loc 2 87 24 view .LVU786 2641 0578 B822C3E1 strh r2, [r3, #40] @ movhi 88:include/fb/framebuffer.h **** } 2642 .loc 2 88 2 is_stmt 1 view .LVU787 88:include/fb/framebuffer.h **** } 2643 .loc 2 88 24 is_stmt 0 view .LVU788 2644 057c 0F20A0E3 mov r2, #15 2645 .LBE523: 2646 .LBE525: 275:apps/rssi/main.c **** } 2647 .loc 1 275 4 view .LVU789 2648 0580 B4099FE5 ldr r0, .L325+92 2649 .LBB526: 2650 .LBB524: 88:include/fb/framebuffer.h **** } 2651 .loc 2 88 24 view .LVU790 2652 0584 BA22C3E1 strh r2, [r3, #42] @ movhi 2653 .LVL177: 88:include/fb/framebuffer.h **** } 2654 .loc 2 88 24 view .LVU791 2655 .LBE524: 2656 .LBE526: 275:apps/rssi/main.c **** } 2657 .loc 1 275 4 is_stmt 1 view .LVU792 2658 0588 FEFFFFEB bl fb_putstr.isra.0 2659 .LVL178: 2660 .L165: 277:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLUE); 2661 .loc 1 277 3 view .LVU793 2662 .LBB527: 2663 .LBI527: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 2664 .loc 2 102 1 view .LVU794 2665 .LBB528: 2666 .loc 2 103 2 view .LVU795 2667 .loc 2 103 20 is_stmt 0 view .LVU796 2668 058c 0220A0E3 mov r2, #2 2669 .loc 2 103 13 view .LVU797 2670 0590 003095E5 ldr r3, [r5] 2671 .loc 2 103 20 view .LVU798 2672 0594 3420C3E5 strb r2, [r3, #52] 2673 .LVL179: 2674 .loc 2 103 20 view .LVU799 2675 .LBE528: 2676 .LBE527: 278:apps/rssi/main.c **** fb_gotoxy(0, 16); 2677 .loc 1 278 3 is_stmt 1 view .LVU800 2678 .LBB529: 2679 .LBI529: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 2680 .loc 2 92 1 view .LVU801 2681 .LBB530: 93:include/fb/framebuffer.h **** } 2682 .loc 2 93 2 view .LVU802 93:include/fb/framebuffer.h **** } 2683 .loc 2 93 2 is_stmt 0 view .LVU803 2684 .LBE530: 2685 .LBE529: 279:apps/rssi/main.c **** if (pcs && ul_arfcn >= PCS_MIN && ul_arfcn <= PCS_MAX) 2686 .loc 1 279 3 is_stmt 1 view .LVU804 2687 .LBB532: 2688 .LBI532: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 2689 .loc 2 86 1 view .LVU805 2690 .LBB533: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2691 .loc 2 87 2 view .LVU806 88:include/fb/framebuffer.h **** } 2692 .loc 2 88 2 view .LVU807 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2693 .loc 2 87 24 is_stmt 0 view .LVU808 2694 0598 0126A0E3 mov r2, #1048576 2695 059c 282083E5 str r2, [r3, #40] 2696 .LBE533: 2697 .LBE532: 2698 .LBB534: 2699 .LBB531: 93:include/fb/framebuffer.h **** } 2700 .loc 2 93 24 view .LVU809 2701 05a0 FF20A0E3 mov r2, #255 2702 05a4 2C2083E5 str r2, [r3, #44] 2703 .LVL180: 93:include/fb/framebuffer.h **** } 2704 .loc 2 93 24 view .LVU810 2705 .LBE531: 2706 .LBE534: 280:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 2707 .loc 1 280 3 is_stmt 1 view .LVU811 280:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 2708 .loc 1 280 23 is_stmt 0 view .LVU812 2709 05a8 90399FE5 ldr r3, .L325+96 2710 05ac B420D3E1 ldrh r2, [r3, #4] 280:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 2711 .loc 1 280 6 view .LVU813 2712 05b0 001094E5 ldr r1, [r4] 280:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 2713 .loc 1 280 34 view .LVU814 2714 05b4 023C42E2 sub r3, r2, #512 2715 05b8 0338A0E1 lsl r3, r3, #16 280:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 2716 .loc 1 280 6 view .LVU815 2717 05bc 000051E3 cmp r1, #0 280:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 2718 .loc 1 280 34 view .LVU816 2719 05c0 2338A0E1 lsr r3, r3, #16 280:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 2720 .loc 1 280 6 view .LVU817 2721 05c4 0300000A beq .L166 280:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 2722 .loc 1 280 34 discriminator 1 view .LVU818 2723 05c8 74199FE5 ldr r1, .L325+100 2724 05cc 010053E1 cmp r3, r1 281:apps/rssi/main.c **** else if (ul_arfcn >= DCS_MIN && ul_arfcn <= DCS_MAX) 2725 .loc 1 281 4 discriminator 1 view .LVU819 2726 05d0 70199F95 ldrls r1, .L325+104 280:apps/rssi/main.c **** sprintf(text, "%4dP", ul_arfcn); 2727 .loc 1 280 34 discriminator 1 view .LVU820 2728 05d4 0300009A bls .L316 2729 .L166: 282:apps/rssi/main.c **** sprintf(text, "%4dD", ul_arfcn); 2730 .loc 1 282 8 is_stmt 1 view .LVU821 282:apps/rssi/main.c **** sprintf(text, "%4dD", ul_arfcn); 2731 .loc 1 282 11 is_stmt 0 view .LVU822 2732 05d8 6C199FE5 ldr r1, .L325+108 2733 05dc 010053E1 cmp r3, r1 283:apps/rssi/main.c **** else 2734 .loc 1 283 4 is_stmt 1 view .LVU823 2735 05e0 68199F95 ldrls r1, .L325+112 285:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 2736 .loc 1 285 4 view .LVU824 2737 05e4 68199F85 ldrhi r1, .L325+116 2738 .L316: 2739 05e8 18008DE2 add r0, sp, #24 2740 05ec FEFFFFEB bl sprintf 2741 .LVL181: 286:apps/rssi/main.c **** fb_setbg(FB_COLOR_WHITE); 2742 .loc 1 286 3 view .LVU825 286:apps/rssi/main.c **** fb_setbg(FB_COLOR_WHITE); 2743 .loc 1 286 30 is_stmt 0 view .LVU826 2744 05f0 003095E5 ldr r3, [r5] 286:apps/rssi/main.c **** fb_setbg(FB_COLOR_WHITE); 2745 .loc 1 286 3 view .LVU827 2746 05f4 18008DE2 add r0, sp, #24 2747 05f8 B412D3E1 ldrh r1, [r3, #36] 2748 05fc FEFFFFEB bl fb_putstr.isra.0 2749 .LVL182: 287:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 2750 .loc 1 287 3 is_stmt 1 view .LVU828 2751 .LBB535: 2752 .LBI535: 97:include/fb/framebuffer.h **** framebuffer->bg_color = color; 2753 .loc 2 97 1 view .LVU829 2754 .LBB536: 98:include/fb/framebuffer.h **** } 2755 .loc 2 98 2 view .LVU830 98:include/fb/framebuffer.h **** } 2756 .loc 2 98 24 is_stmt 0 view .LVU831 2757 0600 FF24E0E3 mvn r2, #-16777216 98:include/fb/framebuffer.h **** } 2758 .loc 2 98 13 view .LVU832 2759 0604 003095E5 ldr r3, [r5] 98:include/fb/framebuffer.h **** } 2760 .loc 2 98 24 view .LVU833 2761 0608 302083E5 str r2, [r3, #48] 2762 .LVL183: 98:include/fb/framebuffer.h **** } 2763 .loc 2 98 24 view .LVU834 2764 .LBE536: 2765 .LBE535: 288:apps/rssi/main.c **** } 2766 .loc 1 288 3 is_stmt 1 view .LVU835 2767 .LBB537: 2768 .LBI537: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 2769 .loc 2 92 1 view .LVU836 2770 .LBB538: 93:include/fb/framebuffer.h **** } 2771 .loc 2 93 2 view .LVU837 93:include/fb/framebuffer.h **** } 2772 .loc 2 93 24 is_stmt 0 view .LVU838 2773 060c 0020A0E3 mov r2, #0 2774 0610 2C2083E5 str r2, [r3, #44] 2775 .LVL184: 93:include/fb/framebuffer.h **** } 2776 .loc 2 93 24 view .LVU839 2777 .LBE538: 2778 .LBE537: 2779 .LBE482: 292:apps/rssi/main.c **** fb_gotoxy(0, 20); 2780 .loc 1 292 2 is_stmt 1 view .LVU840 292:apps/rssi/main.c **** fb_gotoxy(0, 20); 2781 .loc 1 292 5 is_stmt 0 view .LVU841 2782 0614 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 2783 0618 030053E3 cmp r3, #3 2784 061c 1AFFFF0A beq .L169 2785 .LVL185: 2786 .L234: 372:apps/rssi/main.c **** fb_gotoxy(0, 20); 2787 .loc 1 372 2 is_stmt 1 view .LVU842 372:apps/rssi/main.c **** fb_gotoxy(0, 20); 2788 .loc 1 372 24 is_stmt 0 view .LVU843 2789 0620 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 372:apps/rssi/main.c **** fb_gotoxy(0, 20); 2790 .loc 1 372 5 view .LVU844 2791 0624 FD0013E3 tst r3, #253 2792 .LBB539: 2793 .LBB540: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2794 .loc 2 87 13 view .LVU845 2795 0628 002095E5 ldr r2, [r5] 2796 .LBE540: 2797 .LBE539: 372:apps/rssi/main.c **** fb_gotoxy(0, 20); 2798 .loc 1 372 5 view .LVU846 2799 062c 2A00001A bne .L195 373:apps/rssi/main.c **** if (mode == MODE_ARFCN) 2800 .loc 1 373 3 is_stmt 1 view .LVU847 2801 .LVL186: 2802 .LBB542: 2803 .LBI539: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 2804 .loc 2 86 1 view .LVU848 2805 .LBB541: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2806 .loc 2 87 2 view .LVU849 88:include/fb/framebuffer.h **** } 2807 .loc 2 88 2 view .LVU850 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2808 .loc 2 87 24 is_stmt 0 view .LVU851 2809 0630 0517A0E3 mov r1, #1310720 2810 0634 281082E5 str r1, [r2, #40] 2811 .LVL187: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2812 .loc 2 87 24 view .LVU852 2813 .LBE541: 2814 .LBE542: 374:apps/rssi/main.c **** sprintf(text, "ARFCN %s", input); 2815 .loc 1 374 3 is_stmt 1 view .LVU853 2816 0638 18299FE5 ldr r2, .L325+120 374:apps/rssi/main.c **** sprintf(text, "ARFCN %s", input); 2817 .loc 1 374 6 is_stmt 0 view .LVU854 2818 063c 020053E3 cmp r3, #2 375:apps/rssi/main.c **** else if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 2819 .loc 1 375 4 view .LVU855 2820 0640 14199F05 ldreq r1, .L325+124 2821 0644 04208202 addeq r2, r2, #4 374:apps/rssi/main.c **** sprintf(text, "ARFCN %s", input); 2822 .loc 1 374 6 view .LVU856 2823 0648 0E00000A beq .L320 376:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 2824 .loc 1 376 8 is_stmt 1 view .LVU857 376:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 2825 .loc 1 376 25 is_stmt 0 view .LVU858 2826 064c BA20D2E1 ldrh r2, [r2, #10] 376:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 2827 .loc 1 376 11 view .LVU859 2828 0650 001094E5 ldr r1, [r4] 376:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 2829 .loc 1 376 36 view .LVU860 2830 0654 023C42E2 sub r3, r2, #512 2831 0658 0338A0E1 lsl r3, r3, #16 376:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 2832 .loc 1 376 11 view .LVU861 2833 065c 000051E3 cmp r1, #0 376:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 2834 .loc 1 376 36 view .LVU862 2835 0660 2338A0E1 lsr r3, r3, #16 376:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 2836 .loc 1 376 11 view .LVU863 2837 0664 0300000A beq .L198 376:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 2838 .loc 1 376 36 discriminator 1 view .LVU864 2839 0668 D4189FE5 ldr r1, .L325+100 2840 066c 010053E1 cmp r3, r1 377:apps/rssi/main.c **** else if (arfcn >= DCS_MIN && arfcn <= DCS_MAX) 2841 .loc 1 377 4 discriminator 1 view .LVU865 2842 0670 E8189F95 ldrls r1, .L325+128 376:apps/rssi/main.c **** sprintf(text, "ARFCN %dPCS", arfcn); 2843 .loc 1 376 36 discriminator 1 view .LVU866 2844 0674 0300009A bls .L320 2845 .L198: 378:apps/rssi/main.c **** sprintf(text, "ARFCN %dDCS", arfcn); 2846 .loc 1 378 8 is_stmt 1 view .LVU867 378:apps/rssi/main.c **** sprintf(text, "ARFCN %dDCS", arfcn); 2847 .loc 1 378 11 is_stmt 0 view .LVU868 2848 0678 CC189FE5 ldr r1, .L325+108 2849 067c 010053E1 cmp r3, r1 379:apps/rssi/main.c **** else 2850 .loc 1 379 4 is_stmt 1 view .LVU869 2851 0680 DC189F95 ldrls r1, .L325+132 381:apps/rssi/main.c **** fb_putstr(text,framebuffer->width); 2852 .loc 1 381 4 view .LVU870 2853 0684 DC189F85 ldrhi r1, .L325+136 2854 .L320: 2855 0688 18008DE2 add r0, sp, #24 2856 068c FEFFFFEB bl sprintf 2857 .LVL188: 382:apps/rssi/main.c **** } 2858 .loc 1 382 3 view .LVU871 382:apps/rssi/main.c **** } 2859 .loc 1 382 29 is_stmt 0 view .LVU872 2860 0690 003095E5 ldr r3, [r5] 382:apps/rssi/main.c **** } 2861 .loc 1 382 3 view .LVU873 2862 0694 18008DE2 add r0, sp, #24 2863 0698 B412D3E1 ldrh r1, [r3, #36] 2864 069c FEFFFFEB bl fb_putstr.isra.0 2865 .LVL189: 386:apps/rssi/main.c **** fb_setfg(FB_COLOR_WHITE); 2866 .loc 1 386 2 is_stmt 1 view .LVU874 386:apps/rssi/main.c **** fb_setfg(FB_COLOR_WHITE); 2867 .loc 1 386 5 is_stmt 0 view .LVU875 2868 06a0 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 2869 06a4 020053E3 cmp r3, #2 2870 06a8 0B00001A bne .L195 387:apps/rssi/main.c **** fb_setbg(FB_COLOR_BLUE); 2871 .loc 1 387 3 is_stmt 1 view .LVU876 2872 .LVL190: 2873 .LBB543: 2874 .LBI543: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 2875 .loc 2 92 1 view .LVU877 2876 .LBB544: 93:include/fb/framebuffer.h **** } 2877 .loc 2 93 2 view .LVU878 2878 .LBE544: 2879 .LBE543: 2880 .LBB547: 2881 .LBB548: 98:include/fb/framebuffer.h **** } 2882 .loc 2 98 24 is_stmt 0 view .LVU879 2883 06ac FF20A0E3 mov r2, #255 2884 .LBE548: 2885 .LBE547: 2886 .LBB551: 2887 .LBB545: 93:include/fb/framebuffer.h **** } 2888 .loc 2 93 24 view .LVU880 2889 06b0 FF64E0E3 mvn r6, #-16777216 93:include/fb/framebuffer.h **** } 2890 .loc 2 93 13 view .LVU881 2891 06b4 003095E5 ldr r3, [r5] 2892 .LBE545: 2893 .LBE551: 389:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 2894 .loc 1 389 3 view .LVU882 2895 06b8 AC089FE5 ldr r0, .L325+140 2896 .LBB552: 2897 .LBB549: 98:include/fb/framebuffer.h **** } 2898 .loc 2 98 24 view .LVU883 2899 06bc 302083E5 str r2, [r3, #48] 2900 .LBE549: 2901 .LBE552: 2902 .LBB553: 2903 .LBB546: 93:include/fb/framebuffer.h **** } 2904 .loc 2 93 24 view .LVU884 2905 06c0 2C6083E5 str r6, [r3, #44] 2906 .LVL191: 93:include/fb/framebuffer.h **** } 2907 .loc 2 93 24 view .LVU885 2908 .LBE546: 2909 .LBE553: 388:apps/rssi/main.c **** fb_putstr(" ", framebuffer->width); 2910 .loc 1 388 3 is_stmt 1 view .LVU886 2911 .LBB554: 2912 .LBI547: 97:include/fb/framebuffer.h **** framebuffer->bg_color = color; 2913 .loc 2 97 1 view .LVU887 2914 .LBB550: 98:include/fb/framebuffer.h **** } 2915 .loc 2 98 2 view .LVU888 98:include/fb/framebuffer.h **** } 2916 .loc 2 98 2 is_stmt 0 view .LVU889 2917 .LBE550: 2918 .LBE554: 389:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 2919 .loc 1 389 3 is_stmt 1 view .LVU890 2920 06c4 B412D3E1 ldrh r1, [r3, #36] 2921 06c8 FEFFFFEB bl fb_putstr.isra.0 2922 .LVL192: 390:apps/rssi/main.c **** fb_setbg(FB_COLOR_WHITE); 2923 .loc 1 390 3 view .LVU891 2924 .LBB555: 2925 .LBI555: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 2926 .loc 2 92 1 view .LVU892 2927 .LBB556: 93:include/fb/framebuffer.h **** } 2928 .loc 2 93 2 view .LVU893 93:include/fb/framebuffer.h **** } 2929 .loc 2 93 24 is_stmt 0 view .LVU894 2930 06cc 0020A0E3 mov r2, #0 93:include/fb/framebuffer.h **** } 2931 .loc 2 93 13 view .LVU895 2932 06d0 003095E5 ldr r3, [r5] 93:include/fb/framebuffer.h **** } 2933 .loc 2 93 24 view .LVU896 2934 06d4 2C2083E5 str r2, [r3, #44] 2935 .LVL193: 93:include/fb/framebuffer.h **** } 2936 .loc 2 93 24 view .LVU897 2937 .LBE556: 2938 .LBE555: 391:apps/rssi/main.c **** } 2939 .loc 1 391 3 is_stmt 1 view .LVU898 2940 .LBB557: 2941 .LBI557: 97:include/fb/framebuffer.h **** framebuffer->bg_color = color; 2942 .loc 2 97 1 view .LVU899 2943 .LBB558: 98:include/fb/framebuffer.h **** } 2944 .loc 2 98 2 view .LVU900 98:include/fb/framebuffer.h **** } 2945 .loc 2 98 24 is_stmt 0 view .LVU901 2946 06d8 306083E5 str r6, [r3, #48] 2947 .LVL194: 2948 .L195: 98:include/fb/framebuffer.h **** } 2949 .loc 2 98 24 view .LVU902 2950 .LBE558: 2951 .LBE557: 395:apps/rssi/main.c **** int f; 2952 .loc 1 395 2 is_stmt 1 view .LVU903 395:apps/rssi/main.c **** int f; 2953 .loc 1 395 5 is_stmt 0 view .LVU904 2954 06dc FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 2955 06e0 000053E3 cmp r3, #0 2956 06e4 6800001A bne .L201 2957 .LBB559: 396:apps/rssi/main.c **** 2958 .loc 1 396 3 is_stmt 1 view .LVU905 398:apps/rssi/main.c **** if (uplink) 2959 .loc 1 398 3 view .LVU906 398:apps/rssi/main.c **** if (uplink) 2960 .loc 1 398 20 is_stmt 0 view .LVU907 2961 06e8 68389FE5 ldr r3, .L325+120 2962 06ec BA20D3E1 ldrh r2, [r3, #10] 398:apps/rssi/main.c **** if (uplink) 2963 .loc 1 398 6 view .LVU908 2964 06f0 003094E5 ldr r3, [r4] 2965 06f4 000053E3 cmp r3, #0 399:apps/rssi/main.c **** f = PCS_UL; 2966 .loc 1 399 8 view .LVU909 2967 06f8 041094E5 ldr r1, [r4, #4] 398:apps/rssi/main.c **** if (uplink) 2968 .loc 1 398 6 view .LVU910 2969 06fc 8A01000A beq .L202 398:apps/rssi/main.c **** if (uplink) 2970 .loc 1 398 31 discriminator 1 view .LVU911 2971 0700 023C42E2 sub r3, r2, #512 2972 0704 38089FE5 ldr r0, .L325+100 2973 0708 0338A0E1 lsl r3, r3, #16 2974 070c 2338A0E1 lsr r3, r3, #16 2975 0710 000053E1 cmp r3, r0 2976 0714 8401008A bhi .L202 399:apps/rssi/main.c **** f = PCS_UL; 2977 .loc 1 399 4 is_stmt 1 view .LVU912 400:apps/rssi/main.c **** else 2978 .loc 1 400 7 is_stmt 0 view .LVU913 2979 0718 50089FE5 ldr r0, .L325+144 2980 071c 000051E3 cmp r1, #0 2981 0720 4C389FE5 ldr r3, .L325+148 2982 0724 0030A011 movne r3, r0 2983 .L203: 2984 .LVL195: 407:apps/rssi/main.c **** 2985 .loc 1 407 3 is_stmt 1 view .LVU914 407:apps/rssi/main.c **** 2986 .loc 1 407 22 is_stmt 0 view .LVU915 2987 0728 1C1994E5 ldr r1, [r4, #2332] 407:apps/rssi/main.c **** 2988 .loc 1 407 16 view .LVU916 2989 072c 001091E5 ldr r1, [r1] 407:apps/rssi/main.c **** 2990 .loc 1 407 37 view .LVU917 2991 0730 40689FE5 ldr r6, .L325+152 407:apps/rssi/main.c **** 2992 .loc 1 407 16 view .LVU918 2993 0734 012042E0 sub r2, r2, r1 407:apps/rssi/main.c **** 2994 .loc 1 407 37 view .LVU919 2995 0738 826006E0 and r6, r6, r2, lsl #1 2996 .LBB560: 2997 .LBB561: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 2998 .loc 2 87 24 view .LVU920 2999 073c 1E28A0E3 mov r2, #1966080 3000 .LBE561: 3001 .LBE560: 407:apps/rssi/main.c **** 3002 .loc 1 407 5 view .LVU921 3003 0740 036086E0 add r6, r6, r3 3004 .LVL196: 409:apps/rssi/main.c **** sprintf(text, "Freq. %d.%d", f / 10, f % 10); 3005 .loc 1 409 3 is_stmt 1 view .LVU922 3006 .LBB564: 3007 .LBI560: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3008 .loc 2 86 1 view .LVU923 3009 .LBB562: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3010 .loc 2 87 2 view .LVU924 88:include/fb/framebuffer.h **** } 3011 .loc 2 88 2 view .LVU925 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3012 .loc 2 87 24 is_stmt 0 view .LVU926 3013 0744 003095E5 ldr r3, [r5] 3014 .LBE562: 3015 .LBE564: 410:apps/rssi/main.c **** fb_putstr(text,framebuffer->width); 3016 .loc 1 410 3 view .LVU927 3017 0748 0600A0E1 mov r0, r6 3018 .LBB565: 3019 .LBB563: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3020 .loc 2 87 24 view .LVU928 3021 074c 282083E5 str r2, [r3, #40] 3022 .LVL197: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3023 .loc 2 87 24 view .LVU929 3024 .LBE563: 3025 .LBE565: 410:apps/rssi/main.c **** fb_putstr(text,framebuffer->width); 3026 .loc 1 410 3 is_stmt 1 view .LVU930 3027 0750 0A10A0E3 mov r1, #10 3028 0754 FEFFFFEB bl __aeabi_idivmod 3029 .LVL198: 3030 0758 1C089FE5 ldr r0, .L325+156 3031 075c 0130A0E1 mov r3, r1 3032 0760 9610C2E0 smull r1, r2, r6, r0 3033 0764 C66FA0E1 asr r6, r6, #31 3034 .LVL199: 410:apps/rssi/main.c **** fb_putstr(text,framebuffer->width); 3035 .loc 1 410 3 is_stmt 0 view .LVU931 3036 0768 422166E0 rsb r2, r6, r2, asr #2 3037 076c 0C189FE5 ldr r1, .L325+160 3038 0770 18008DE2 add r0, sp, #24 3039 0774 FEFFFFEB bl sprintf 3040 .LVL200: 411:apps/rssi/main.c **** 3041 .loc 1 411 3 is_stmt 1 view .LVU932 411:apps/rssi/main.c **** 3042 .loc 1 411 29 is_stmt 0 view .LVU933 3043 0778 003095E5 ldr r3, [r5] 411:apps/rssi/main.c **** 3044 .loc 1 411 3 view .LVU934 3045 077c 18008DE2 add r0, sp, #24 3046 0780 B412D3E1 ldrh r1, [r3, #36] 3047 0784 FEFFFFEB bl fb_putstr.isra.0 3048 .LVL201: 413:apps/rssi/main.c **** sprintf(text, "Power %d", ((max) ? max_power : power) - 110); 3049 .loc 1 413 3 is_stmt 1 view .LVU935 3050 .LBB566: 3051 .LBI566: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3052 .loc 2 86 1 view .LVU936 3053 .LBB567: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3054 .loc 2 87 2 view .LVU937 88:include/fb/framebuffer.h **** } 3055 .loc 2 88 2 view .LVU938 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3056 .loc 2 87 24 is_stmt 0 view .LVU939 3057 0788 0A27A0E3 mov r2, #2621440 3058 078c 003095E5 ldr r3, [r5] 3059 0790 282083E5 str r2, [r3, #40] 3060 .LVL202: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3061 .loc 2 87 24 view .LVU940 3062 .LBE567: 3063 .LBE566: 414:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 3064 .loc 1 414 3 is_stmt 1 view .LVU941 3065 0794 503094E5 ldr r3, [r4, #80] 3066 0798 000053E3 cmp r3, #0 414:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 3067 .loc 1 414 57 is_stmt 0 view .LVU942 3068 079c 2029D415 ldrbne r2, [r4, #2336] @ zero_extendqisi2 3069 07a0 5924D405 ldrbeq r2, [r4, #1113] @ zero_extendqisi2 414:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 3070 .loc 1 414 3 view .LVU943 3071 07a4 D8179FE5 ldr r1, .L325+164 3072 07a8 6E2042E2 sub r2, r2, #110 3073 07ac 18008DE2 add r0, sp, #24 3074 07b0 FEFFFFEB bl sprintf 3075 .LVL203: 415:apps/rssi/main.c **** if (max) { 3076 .loc 1 415 3 is_stmt 1 view .LVU944 415:apps/rssi/main.c **** if (max) { 3077 .loc 1 415 30 is_stmt 0 view .LVU945 3078 07b4 003095E5 ldr r3, [r5] 415:apps/rssi/main.c **** if (max) { 3079 .loc 1 415 3 view .LVU946 3080 07b8 18008DE2 add r0, sp, #24 3081 07bc B412D3E1 ldrh r1, [r3, #36] 3082 07c0 FEFFFFEB bl fb_putstr.isra.0 3083 .LVL204: 416:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 3084 .loc 1 416 3 is_stmt 1 view .LVU947 416:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 3085 .loc 1 416 6 is_stmt 0 view .LVU948 3086 07c4 503094E5 ldr r3, [r4, #80] 3087 07c8 000053E3 cmp r3, #0 3088 07cc 0F00000A beq .L207 417:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 3089 .loc 1 417 4 is_stmt 1 view .LVU949 3090 .LVL205: 3091 .LBB568: 3092 .LBI568: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 3093 .loc 2 102 1 view .LVU950 3094 .LBB569: 3095 .loc 2 103 2 view .LVU951 3096 .LBE569: 3097 .LBE568: 3098 .LBB573: 3099 .LBB574: 93:include/fb/framebuffer.h **** } 3100 .loc 2 93 24 is_stmt 0 view .LVU952 3101 07d0 FF28A0E3 mov r2, #16711680 3102 .LBE574: 3103 .LBE573: 3104 .LBB577: 3105 .LBB570: 3106 .loc 2 103 13 view .LVU953 3107 07d4 003095E5 ldr r3, [r5] 3108 .LBE570: 3109 .LBE577: 419:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 3110 .loc 1 419 25 view .LVU954 3111 07d8 B412D3E1 ldrh r1, [r3, #36] 3112 .LBB578: 3113 .LBB575: 93:include/fb/framebuffer.h **** } 3114 .loc 2 93 24 view .LVU955 3115 07dc 2C2083E5 str r2, [r3, #44] 3116 .LBE575: 3117 .LBE578: 419:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 3118 .loc 1 419 4 view .LVU956 3119 07e0 102041E2 sub r2, r1, #16 3120 .LBB579: 3121 .LBB580: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3122 .loc 2 87 24 view .LVU957 3123 07e4 B822C3E1 strh r2, [r3, #40] @ movhi 3124 .LBE580: 3125 .LBE579: 3126 .LBB583: 3127 .LBB571: 3128 .loc 2 103 20 view .LVU958 3129 07e8 0060A0E3 mov r6, #0 3130 .LBE571: 3131 .LBE583: 3132 .LBB584: 3133 .LBB581: 88:include/fb/framebuffer.h **** } 3134 .loc 2 88 24 view .LVU959 3135 07ec 2720A0E3 mov r2, #39 3136 .LBE581: 3137 .LBE584: 3138 .LBB585: 3139 .LBB572: 3140 .loc 2 103 20 view .LVU960 3141 07f0 3460C3E5 strb r6, [r3, #52] 3142 .LVL206: 3143 .loc 2 103 20 view .LVU961 3144 .LBE572: 3145 .LBE585: 418:apps/rssi/main.c **** fb_gotoxy(framebuffer->width - 16, 39); 3146 .loc 1 418 4 is_stmt 1 view .LVU962 3147 .LBB586: 3148 .LBI573: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 3149 .loc 2 92 1 view .LVU963 3150 .LBB576: 93:include/fb/framebuffer.h **** } 3151 .loc 2 93 2 view .LVU964 93:include/fb/framebuffer.h **** } 3152 .loc 2 93 2 is_stmt 0 view .LVU965 3153 .LBE576: 3154 .LBE586: 419:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 3155 .loc 1 419 4 is_stmt 1 view .LVU966 3156 .LBB587: 3157 .LBI579: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3158 .loc 2 86 1 view .LVU967 3159 .LBB582: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3160 .loc 2 87 2 view .LVU968 88:include/fb/framebuffer.h **** } 3161 .loc 2 88 2 view .LVU969 88:include/fb/framebuffer.h **** } 3162 .loc 2 88 24 is_stmt 0 view .LVU970 3163 07f4 BA22C3E1 strh r2, [r3, #42] @ movhi 3164 .LVL207: 88:include/fb/framebuffer.h **** } 3165 .loc 2 88 24 view .LVU971 3166 .LBE582: 3167 .LBE587: 420:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 3168 .loc 1 420 4 is_stmt 1 view .LVU972 3169 07f8 3C079FE5 ldr r0, .L325+92 3170 07fc FEFFFFEB bl fb_putstr.isra.0 3171 .LVL208: 421:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 3172 .loc 1 421 4 view .LVU973 3173 .LBB588: 3174 .LBI588: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 3175 .loc 2 102 1 view .LVU974 3176 .LBB589: 3177 .loc 2 103 2 view .LVU975 3178 .loc 2 103 20 is_stmt 0 view .LVU976 3179 0800 0220A0E3 mov r2, #2 3180 .loc 2 103 13 view .LVU977 3181 0804 003095E5 ldr r3, [r5] 3182 .loc 2 103 20 view .LVU978 3183 0808 3420C3E5 strb r2, [r3, #52] 3184 .LVL209: 3185 .loc 2 103 20 view .LVU979 3186 .LBE589: 3187 .LBE588: 422:apps/rssi/main.c **** } 3188 .loc 1 422 4 is_stmt 1 view .LVU980 3189 .LBB590: 3190 .LBI590: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 3191 .loc 2 92 1 view .LVU981 3192 .LBB591: 93:include/fb/framebuffer.h **** } 3193 .loc 2 93 2 view .LVU982 93:include/fb/framebuffer.h **** } 3194 .loc 2 93 24 is_stmt 0 view .LVU983 3195 080c 2C6083E5 str r6, [r3, #44] 3196 .LVL210: 3197 .L207: 93:include/fb/framebuffer.h **** } 3198 .loc 2 93 24 view .LVU984 3199 .LBE591: 3200 .LBE590: 424:apps/rssi/main.c **** fb_gotoxy(0, 45); 3201 .loc 1 424 3 is_stmt 1 view .LVU985 3202 .LBB592: 3203 .LBI592: 97:include/fb/framebuffer.h **** framebuffer->bg_color = color; 3204 .loc 2 97 1 view .LVU986 3205 .LBB593: 98:include/fb/framebuffer.h **** } 3206 .loc 2 98 2 view .LVU987 98:include/fb/framebuffer.h **** } 3207 .loc 2 98 24 is_stmt 0 view .LVU988 3208 0810 0020A0E3 mov r2, #0 98:include/fb/framebuffer.h **** } 3209 .loc 2 98 13 view .LVU989 3210 0814 003095E5 ldr r3, [r5] 98:include/fb/framebuffer.h **** } 3211 .loc 2 98 24 view .LVU990 3212 0818 302083E5 str r2, [r3, #48] 3213 .LVL211: 98:include/fb/framebuffer.h **** } 3214 .loc 2 98 24 view .LVU991 3215 .LBE593: 3216 .LBE592: 425:apps/rssi/main.c **** fb_boxto(framebuffer->width * power / 64, 50); 3217 .loc 1 425 3 is_stmt 1 view .LVU992 3218 .LBB594: 3219 .LBI594: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3220 .loc 2 86 1 view .LVU993 3221 .LBB595: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3222 .loc 2 87 2 view .LVU994 88:include/fb/framebuffer.h **** } 3223 .loc 2 88 2 view .LVU995 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3224 .loc 2 87 24 is_stmt 0 view .LVU996 3225 081c 2D28A0E3 mov r2, #2949120 3226 .LBE595: 3227 .LBE594: 426:apps/rssi/main.c **** if (max) { 3228 .loc 1 426 23 view .LVU997 3229 0820 B402D3E1 ldrh r0, [r3, #36] 3230 .LBB597: 3231 .LBB596: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3232 .loc 2 87 24 view .LVU998 3233 0824 282083E5 str r2, [r3, #40] 3234 .LVL212: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3235 .loc 2 87 24 view .LVU999 3236 .LBE596: 3237 .LBE597: 426:apps/rssi/main.c **** if (max) { 3238 .loc 1 426 3 is_stmt 1 view .LVU1000 426:apps/rssi/main.c **** if (max) { 3239 .loc 1 426 31 is_stmt 0 view .LVU1001 3240 0828 5934D4E5 ldrb r3, [r4, #1113] @ zero_extendqisi2 3241 082c 930000E0 mul r0, r3, r0 426:apps/rssi/main.c **** if (max) { 3242 .loc 1 426 39 view .LVU1002 3243 0830 4003A0E1 asr r0, r0, #6 426:apps/rssi/main.c **** if (max) { 3244 .loc 1 426 3 view .LVU1003 3245 0834 0008A0E1 lsl r0, r0, #16 3246 0838 3210A0E3 mov r1, #50 3247 083c 2008A0E1 lsr r0, r0, #16 3248 0840 FEFFFFEB bl fb_boxto 3249 .LVL213: 427:apps/rssi/main.c **** fb_gotoxy(framebuffer->width * max_power / 64 ,45); 3250 .loc 1 427 3 is_stmt 1 view .LVU1004 427:apps/rssi/main.c **** fb_gotoxy(framebuffer->width * max_power / 64 ,45); 3251 .loc 1 427 6 is_stmt 0 view .LVU1005 3252 0844 503094E5 ldr r3, [r4, #80] 3253 0848 000053E3 cmp r3, #0 3254 084c 0B00000A beq .L208 428:apps/rssi/main.c **** fb_boxto(framebuffer->width * max_power / 64, 50); 3255 .loc 1 428 4 is_stmt 1 view .LVU1006 428:apps/rssi/main.c **** fb_boxto(framebuffer->width * max_power / 64, 50); 3256 .loc 1 428 25 is_stmt 0 view .LVU1007 3257 0850 003095E5 ldr r3, [r5] 428:apps/rssi/main.c **** fb_boxto(framebuffer->width * max_power / 64, 50); 3258 .loc 1 428 33 view .LVU1008 3259 0854 2029D4E5 ldrb r2, [r4, #2336] @ zero_extendqisi2 428:apps/rssi/main.c **** fb_boxto(framebuffer->width * max_power / 64, 50); 3260 .loc 1 428 25 view .LVU1009 3261 0858 B402D3E1 ldrh r0, [r3, #36] 428:apps/rssi/main.c **** fb_boxto(framebuffer->width * max_power / 64, 50); 3262 .loc 1 428 33 view .LVU1010 3263 085c 920000E0 mul r0, r2, r0 3264 .LBB598: 3265 .LBB599: 88:include/fb/framebuffer.h **** } 3266 .loc 2 88 24 view .LVU1011 3267 0860 2D20A0E3 mov r2, #45 3268 .LBE599: 3269 .LBE598: 428:apps/rssi/main.c **** fb_boxto(framebuffer->width * max_power / 64, 50); 3270 .loc 1 428 45 view .LVU1012 3271 0864 4003A0E1 asr r0, r0, #6 428:apps/rssi/main.c **** fb_boxto(framebuffer->width * max_power / 64, 50); 3272 .loc 1 428 4 view .LVU1013 3273 0868 0008A0E1 lsl r0, r0, #16 3274 086c 2008A0E1 lsr r0, r0, #16 3275 .LVL214: 3276 .LBB602: 3277 .LBI598: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3278 .loc 2 86 1 is_stmt 1 view .LVU1014 3279 .LBB600: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3280 .loc 2 87 2 view .LVU1015 3281 .LBE600: 3282 .LBE602: 429:apps/rssi/main.c **** } 3283 .loc 1 429 4 is_stmt 0 view .LVU1016 3284 0870 3210A0E3 mov r1, #50 3285 .LBB603: 3286 .LBB601: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3287 .loc 2 87 24 view .LVU1017 3288 0874 B802C3E1 strh r0, [r3, #40] @ movhi 88:include/fb/framebuffer.h **** } 3289 .loc 2 88 2 is_stmt 1 view .LVU1018 88:include/fb/framebuffer.h **** } 3290 .loc 2 88 24 is_stmt 0 view .LVU1019 3291 0878 BA22C3E1 strh r2, [r3, #42] @ movhi 3292 .LVL215: 88:include/fb/framebuffer.h **** } 3293 .loc 2 88 24 view .LVU1020 3294 .LBE601: 3295 .LBE603: 429:apps/rssi/main.c **** } 3296 .loc 1 429 4 is_stmt 1 view .LVU1021 3297 087c FEFFFFEB bl fb_boxto 3298 .LVL216: 3299 .L208: 431:apps/rssi/main.c **** } 3300 .loc 1 431 3 view .LVU1022 3301 .LBB604: 3302 .LBI604: 97:include/fb/framebuffer.h **** framebuffer->bg_color = color; 3303 .loc 2 97 1 view .LVU1023 3304 .LBB605: 98:include/fb/framebuffer.h **** } 3305 .loc 2 98 2 view .LVU1024 98:include/fb/framebuffer.h **** } 3306 .loc 2 98 24 is_stmt 0 view .LVU1025 3307 0880 FF24E0E3 mvn r2, #-16777216 3308 0884 003095E5 ldr r3, [r5] 3309 0888 302083E5 str r2, [r3, #48] 3310 .LVL217: 3311 .L201: 98:include/fb/framebuffer.h **** } 3312 .loc 2 98 24 view .LVU1026 3313 .LBE605: 3314 .LBE604: 3315 .LBE559: 435:apps/rssi/main.c **** int i; 3316 .loc 1 435 2 is_stmt 1 view .LVU1027 435:apps/rssi/main.c **** int i; 3317 .loc 1 435 5 is_stmt 0 view .LVU1028 3318 088c FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 3319 0890 010053E3 cmp r3, #1 3320 0894 7100001A bne .L209 3321 .LBB606: 3322 .LBB607: 3323 .LBB608: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3324 .loc 2 87 24 view .LVU1029 3325 0898 0227A0E3 mov r2, #524288 3326 .LBE608: 3327 .LBE607: 438:apps/rssi/main.c **** 3328 .loc 1 438 27 view .LVU1030 3329 089c 003095E5 ldr r3, [r5] 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3330 .loc 1 441 20 view .LVU1031 3331 08a0 B0769FE5 ldr r7, .L325+120 3332 .LBB611: 3333 .LBB609: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3334 .loc 2 87 24 view .LVU1032 3335 08a4 282083E5 str r2, [r3, #40] 3336 .LBE609: 3337 .LBE611: 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3338 .loc 1 441 20 view .LVU1033 3339 08a8 BA20D7E1 ldrh r2, [r7, #10] 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3340 .loc 1 441 6 view .LVU1034 3341 08ac 001094E5 ldr r1, [r4] 438:apps/rssi/main.c **** 3342 .loc 1 438 27 view .LVU1035 3343 08b0 B662D3E1 ldrh r6, [r3, #38] 436:apps/rssi/main.c **** uint16_t a, e, p; 3344 .loc 1 436 3 is_stmt 1 view .LVU1036 437:apps/rssi/main.c **** int height = framebuffer->height - 25; 3345 .loc 1 437 3 view .LVU1037 438:apps/rssi/main.c **** 3346 .loc 1 438 3 view .LVU1038 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3347 .loc 1 441 31 is_stmt 0 view .LVU1039 3348 08b4 023C42E2 sub r3, r2, #512 3349 08b8 0338A0E1 lsl r3, r3, #16 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3350 .loc 1 441 6 view .LVU1040 3351 08bc 000051E3 cmp r1, #0 438:apps/rssi/main.c **** 3352 .loc 1 438 7 view .LVU1041 3353 08c0 199046E2 sub r9, r6, #25 3354 .LVL218: 440:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 3355 .loc 1 440 3 is_stmt 1 view .LVU1042 3356 .LBB612: 3357 .LBI607: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3358 .loc 2 86 1 view .LVU1043 3359 .LBB610: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3360 .loc 2 87 2 view .LVU1044 88:include/fb/framebuffer.h **** } 3361 .loc 2 88 2 view .LVU1045 88:include/fb/framebuffer.h **** } 3362 .loc 2 88 2 is_stmt 0 view .LVU1046 3363 .LBE610: 3364 .LBE612: 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3365 .loc 1 441 3 is_stmt 1 view .LVU1047 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3366 .loc 1 441 31 is_stmt 0 view .LVU1048 3367 08c4 2338A0E1 lsr r3, r3, #16 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3368 .loc 1 441 6 view .LVU1049 3369 08c8 0300000A beq .L210 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3370 .loc 1 441 31 discriminator 1 view .LVU1050 3371 08cc 70169FE5 ldr r1, .L325+100 3372 08d0 010053E1 cmp r3, r1 442:apps/rssi/main.c **** else if (arfcn >= DCS_MIN && arfcn <= DCS_MAX) 3373 .loc 1 442 4 discriminator 1 view .LVU1051 3374 08d4 6C169F95 ldrls r1, .L325+104 441:apps/rssi/main.c **** sprintf(text, "%4dP", arfcn); 3375 .loc 1 441 31 discriminator 1 view .LVU1052 3376 08d8 0300009A bls .L322 3377 .L210: 443:apps/rssi/main.c **** sprintf(text, "%4dD", arfcn); 3378 .loc 1 443 8 is_stmt 1 view .LVU1053 443:apps/rssi/main.c **** sprintf(text, "%4dD", arfcn); 3379 .loc 1 443 11 is_stmt 0 view .LVU1054 3380 08dc 68169FE5 ldr r1, .L325+108 3381 08e0 010053E1 cmp r3, r1 444:apps/rssi/main.c **** else 3382 .loc 1 444 4 is_stmt 1 view .LVU1055 3383 08e4 64169F95 ldrls r1, .L325+112 446:apps/rssi/main.c **** sprintf(text + 5, " %4d", pm_spectrum[arfcn & 1023] - 110); 3384 .loc 1 446 4 view .LVU1056 3385 08e8 64169F85 ldrhi r1, .L325+116 3386 .L322: 3387 08ec 18008DE2 add r0, sp, #24 3388 08f0 FEFFFFEB bl sprintf 3389 .LVL219: 447:apps/rssi/main.c **** fb_putstr(text, -1); 3390 .loc 1 447 3 view .LVU1057 447:apps/rssi/main.c **** fb_putstr(text, -1); 3391 .loc 1 447 49 is_stmt 0 view .LVU1058 3392 08f4 BA30D7E1 ldrh r3, [r7, #10] 3393 08f8 033BA0E1 lsl r3, r3, #22 3394 08fc 233BA0E1 lsr r3, r3, #22 447:apps/rssi/main.c **** fb_putstr(text, -1); 3395 .loc 1 447 42 view .LVU1059 3396 0900 033084E0 add r3, r4, r3 3397 0904 5420D3E5 ldrb r2, [r3, #84] @ zero_extendqisi2 447:apps/rssi/main.c **** fb_putstr(text, -1); 3398 .loc 1 447 3 view .LVU1060 3399 0908 78169FE5 ldr r1, .L325+168 3400 090c 6E2042E2 sub r2, r2, #110 3401 0910 1D008DE2 add r0, sp, #29 3402 0914 FEFFFFEB bl sprintf 3403 .LVL220: 448:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 3404 .loc 1 448 3 is_stmt 1 view .LVU1061 3405 0918 0010E0E3 mvn r1, #0 3406 091c 18008DE2 add r0, sp, #24 3407 0920 FEFFFFEB bl fb_putstr.isra.0 3408 .LVL221: 449:apps/rssi/main.c **** if (max) { 3409 .loc 1 449 3 view .LVU1062 3410 .LBB613: 3411 .LBI613: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 3412 .loc 2 92 1 view .LVU1063 3413 .LBB614: 93:include/fb/framebuffer.h **** } 3414 .loc 2 93 2 view .LVU1064 93:include/fb/framebuffer.h **** } 3415 .loc 2 93 24 is_stmt 0 view .LVU1065 3416 0924 FF28A0E3 mov r2, #16711680 93:include/fb/framebuffer.h **** } 3417 .loc 2 93 13 view .LVU1066 3418 0928 003095E5 ldr r3, [r5] 93:include/fb/framebuffer.h **** } 3419 .loc 2 93 24 view .LVU1067 3420 092c 2C2083E5 str r2, [r3, #44] 3421 .LVL222: 93:include/fb/framebuffer.h **** } 3422 .loc 2 93 24 view .LVU1068 3423 .LBE614: 3424 .LBE613: 450:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 3425 .loc 1 450 3 is_stmt 1 view .LVU1069 450:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 3426 .loc 1 450 6 is_stmt 0 view .LVU1070 3427 0930 502094E5 ldr r2, [r4, #80] 3428 0934 000052E3 cmp r2, #0 3429 0938 0B00000A beq .L213 451:apps/rssi/main.c **** fb_gotoxy(framebuffer->width - 16,15); 3430 .loc 1 451 4 is_stmt 1 view .LVU1071 3431 .LVL223: 3432 .LBB615: 3433 .LBI615: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 3434 .loc 2 102 1 view .LVU1072 3435 .LBB616: 3436 .loc 2 103 2 view .LVU1073 3437 .loc 2 103 20 is_stmt 0 view .LVU1074 3438 093c 0020A0E3 mov r2, #0 3439 .LBE616: 3440 .LBE615: 452:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 3441 .loc 1 452 25 view .LVU1075 3442 0940 B412D3E1 ldrh r1, [r3, #36] 3443 .LBB618: 3444 .LBB617: 3445 .loc 2 103 20 view .LVU1076 3446 0944 3420C3E5 strb r2, [r3, #52] 3447 .LVL224: 3448 .loc 2 103 20 view .LVU1077 3449 .LBE617: 3450 .LBE618: 452:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 3451 .loc 1 452 4 is_stmt 1 view .LVU1078 3452 .LBB619: 3453 .LBI619: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3454 .loc 2 86 1 view .LVU1079 3455 .LBB620: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3456 .loc 2 87 2 view .LVU1080 3457 .LBE620: 3458 .LBE619: 452:apps/rssi/main.c **** fb_putstr("max", framebuffer->width); 3459 .loc 1 452 4 is_stmt 0 view .LVU1081 3460 0948 102041E2 sub r2, r1, #16 3461 .LBB623: 3462 .LBB621: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3463 .loc 2 87 24 view .LVU1082 3464 094c B822C3E1 strh r2, [r3, #40] @ movhi 88:include/fb/framebuffer.h **** } 3465 .loc 2 88 2 is_stmt 1 view .LVU1083 88:include/fb/framebuffer.h **** } 3466 .loc 2 88 24 is_stmt 0 view .LVU1084 3467 0950 0F20A0E3 mov r2, #15 3468 .LBE621: 3469 .LBE623: 453:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 3470 .loc 1 453 4 view .LVU1085 3471 0954 E0059FE5 ldr r0, .L325+92 3472 .LBB624: 3473 .LBB622: 88:include/fb/framebuffer.h **** } 3474 .loc 2 88 24 view .LVU1086 3475 0958 BA22C3E1 strh r2, [r3, #42] @ movhi 3476 .LVL225: 88:include/fb/framebuffer.h **** } 3477 .loc 2 88 24 view .LVU1087 3478 .LBE622: 3479 .LBE624: 453:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 3480 .loc 1 453 4 is_stmt 1 view .LVU1088 3481 095c FEFFFFEB bl fb_putstr.isra.0 3482 .LVL226: 454:apps/rssi/main.c **** } 3483 .loc 1 454 4 view .LVU1089 3484 .LBB625: 3485 .LBI625: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 3486 .loc 2 102 1 view .LVU1090 3487 .LBB626: 3488 .loc 2 103 2 view .LVU1091 3489 .loc 2 103 20 is_stmt 0 view .LVU1092 3490 0960 0220A0E3 mov r2, #2 3491 0964 003095E5 ldr r3, [r5] 3492 0968 3420C3E5 strb r2, [r3, #52] 3493 .LVL227: 3494 .L213: 3495 .loc 2 103 20 view .LVU1093 3496 .LBE626: 3497 .LBE625: 456:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 3498 .loc 1 456 3 is_stmt 1 view .LVU1094 456:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 3499 .loc 1 456 16 is_stmt 0 view .LVU1095 3500 096c 18369FE5 ldr r3, .L325+172 3501 0970 082093E5 ldr r2, [r3, #8] 456:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 3502 .loc 1 456 6 view .LVU1096 3503 0974 010052E3 cmp r2, #1 3504 0978 0E00000A beq .L214 3505 .LBB627: 3506 .LBB628: 3507 .loc 2 103 20 view .LVU1097 3508 097c 0010A0E3 mov r1, #0 3509 .loc 2 103 13 view .LVU1098 3510 0980 003095E5 ldr r3, [r5] 3511 .LBE628: 3512 .LBE627: 457:apps/rssi/main.c **** fb_gotoxy(1, 15); 3513 .loc 1 457 4 is_stmt 1 view .LVU1099 3514 .LVL228: 3515 .LBB630: 3516 .LBI627: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 3517 .loc 2 102 1 view .LVU1100 3518 .LBB629: 3519 .loc 2 103 2 view .LVU1101 3520 .loc 2 103 20 is_stmt 0 view .LVU1102 3521 0984 3410C3E5 strb r1, [r3, #52] 3522 .LVL229: 3523 .loc 2 103 20 view .LVU1103 3524 .LBE629: 3525 .LBE630: 458:apps/rssi/main.c **** sprintf(text, "x%d", pm_scale); 3526 .loc 1 458 4 is_stmt 1 view .LVU1104 3527 .LBB631: 3528 .LBI631: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3529 .loc 2 86 1 view .LVU1105 3530 .LBB632: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3531 .loc 2 87 2 view .LVU1106 88:include/fb/framebuffer.h **** } 3532 .loc 2 88 2 view .LVU1107 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3533 .loc 2 87 24 is_stmt 0 view .LVU1108 3534 0988 00169FE5 ldr r1, .L325+176 3535 .LBE632: 3536 .LBE631: 459:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 3537 .loc 1 459 4 view .LVU1109 3538 098c 18008DE2 add r0, sp, #24 3539 .LBB634: 3540 .LBB633: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3541 .loc 2 87 24 view .LVU1110 3542 0990 281083E5 str r1, [r3, #40] 3543 .LVL230: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3544 .loc 2 87 24 view .LVU1111 3545 .LBE633: 3546 .LBE634: 459:apps/rssi/main.c **** fb_putstr(text, framebuffer->width); 3547 .loc 1 459 4 is_stmt 1 view .LVU1112 3548 0994 F8159FE5 ldr r1, .L325+180 3549 0998 FEFFFFEB bl sprintf 3550 .LVL231: 460:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 3551 .loc 1 460 4 view .LVU1113 460:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 3552 .loc 1 460 31 is_stmt 0 view .LVU1114 3553 099c 003095E5 ldr r3, [r5] 460:apps/rssi/main.c **** fb_setfont(FB_FONT_C64); 3554 .loc 1 460 4 view .LVU1115 3555 09a0 18008DE2 add r0, sp, #24 3556 09a4 B412D3E1 ldrh r1, [r3, #36] 3557 09a8 FEFFFFEB bl fb_putstr.isra.0 3558 .LVL232: 461:apps/rssi/main.c **** } 3559 .loc 1 461 4 is_stmt 1 view .LVU1116 3560 .LBB635: 3561 .LBI635: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 3562 .loc 2 102 1 view .LVU1117 3563 .LBB636: 3564 .loc 2 103 2 view .LVU1118 3565 .loc 2 103 20 is_stmt 0 view .LVU1119 3566 09ac 0220A0E3 mov r2, #2 3567 09b0 003095E5 ldr r3, [r5] 3568 09b4 3420C3E5 strb r2, [r3, #52] 3569 .LVL233: 3570 .L214: 3571 .loc 2 103 20 view .LVU1120 3572 .LBE636: 3573 .LBE635: 463:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) { 3574 .loc 1 463 3 is_stmt 1 view .LVU1121 3575 .LBB637: 3576 .LBI637: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 3577 .loc 2 92 1 view .LVU1122 3578 .LBB638: 93:include/fb/framebuffer.h **** } 3579 .loc 2 93 2 view .LVU1123 93:include/fb/framebuffer.h **** } 3580 .loc 2 93 24 is_stmt 0 view .LVU1124 3581 09b8 0020A0E3 mov r2, #0 3582 09bc 003095E5 ldr r3, [r5] 3583 09c0 2C2083E5 str r2, [r3, #44] 3584 .LVL234: 93:include/fb/framebuffer.h **** } 3585 .loc 2 93 24 view .LVU1125 3586 .LBE638: 3587 .LBE637: 464:apps/rssi/main.c **** a = PCS_MIN; 3588 .loc 1 464 3 is_stmt 1 view .LVU1126 464:apps/rssi/main.c **** a = PCS_MIN; 3589 .loc 1 464 6 is_stmt 0 view .LVU1127 3590 09c4 003094E5 ldr r3, [r4] 3591 09c8 020053E1 cmp r3, r2 3592 09cc 0800000A beq .L215 464:apps/rssi/main.c **** a = PCS_MIN; 3593 .loc 1 464 31 discriminator 1 view .LVU1128 3594 09d0 BA30D7E1 ldrh r3, [r7, #10] 3595 09d4 023C43E2 sub r3, r3, #512 3596 09d8 64259FE5 ldr r2, .L325+100 3597 09dc 0338A0E1 lsl r3, r3, #16 3598 09e0 2338A0E1 lsr r3, r3, #16 3599 09e4 020053E1 cmp r3, r2 465:apps/rssi/main.c **** e = PCS_MAX; 3600 .loc 1 465 6 discriminator 1 view .LVU1129 3601 09e8 02ACA093 movls r10, #512 466:apps/rssi/main.c **** } else { 3602 .loc 1 466 6 discriminator 1 view .LVU1130 3603 09ec A4B59F95 ldrls fp, .L325+184 464:apps/rssi/main.c **** a = PCS_MIN; 3604 .loc 1 464 31 discriminator 1 view .LVU1131 3605 09f0 0200009A bls .L216 3606 .L215: 468:apps/rssi/main.c **** e = band->max; 3607 .loc 1 468 4 is_stmt 1 view .LVU1132 468:apps/rssi/main.c **** e = band->max; 3608 .loc 1 468 12 is_stmt 0 view .LVU1133 3609 09f4 1C3994E5 ldr r3, [r4, #2332] 468:apps/rssi/main.c **** e = band->max; 3610 .loc 1 468 6 view .LVU1134 3611 09f8 B0A0D3E1 ldrh r10, [r3] 3612 .LVL235: 469:apps/rssi/main.c **** } 3613 .loc 1 469 4 is_stmt 1 view .LVU1135 469:apps/rssi/main.c **** } 3614 .loc 1 469 6 is_stmt 0 view .LVU1136 3615 09fc B4B0D3E1 ldrh fp, [r3, #4] 3616 .LVL236: 3617 .L216: 471:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 3618 .loc 1 471 3 is_stmt 1 view .LVU1137 471:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 3619 .loc 1 471 10 is_stmt 0 view .LVU1138 3620 0a00 0080A0E3 mov r8, #0 3621 0a04 0F1046E2 sub r1, r6, #15 3622 0a08 0118A0E1 lsl r1, r1, #16 3623 0a0c 2118A0E1 lsr r1, r1, #16 3624 .LVL237: 3625 .L217: 471:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 3626 .loc 1 471 17 is_stmt 1 discriminator 1 view .LVU1139 471:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 3627 .loc 1 471 30 is_stmt 0 discriminator 1 view .LVU1140 3628 0a10 002095E5 ldr r2, [r5] 3629 0a14 B432D2E1 ldrh r3, [r2, #36] 471:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 3630 .loc 1 471 17 discriminator 1 view .LVU1141 3631 0a18 080053E1 cmp r3, r8 472:apps/rssi/main.c **** if ((((p - a) & 1023) & 512)) 3632 .loc 1 472 48 discriminator 1 view .LVU1142 3633 0a1c A370A0E1 lsr r7, r3, #1 471:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 3634 .loc 1 471 17 discriminator 1 view .LVU1143 3635 0a20 C60000CA bgt .L224 487:apps/rssi/main.c **** fb_gotoxy(i, 0); 3636 .loc 1 487 3 is_stmt 1 view .LVU1144 3637 .LVL238: 488:apps/rssi/main.c **** fb_boxto(i, 4); 3638 .loc 1 488 3 view .LVU1145 3639 .LBB639: 3640 .LBI639: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3641 .loc 2 86 1 view .LVU1146 3642 .LBB640: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3643 .loc 2 87 2 view .LVU1147 88:include/fb/framebuffer.h **** } 3644 .loc 2 88 24 is_stmt 0 view .LVU1148 3645 0a24 0030A0E3 mov r3, #0 3646 .LVL239: 88:include/fb/framebuffer.h **** } 3647 .loc 2 88 24 view .LVU1149 3648 .LBE640: 3649 .LBE639: 489:apps/rssi/main.c **** fb_gotoxy(i, height + 10); 3650 .loc 1 489 3 view .LVU1150 3651 0a28 0410A0E3 mov r1, #4 3652 .LBB643: 3653 .LBB641: 88:include/fb/framebuffer.h **** } 3654 .loc 2 88 24 view .LVU1151 3655 0a2c BA32C2E1 strh r3, [r2, #42] @ movhi 3656 .LBE641: 3657 .LBE643: 489:apps/rssi/main.c **** fb_gotoxy(i, height + 10); 3658 .loc 1 489 3 view .LVU1152 3659 0a30 0700A0E1 mov r0, r7 3660 .LBB644: 3661 .LBB642: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3662 .loc 2 87 24 view .LVU1153 3663 0a34 B872C2E1 strh r7, [r2, #40] @ movhi 88:include/fb/framebuffer.h **** } 3664 .loc 2 88 2 is_stmt 1 view .LVU1154 3665 .LVL240: 88:include/fb/framebuffer.h **** } 3666 .loc 2 88 2 is_stmt 0 view .LVU1155 3667 .LBE642: 3668 .LBE644: 489:apps/rssi/main.c **** fb_gotoxy(i, height + 10); 3669 .loc 1 489 3 is_stmt 1 view .LVU1156 3670 0a38 FEFFFFEB bl fb_boxto 3671 .LVL241: 490:apps/rssi/main.c **** fb_boxto(i, height + 14); 3672 .loc 1 490 3 view .LVU1157 3673 .LBB645: 3674 .LBI645: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3675 .loc 2 86 1 view .LVU1158 3676 .LBB646: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3677 .loc 2 87 2 view .LVU1159 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3678 .loc 2 87 13 is_stmt 0 view .LVU1160 3679 0a3c 003095E5 ldr r3, [r5] 3680 .LBE646: 3681 .LBE645: 491:apps/rssi/main.c **** } 3682 .loc 1 491 3 view .LVU1161 3683 0a40 0B1046E2 sub r1, r6, #11 490:apps/rssi/main.c **** fb_boxto(i, height + 14); 3684 .loc 1 490 3 view .LVU1162 3685 0a44 0F2046E2 sub r2, r6, #15 491:apps/rssi/main.c **** } 3686 .loc 1 491 3 view .LVU1163 3687 0a48 0118A0E1 lsl r1, r1, #16 3688 0a4c 0700A0E1 mov r0, r7 3689 .LBB648: 3690 .LBB647: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3691 .loc 2 87 24 view .LVU1164 3692 0a50 B872C3E1 strh r7, [r3, #40] @ movhi 88:include/fb/framebuffer.h **** } 3693 .loc 2 88 2 is_stmt 1 view .LVU1165 88:include/fb/framebuffer.h **** } 3694 .loc 2 88 24 is_stmt 0 view .LVU1166 3695 0a54 BA22C3E1 strh r2, [r3, #42] @ movhi 3696 .LVL242: 88:include/fb/framebuffer.h **** } 3697 .loc 2 88 24 view .LVU1167 3698 .LBE647: 3699 .LBE648: 491:apps/rssi/main.c **** } 3700 .loc 1 491 3 is_stmt 1 view .LVU1168 3701 0a58 2118A0E1 lsr r1, r1, #16 3702 0a5c FEFFFFEB bl fb_boxto 3703 .LVL243: 3704 .L209: 491:apps/rssi/main.c **** } 3705 .loc 1 491 3 is_stmt 0 view .LVU1169 3706 .LBE606: 495:apps/rssi/main.c **** fb_gotoxy(0, framebuffer->height - 10); 3707 .loc 1 495 2 is_stmt 1 view .LVU1170 3708 .LBB661: 3709 .LBI661: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 3710 .loc 2 92 1 view .LVU1171 3711 .LBB662: 93:include/fb/framebuffer.h **** } 3712 .loc 2 93 2 view .LVU1172 93:include/fb/framebuffer.h **** } 3713 .loc 2 93 24 is_stmt 0 view .LVU1173 3714 0a60 FF2CA0E3 mov r2, #65280 3715 .LBE662: 3716 .LBE661: 3717 .LBB665: 3718 .LBB666: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3719 .loc 2 87 24 view .LVU1174 3720 0a64 0060A0E3 mov r6, #0 3721 .LBE666: 3722 .LBE665: 3723 .LBB668: 3724 .LBB663: 93:include/fb/framebuffer.h **** } 3725 .loc 2 93 13 view .LVU1175 3726 0a68 003095E5 ldr r3, [r5] 3727 .LBE663: 3728 .LBE668: 496:apps/rssi/main.c **** fb_boxto(framebuffer->width-1, framebuffer->height - 10); 3729 .loc 1 496 2 view .LVU1176 3730 0a6c B612D3E1 ldrh r1, [r3, #38] 497:apps/rssi/main.c **** fb_gotoxy(0, framebuffer->height - 1); 3731 .loc 1 497 2 view .LVU1177 3732 0a70 B402D3E1 ldrh r0, [r3, #36] 496:apps/rssi/main.c **** fb_boxto(framebuffer->width-1, framebuffer->height - 10); 3733 .loc 1 496 2 view .LVU1178 3734 0a74 0A1041E2 sub r1, r1, #10 3735 0a78 0118A0E1 lsl r1, r1, #16 497:apps/rssi/main.c **** fb_gotoxy(0, framebuffer->height - 1); 3736 .loc 1 497 2 view .LVU1179 3737 0a7c 010040E2 sub r0, r0, #1 496:apps/rssi/main.c **** fb_boxto(framebuffer->width-1, framebuffer->height - 10); 3738 .loc 1 496 2 view .LVU1180 3739 0a80 2118A0E1 lsr r1, r1, #16 497:apps/rssi/main.c **** fb_gotoxy(0, framebuffer->height - 1); 3740 .loc 1 497 2 view .LVU1181 3741 0a84 0008A0E1 lsl r0, r0, #16 3742 .LBB669: 3743 .LBB664: 93:include/fb/framebuffer.h **** } 3744 .loc 2 93 24 view .LVU1182 3745 0a88 2C2083E5 str r2, [r3, #44] 3746 .LVL244: 93:include/fb/framebuffer.h **** } 3747 .loc 2 93 24 view .LVU1183 3748 .LBE664: 3749 .LBE669: 496:apps/rssi/main.c **** fb_boxto(framebuffer->width-1, framebuffer->height - 10); 3750 .loc 1 496 2 is_stmt 1 view .LVU1184 3751 .LBB670: 3752 .LBI665: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3753 .loc 2 86 1 view .LVU1185 3754 .LBB667: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3755 .loc 2 87 2 view .LVU1186 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3756 .loc 2 87 24 is_stmt 0 view .LVU1187 3757 0a8c B862C3E1 strh r6, [r3, #40] @ movhi 88:include/fb/framebuffer.h **** } 3758 .loc 2 88 2 is_stmt 1 view .LVU1188 88:include/fb/framebuffer.h **** } 3759 .loc 2 88 24 is_stmt 0 view .LVU1189 3760 0a90 BA12C3E1 strh r1, [r3, #42] @ movhi 3761 .LVL245: 88:include/fb/framebuffer.h **** } 3762 .loc 2 88 24 view .LVU1190 3763 .LBE667: 3764 .LBE670: 497:apps/rssi/main.c **** fb_gotoxy(0, framebuffer->height - 1); 3765 .loc 1 497 2 is_stmt 1 view .LVU1191 3766 0a94 2008A0E1 lsr r0, r0, #16 3767 0a98 FEFFFFEB bl fb_boxto 3768 .LVL246: 498:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 3769 .loc 1 498 2 view .LVU1192 498:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 3770 .loc 1 498 26 is_stmt 0 view .LVU1193 3771 0a9c 003095E5 ldr r3, [r5] 498:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 3772 .loc 1 498 2 view .LVU1194 3773 0aa0 B622D3E1 ldrh r2, [r3, #38] 3774 0aa4 012042E2 sub r2, r2, #1 3775 .LVL247: 3776 .LBB671: 3777 .LBI671: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3778 .loc 2 86 1 is_stmt 1 view .LVU1195 3779 .LBB672: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3780 .loc 2 87 2 view .LVU1196 88:include/fb/framebuffer.h **** } 3781 .loc 2 88 24 is_stmt 0 view .LVU1197 3782 0aa8 BA22C3E1 strh r2, [r3, #42] @ movhi 3783 .LBE672: 3784 .LBE671: 3785 .LBB674: 3786 .LBB675: 93:include/fb/framebuffer.h **** } 3787 .loc 2 93 24 view .LVU1198 3788 0aac FF28A0E3 mov r2, #16711680 3789 .LVL248: 93:include/fb/framebuffer.h **** } 3790 .loc 2 93 24 view .LVU1199 3791 .LBE675: 3792 .LBE674: 3793 .LBB677: 3794 .LBB673: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3795 .loc 2 87 24 view .LVU1200 3796 0ab0 B862C3E1 strh r6, [r3, #40] @ movhi 88:include/fb/framebuffer.h **** } 3797 .loc 2 88 2 is_stmt 1 view .LVU1201 3798 .LVL249: 88:include/fb/framebuffer.h **** } 3799 .loc 2 88 2 is_stmt 0 view .LVU1202 3800 .LBE673: 3801 .LBE677: 499:apps/rssi/main.c **** if (mode == MODE_ARFCN) 3802 .loc 1 499 2 is_stmt 1 view .LVU1203 3803 .LBB678: 3804 .LBI674: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 3805 .loc 2 92 1 view .LVU1204 3806 .LBB676: 93:include/fb/framebuffer.h **** } 3807 .loc 2 93 2 view .LVU1205 93:include/fb/framebuffer.h **** } 3808 .loc 2 93 24 is_stmt 0 view .LVU1206 3809 0ab4 2C2083E5 str r2, [r3, #44] 3810 .LVL250: 93:include/fb/framebuffer.h **** } 3811 .loc 2 93 24 view .LVU1207 3812 .LBE676: 3813 .LBE678: 500:apps/rssi/main.c **** sprintf(text, "%s %s", (cursor) ? "del " : "back", 3814 .loc 1 500 2 is_stmt 1 view .LVU1208 500:apps/rssi/main.c **** sprintf(text, "%s %s", (cursor) ? "del " : "back", 3815 .loc 1 500 11 is_stmt 0 view .LVU1209 3816 0ab8 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 500:apps/rssi/main.c **** sprintf(text, "%s %s", (cursor) ? "del " : "back", 3817 .loc 1 500 5 view .LVU1210 3818 0abc 020053E3 cmp r3, #2 3819 0ac0 CB00001A bne .L225 501:apps/rssi/main.c **** (cursor) ? "enter" : " "); 3820 .loc 1 501 3 is_stmt 1 view .LVU1211 3821 0ac4 FC3494E5 ldr r3, [r4, #1276] 3822 0ac8 CC249FE5 ldr r2, .L325+188 3823 0acc CC149FE5 ldr r1, .L325+192 3824 0ad0 060053E1 cmp r3, r6 3825 0ad4 C8349FE5 ldr r3, .L325+196 3826 0ad8 0230A001 moveq r3, r2 3827 0adc C4249FE5 ldr r2, .L325+200 3828 0ae0 0120A001 moveq r2, r1 3829 0ae4 C0149FE5 ldr r1, .L325+204 3830 .L324: 509:apps/rssi/main.c **** (uplink) ? "UL" : "DL"); 3831 .loc 1 509 3 is_stmt 0 view .LVU1212 3832 0ae8 18008DE2 add r0, sp, #24 3833 0aec FEFFFFEB bl sprintf 3834 .LVL251: 3835 0af0 D20000EA b .L227 3836 .L157: 293:apps/rssi/main.c **** if (sync_msg[0] == 'o') 3837 .loc 1 293 3 is_stmt 1 view .LVU1213 3838 .LVL252: 3839 .LBB679: 3840 .LBI679: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3841 .loc 2 86 1 view .LVU1214 3842 .LBB680: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3843 .loc 2 87 2 view .LVU1215 88:include/fb/framebuffer.h **** } 3844 .loc 2 88 2 view .LVU1216 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3845 .loc 2 87 24 is_stmt 0 view .LVU1217 3846 0af4 0527A0E3 mov r2, #1310720 3847 0af8 003095E5 ldr r3, [r5] 3848 0afc 282083E5 str r2, [r3, #40] 3849 .LVL253: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3850 .loc 2 87 24 view .LVU1218 3851 .LBE680: 3852 .LBE679: 294:apps/rssi/main.c **** sprintf(text, "BSIC%d/%d %4d", bsic >> 3, bsic & 7, 3853 .loc 1 294 3 is_stmt 1 view .LVU1219 294:apps/rssi/main.c **** sprintf(text, "BSIC%d/%d %4d", bsic >> 3, bsic & 7, 3854 .loc 1 294 15 is_stmt 0 view .LVU1220 3855 0b00 84349FE5 ldr r3, .L325+172 3856 0b04 042093E5 ldr r2, [r3, #4] 294:apps/rssi/main.c **** sprintf(text, "BSIC%d/%d %4d", bsic >> 3, bsic & 7, 3857 .loc 1 294 6 view .LVU1221 3858 0b08 0030D2E5 ldrb r3, [r2] @ zero_extendqisi2 3859 0b0c 6F0053E3 cmp r3, #111 3860 0b10 6B00001A bne .L172 295:apps/rssi/main.c **** power - 110); 3861 .loc 1 295 4 is_stmt 1 view .LVU1222 3862 0b14 5934D4E5 ldrb r3, [r4, #1113] @ zero_extendqisi2 3863 0b18 5824D4E5 ldrb r2, [r4, #1112] @ zero_extendqisi2 3864 0b1c 6E3043E2 sub r3, r3, #110 3865 0b20 00308DE5 str r3, [sp] 3866 0b24 84149FE5 ldr r1, .L325+208 3867 0b28 073002E2 and r3, r2, #7 3868 0b2c 18008DE2 add r0, sp, #24 3869 0b30 A221A0E1 lsr r2, r2, #3 3870 0b34 FEFFFFEB bl sprintf 3871 .LVL254: 3872 .L173: 299:apps/rssi/main.c **** 3873 .loc 1 299 3 view .LVU1223 3874 0b38 0010E0E3 mvn r1, #0 3875 0b3c 18008DE2 add r0, sp, #24 3876 0b40 FEFFFFEB bl fb_putstr.isra.0 3877 .LVL255: 301:apps/rssi/main.c **** text[0] = si_1[2] ? '1' : '-'; 3878 .loc 1 301 3 view .LVU1224 3879 .LBB681: 3880 .LBI681: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3881 .loc 2 86 1 view .LVU1225 3882 .LBB682: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3883 .loc 2 87 2 view .LVU1226 88:include/fb/framebuffer.h **** } 3884 .loc 2 88 2 view .LVU1227 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3885 .loc 2 87 24 is_stmt 0 view .LVU1228 3886 0b44 0727A0E3 mov r2, #1835008 3887 0b48 003095E5 ldr r3, [r5] 3888 0b4c 282083E5 str r2, [r3, #40] 3889 .LVL256: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3890 .loc 2 87 24 view .LVU1229 3891 .LBE682: 3892 .LBE681: 302:apps/rssi/main.c **** text[1] = ' '; 3893 .loc 1 302 3 is_stmt 1 view .LVU1230 302:apps/rssi/main.c **** text[1] = ' '; 3894 .loc 1 302 11 is_stmt 0 view .LVU1231 3895 0b50 5E34D4E5 ldrb r3, [r4, #1118] @ zero_extendqisi2 3896 0b54 000053E3 cmp r3, #0 3897 0b58 2D30A003 moveq r3, #45 3898 0b5c 3130A013 movne r3, #49 304:apps/rssi/main.c **** text[3] = ' '; 3899 .loc 1 304 11 view .LVU1232 3900 0b60 7524D4E5 ldrb r2, [r4, #1141] @ zero_extendqisi2 3901 0b64 000052E3 cmp r2, #0 3902 0b68 2D20A003 moveq r2, #45 3903 0b6c 3220A013 movne r2, #50 302:apps/rssi/main.c **** text[1] = ' '; 3904 .loc 1 302 11 view .LVU1233 3905 0b70 1830CDE5 strb r3, [sp, #24] 303:apps/rssi/main.c **** text[2] = si_2[2] ? '2' : '-'; 3906 .loc 1 303 3 is_stmt 1 view .LVU1234 303:apps/rssi/main.c **** text[2] = si_2[2] ? '2' : '-'; 3907 .loc 1 303 11 is_stmt 0 view .LVU1235 3908 0b74 2030A0E3 mov r3, #32 304:apps/rssi/main.c **** text[3] = ' '; 3909 .loc 1 304 11 view .LVU1236 3910 0b78 1A20CDE5 strb r2, [sp, #26] 306:apps/rssi/main.c **** text[5] = si_2bis[2] ? 'b' : ' '; 3911 .loc 1 306 11 view .LVU1237 3912 0b7c 8C24D4E5 ldrb r2, [r4, #1164] @ zero_extendqisi2 3913 0b80 000052E3 cmp r2, #0 3914 0b84 0320A001 moveq r2, r3 3915 0b88 6220A013 movne r2, #98 307:apps/rssi/main.c **** text[6] = si_2ter[2] ? '2' : '-'; 3916 .loc 1 307 11 view .LVU1238 3917 0b8c 1D20CDE5 strb r2, [sp, #29] 308:apps/rssi/main.c **** text[7] = si_2ter[2] ? 't' : ' '; 3918 .loc 1 308 11 view .LVU1239 3919 0b90 A324D4E5 ldrb r2, [r4, #1187] @ zero_extendqisi2 306:apps/rssi/main.c **** text[5] = si_2bis[2] ? 'b' : ' '; 3920 .loc 1 306 11 view .LVU1240 3921 0b94 3210A013 movne r1, #50 3922 0b98 2D10A003 moveq r1, #45 308:apps/rssi/main.c **** text[7] = si_2ter[2] ? 't' : ' '; 3923 .loc 1 308 11 view .LVU1241 3924 0b9c 000052E3 cmp r2, #0 3925 0ba0 0320A001 moveq r2, r3 3926 0ba4 7420A013 movne r2, #116 309:apps/rssi/main.c **** text[8] = ' '; 3927 .loc 1 309 11 view .LVU1242 3928 0ba8 1F20CDE5 strb r2, [sp, #31] 311:apps/rssi/main.c **** text[10] = ' '; 3929 .loc 1 311 11 view .LVU1243 3930 0bac BA24D4E5 ldrb r2, [r4, #1210] @ zero_extendqisi2 303:apps/rssi/main.c **** text[2] = si_2[2] ? '2' : '-'; 3931 .loc 1 303 11 view .LVU1244 3932 0bb0 1930CDE5 strb r3, [sp, #25] 304:apps/rssi/main.c **** text[3] = ' '; 3933 .loc 1 304 3 is_stmt 1 view .LVU1245 305:apps/rssi/main.c **** text[4] = si_2bis[2] ? '2' : '-'; 3934 .loc 1 305 3 view .LVU1246 305:apps/rssi/main.c **** text[4] = si_2bis[2] ? '2' : '-'; 3935 .loc 1 305 11 is_stmt 0 view .LVU1247 3936 0bb4 1B30CDE5 strb r3, [sp, #27] 306:apps/rssi/main.c **** text[5] = si_2bis[2] ? 'b' : ' '; 3937 .loc 1 306 3 is_stmt 1 view .LVU1248 308:apps/rssi/main.c **** text[7] = si_2ter[2] ? 't' : ' '; 3938 .loc 1 308 3 view .LVU1249 310:apps/rssi/main.c **** text[9] = si_3[2] ? '3' : '-'; 3939 .loc 1 310 3 view .LVU1250 310:apps/rssi/main.c **** text[9] = si_3[2] ? '3' : '-'; 3940 .loc 1 310 11 is_stmt 0 view .LVU1251 3941 0bb8 2030CDE5 strb r3, [sp, #32] 311:apps/rssi/main.c **** text[10] = ' '; 3942 .loc 1 311 3 is_stmt 1 view .LVU1252 312:apps/rssi/main.c **** text[11] = si_4[2] ? '4' : '-'; 3943 .loc 1 312 12 is_stmt 0 view .LVU1253 3944 0bbc 2230CDE5 strb r3, [sp, #34] 313:apps/rssi/main.c **** text[12] = '\0'; 3945 .loc 1 313 12 view .LVU1254 3946 0bc0 D134D4E5 ldrb r3, [r4, #1233] @ zero_extendqisi2 3947 0bc4 1C10CDE5 strb r1, [sp, #28] 308:apps/rssi/main.c **** text[7] = si_2ter[2] ? 't' : ' '; 3948 .loc 1 308 11 view .LVU1255 3949 0bc8 3210A013 movne r1, #50 3950 0bcc 2D10A003 moveq r1, #45 311:apps/rssi/main.c **** text[10] = ' '; 3951 .loc 1 311 11 view .LVU1256 3952 0bd0 000052E3 cmp r2, #0 3953 0bd4 2D20A003 moveq r2, #45 3954 0bd8 3320A013 movne r2, #51 313:apps/rssi/main.c **** text[12] = '\0'; 3955 .loc 1 313 12 view .LVU1257 3956 0bdc 000053E3 cmp r3, #0 3957 0be0 2D30A003 moveq r3, #45 3958 0be4 3430A013 movne r3, #52 3959 0be8 2330CDE5 strb r3, [sp, #35] 314:apps/rssi/main.c **** fb_putstr(text, -1); 3960 .loc 1 314 12 view .LVU1258 3961 0bec 0030A0E3 mov r3, #0 3962 0bf0 1E10CDE5 strb r1, [sp, #30] 315:apps/rssi/main.c **** 3963 .loc 1 315 3 view .LVU1259 3964 0bf4 18008DE2 add r0, sp, #24 3965 0bf8 0010E0E3 mvn r1, #0 311:apps/rssi/main.c **** text[10] = ' '; 3966 .loc 1 311 11 view .LVU1260 3967 0bfc 2120CDE5 strb r2, [sp, #33] 312:apps/rssi/main.c **** text[11] = si_4[2] ? '4' : '-'; 3968 .loc 1 312 3 is_stmt 1 view .LVU1261 313:apps/rssi/main.c **** text[12] = '\0'; 3969 .loc 1 313 3 view .LVU1262 314:apps/rssi/main.c **** fb_putstr(text, -1); 3970 .loc 1 314 3 view .LVU1263 314:apps/rssi/main.c **** fb_putstr(text, -1); 3971 .loc 1 314 12 is_stmt 0 view .LVU1264 3972 0c00 2430CDE5 strb r3, [sp, #36] 315:apps/rssi/main.c **** 3973 .loc 1 315 3 is_stmt 1 view .LVU1265 3974 0c04 FEFFFFEB bl fb_putstr.isra.0 3975 .LVL257: 317:apps/rssi/main.c **** fb_putstr("MCC MNC LAC ", -1); 3976 .loc 1 317 3 view .LVU1266 3977 .LBB683: 3978 .LBI683: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 3979 .loc 2 86 1 view .LVU1267 3980 .LBB684: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3981 .loc 2 87 2 view .LVU1268 88:include/fb/framebuffer.h **** } 3982 .loc 2 88 2 view .LVU1269 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3983 .loc 2 87 24 is_stmt 0 view .LVU1270 3984 0c08 0927A0E3 mov r2, #2359296 3985 0c0c 003095E5 ldr r3, [r5] 3986 .LBE684: 3987 .LBE683: 318:apps/rssi/main.c **** fb_gotoxy(0, 44); 3988 .loc 1 318 3 view .LVU1271 3989 0c10 0010E0E3 mvn r1, #0 3990 .LBB686: 3991 .LBB685: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3992 .loc 2 87 24 view .LVU1272 3993 0c14 282083E5 str r2, [r3, #40] 3994 .LVL258: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 3995 .loc 2 87 24 view .LVU1273 3996 .LBE685: 3997 .LBE686: 318:apps/rssi/main.c **** fb_gotoxy(0, 44); 3998 .loc 1 318 3 is_stmt 1 view .LVU1274 3999 0c18 94039FE5 ldr r0, .L325+212 4000 0c1c FEFFFFEB bl fb_putstr.isra.0 4001 .LVL259: 319:apps/rssi/main.c **** if (mcc) { 4002 .loc 1 319 3 view .LVU1275 4003 .LBB687: 4004 .LBI687: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 4005 .loc 2 86 1 view .LVU1276 4006 .LBB688: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4007 .loc 2 87 2 view .LVU1277 88:include/fb/framebuffer.h **** } 4008 .loc 2 88 2 view .LVU1278 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4009 .loc 2 87 24 is_stmt 0 view .LVU1279 4010 0c20 0B27A0E3 mov r2, #2883584 4011 0c24 003095E5 ldr r3, [r5] 4012 .LBE688: 4013 .LBE687: 320:apps/rssi/main.c **** if ((mnc & 0x00f) == 0x00f) 4014 .loc 1 320 7 view .LVU1280 4015 0c28 10639FE5 ldr r6, .L325+96 4016 .LBB690: 4017 .LBB689: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4018 .loc 2 87 24 view .LVU1281 4019 0c2c 282083E5 str r2, [r3, #40] 4020 .LVL260: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4021 .loc 2 87 24 view .LVU1282 4022 .LBE689: 4023 .LBE690: 320:apps/rssi/main.c **** if ((mnc & 0x00f) == 0x00f) 4024 .loc 1 320 3 is_stmt 1 view .LVU1283 320:apps/rssi/main.c **** if ((mnc & 0x00f) == 0x00f) 4025 .loc 1 320 7 is_stmt 0 view .LVU1284 4026 0c30 B620D6E1 ldrh r2, [r6, #6] 320:apps/rssi/main.c **** if ((mnc & 0x00f) == 0x00f) 4027 .loc 1 320 6 view .LVU1285 4028 0c34 000052E3 cmp r2, #0 327:apps/rssi/main.c **** fb_gotoxy(0, 52); 4029 .loc 1 327 4 view .LVU1286 4030 0c38 0010E003 mvneq r1, #0 4031 0c3c 74039F05 ldreq r0, .L325+216 320:apps/rssi/main.c **** if ((mnc & 0x00f) == 0x00f) 4032 .loc 1 320 6 view .LVU1287 4033 0c40 0B00000A beq .L318 321:apps/rssi/main.c **** sprintf(text, "%3x %02x %04x", mcc, mnc >> 4, lac); 4034 .loc 1 321 4 is_stmt 1 view .LVU1288 321:apps/rssi/main.c **** sprintf(text, "%3x %02x %04x", mcc, mnc >> 4, lac); 4035 .loc 1 321 13 is_stmt 0 view .LVU1289 4036 0c44 B830D6E1 ldrh r3, [r6, #8] 322:apps/rssi/main.c **** else 4037 .loc 1 322 5 view .LVU1290 4038 0c48 BA10D6E1 ldrh r1, [r6, #10] 321:apps/rssi/main.c **** sprintf(text, "%3x %02x %04x", mcc, mnc >> 4, lac); 4039 .loc 1 321 7 view .LVU1291 4040 0c4c 0F0003E2 and r0, r3, #15 4041 0c50 0F0050E3 cmp r0, #15 322:apps/rssi/main.c **** else 4042 .loc 1 322 5 is_stmt 1 view .LVU1292 4043 0c54 00108DE5 str r1, [sp] 4044 0c58 2332A001 lsreq r3, r3, #4 4045 0c5c 58139F05 ldreq r1, .L325+220 324:apps/rssi/main.c **** fb_putstr(text, -1); 4046 .loc 1 324 5 view .LVU1293 4047 0c60 58139F15 ldrne r1, .L325+224 4048 0c64 18008DE2 add r0, sp, #24 4049 0c68 FEFFFFEB bl sprintf 4050 .LVL261: 325:apps/rssi/main.c **** } else 4051 .loc 1 325 4 view .LVU1294 4052 0c6c 0010E0E3 mvn r1, #0 4053 0c70 18008DE2 add r0, sp, #24 4054 .L318: 327:apps/rssi/main.c **** fb_gotoxy(0, 52); 4055 .loc 1 327 4 is_stmt 0 view .LVU1295 4056 0c74 FEFFFFEB bl fb_putstr.isra.0 4057 .LVL262: 328:apps/rssi/main.c **** if (si_3[2]) { 4058 .loc 1 328 3 is_stmt 1 view .LVU1296 4059 .LBB691: 4060 .LBI691: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 4061 .loc 2 86 1 view .LVU1297 4062 .LBB692: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4063 .loc 2 87 2 view .LVU1298 88:include/fb/framebuffer.h **** } 4064 .loc 2 88 2 view .LVU1299 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4065 .loc 2 87 24 is_stmt 0 view .LVU1300 4066 0c78 0D27A0E3 mov r2, #3407872 4067 0c7c 003095E5 ldr r3, [r5] 4068 0c80 282083E5 str r2, [r3, #40] 4069 .LVL263: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4070 .loc 2 87 24 view .LVU1301 4071 .LBE692: 4072 .LBE691: 329:apps/rssi/main.c **** sprintf(text, "cell id:%04x", cell_id); 4073 .loc 1 329 3 is_stmt 1 view .LVU1302 329:apps/rssi/main.c **** sprintf(text, "cell id:%04x", cell_id); 4074 .loc 1 329 6 is_stmt 0 view .LVU1303 4075 0c84 BA34D4E5 ldrb r3, [r4, #1210] @ zero_extendqisi2 4076 0c88 000053E3 cmp r3, #0 333:apps/rssi/main.c **** } 4077 .loc 1 333 4 view .LVU1304 4078 0c8c 0010E003 mvneq r1, #0 4079 0c90 2C039F05 ldreq r0, .L325+228 329:apps/rssi/main.c **** sprintf(text, "cell id:%04x", cell_id); 4080 .loc 1 329 6 view .LVU1305 4081 0c94 0500000A beq .L319 330:apps/rssi/main.c **** fb_putstr(text, -1); 4082 .loc 1 330 4 is_stmt 1 view .LVU1306 4083 0c98 28139FE5 ldr r1, .L325+232 4084 0c9c BC20D6E1 ldrh r2, [r6, #12] 4085 0ca0 18008DE2 add r0, sp, #24 4086 0ca4 FEFFFFEB bl sprintf 4087 .LVL264: 331:apps/rssi/main.c **** } else 4088 .loc 1 331 4 view .LVU1307 4089 0ca8 0010E0E3 mvn r1, #0 4090 0cac 18008DE2 add r0, sp, #24 4091 .L319: 333:apps/rssi/main.c **** } 4092 .loc 1 333 4 is_stmt 0 view .LVU1308 4093 0cb0 FEFFFFEB bl fb_putstr.isra.0 4094 .LVL265: 337:apps/rssi/main.c **** int i, y = 0; 4095 .loc 1 337 2 is_stmt 1 view .LVU1309 337:apps/rssi/main.c **** int i, y = 0; 4096 .loc 1 337 5 is_stmt 0 view .LVU1310 4097 0cb4 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 4098 0cb8 030053E3 cmp r3, #3 4099 0cbc 75FDFF0A beq .L158 4100 0cc0 56FEFFEA b .L234 4101 .L172: 298:apps/rssi/main.c **** fb_putstr(text, -1); 4102 .loc 1 298 4 is_stmt 1 view .LVU1311 4103 0cc4 00139FE5 ldr r1, .L325+236 4104 0cc8 18008DE2 add r0, sp, #24 4105 0ccc FEFFFFEB bl sprintf 4106 .LVL266: 4107 0cd0 98FFFFEA b .L173 4108 .LVL267: 4109 .L187: 4110 .LBB693: 346:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 4111 .loc 1 346 6 view .LVU1312 4112 0cd4 0910A0E1 mov r1, r9 4113 0cd8 1F008DE2 add r0, sp, #31 4114 0cdc FEFFFFEB bl sprintf 4115 .LVL268: 347:apps/rssi/main.c **** text[0] = '\0'; 4116 .loc 1 347 6 view .LVU1313 4117 0ce0 FC2494E5 ldr r2, [r4, #1276] 4118 0ce4 14108DE2 add r1, sp, #20 4119 0ce8 012042E2 sub r2, r2, #1 4120 0cec 18008DE2 add r0, sp, #24 4121 0cf0 FEFFFFEB bl print_display 4122 .LVL269: 348:apps/rssi/main.c **** } 4123 .loc 1 348 6 view .LVU1314 348:apps/rssi/main.c **** } 4124 .loc 1 348 14 is_stmt 0 view .LVU1315 4125 0cf4 0030A0E3 mov r3, #0 4126 0cf8 1830CDE5 strb r3, [sp, #24] 4127 0cfc 79FDFFEA b .L186 4128 .LVL270: 4129 .L191: 360:apps/rssi/main.c **** print_display(text, &y, cursor - 1); 4130 .loc 1 360 6 is_stmt 1 view .LVU1316 4131 0d00 0810A0E1 mov r1, r8 4132 0d04 1F008DE2 add r0, sp, #31 4133 0d08 FEFFFFEB bl sprintf 4134 .LVL271: 361:apps/rssi/main.c **** text[0] = '\0'; 4135 .loc 1 361 6 view .LVU1317 4136 0d0c FC2494E5 ldr r2, [r4, #1276] 4137 0d10 14108DE2 add r1, sp, #20 4138 0d14 012042E2 sub r2, r2, #1 4139 0d18 18008DE2 add r0, sp, #24 4140 0d1c FEFFFFEB bl print_display 4141 .LVL272: 362:apps/rssi/main.c **** } 4142 .loc 1 362 6 view .LVU1318 362:apps/rssi/main.c **** } 4143 .loc 1 362 14 is_stmt 0 view .LVU1319 4144 0d20 0030A0E3 mov r3, #0 4145 0d24 1830CDE5 strb r3, [sp, #24] 4146 0d28 87FDFFEA b .L190 4147 .LVL273: 4148 .L202: 362:apps/rssi/main.c **** } 4149 .loc 1 362 14 view .LVU1320 4150 .LBE693: 4151 .LBB694: 403:apps/rssi/main.c **** f = band->freq_ul; 4152 .loc 1 403 10 is_stmt 1 view .LVU1321 404:apps/rssi/main.c **** else 4153 .loc 1 404 12 is_stmt 0 view .LVU1322 4154 0d2c 1C3994E5 ldr r3, [r4, #2332] 403:apps/rssi/main.c **** f = band->freq_ul; 4155 .loc 1 403 13 view .LVU1323 4156 0d30 000051E3 cmp r1, #0 404:apps/rssi/main.c **** else 4157 .loc 1 404 4 is_stmt 1 view .LVU1324 404:apps/rssi/main.c **** else 4158 .loc 1 404 6 is_stmt 0 view .LVU1325 4159 0d34 10309315 ldrne r3, [r3, #16] 4160 .LVL274: 406:apps/rssi/main.c **** f += ((arfcn - band->min) & 1023) << 1; 4161 .loc 1 406 4 is_stmt 1 view .LVU1326 406:apps/rssi/main.c **** f += ((arfcn - band->min) & 1023) << 1; 4162 .loc 1 406 6 is_stmt 0 view .LVU1327 4163 0d38 14309305 ldreq r3, [r3, #20] 4164 .LVL275: 406:apps/rssi/main.c **** f += ((arfcn - band->min) & 1023) << 1; 4165 .loc 1 406 6 view .LVU1328 4166 0d3c 79FEFFEA b .L203 4167 .LVL276: 4168 .L224: 406:apps/rssi/main.c **** f += ((arfcn - band->min) & 1023) << 1; 4169 .loc 1 406 6 view .LVU1329 4170 .LBE694: 4171 .LBB695: 472:apps/rssi/main.c **** if ((((p - a) & 1023) & 512)) 4172 .loc 1 472 4 is_stmt 1 view .LVU1330 472:apps/rssi/main.c **** if ((((p - a) & 1023) & 512)) 4173 .loc 1 472 15 is_stmt 0 view .LVU1331 4174 0d40 88329FE5 ldr r3, .L325+240 472:apps/rssi/main.c **** if ((((p - a) & 1023) & 512)) 4175 .loc 1 472 19 view .LVU1332 4176 0d44 B030D3E1 ldrh r3, [r3] 4177 0d48 0808A0E1 lsl r0, r8, #16 4178 0d4c 2008A0E1 lsr r0, r0, #16 4179 0d50 073043E0 sub r3, r3, r7 4180 0d54 033080E0 add r3, r0, r3 472:apps/rssi/main.c **** if ((((p - a) & 1023) & 512)) 4181 .loc 1 472 6 view .LVU1333 4182 0d58 033BA0E1 lsl r3, r3, #22 4183 0d5c 233BA0E1 lsr r3, r3, #22 4184 .LVL277: 473:apps/rssi/main.c **** continue; 4185 .loc 1 473 4 is_stmt 1 view .LVU1334 475:apps/rssi/main.c **** continue; 4186 .loc 1 475 4 view .LVU1335 473:apps/rssi/main.c **** continue; 4187 .loc 1 473 18 is_stmt 0 view .LVU1336 4188 0d60 0AC043E0 sub ip, r3, r10 475:apps/rssi/main.c **** continue; 4189 .loc 1 475 18 view .LVU1337 4190 0d64 03E04BE0 sub lr, fp, r3 475:apps/rssi/main.c **** continue; 4191 .loc 1 475 7 view .LVU1338 4192 0d68 0EC08CE1 orr ip, ip, lr 4193 0d6c 020C1CE3 tst ip, #512 4194 0d70 1D00001A bne .L219 477:apps/rssi/main.c **** if (p > height) 4195 .loc 1 477 4 is_stmt 1 view .LVU1339 477:apps/rssi/main.c **** if (p > height) 4196 .loc 1 477 24 is_stmt 0 view .LVU1340 4197 0d74 10C29FE5 ldr ip, .L325+172 477:apps/rssi/main.c **** if (p > height) 4198 .loc 1 477 20 view .LVU1341 4199 0d78 033084E0 add r3, r4, r3 4200 .LVL278: 477:apps/rssi/main.c **** if (p > height) 4201 .loc 1 477 20 view .LVU1342 4202 0d7c 5430D3E5 ldrb r3, [r3, #84] @ zero_extendqisi2 477:apps/rssi/main.c **** if (p > height) 4203 .loc 1 477 24 view .LVU1343 4204 0d80 08C09CE5 ldr ip, [ip, #8] 4205 0d84 9C0303E0 mul r3, ip, r3 477:apps/rssi/main.c **** if (p > height) 4206 .loc 1 477 35 view .LVU1344 4207 0d88 990303E0 mul r3, r9, r3 477:apps/rssi/main.c **** if (p > height) 4208 .loc 1 477 44 view .LVU1345 4209 0d8c 000053E3 cmp r3, #0 4210 0d90 3FC083E2 add ip, r3, #63 4211 0d94 03C0A0A1 movge ip, r3 478:apps/rssi/main.c **** p = height; 4212 .loc 1 478 7 view .LVU1346 4213 0d98 34E29FE5 ldr lr, .L325+244 477:apps/rssi/main.c **** if (p > height) 4214 .loc 1 477 44 view .LVU1347 4215 0d9c 4C33A0E1 asr r3, ip, #6 4216 .LVL279: 478:apps/rssi/main.c **** p = height; 4217 .loc 1 478 4 is_stmt 1 view .LVU1348 478:apps/rssi/main.c **** p = height; 4218 .loc 1 478 7 is_stmt 0 view .LVU1349 4219 0da0 4CC30EE0 and ip, lr, ip, asr #6 4220 0da4 09005CE1 cmp ip, r9 479:apps/rssi/main.c **** if (i == (framebuffer->width >> 1)) 4221 .loc 1 479 5 is_stmt 1 view .LVU1350 479:apps/rssi/main.c **** if (i == (framebuffer->width >> 1)) 4222 .loc 1 479 7 is_stmt 0 view .LVU1351 4223 0da8 193046C2 subgt r3, r6, #25 4224 .LVL280: 480:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 4225 .loc 1 480 7 view .LVU1352 4226 0dac 080057E1 cmp r7, r8 4227 .LBB649: 4228 .LBB650: 93:include/fb/framebuffer.h **** } 4229 .loc 2 93 24 view .LVU1353 4230 0db0 FFC8A003 moveq ip, #16711680 4231 .LBE650: 4232 .LBE649: 479:apps/rssi/main.c **** if (i == (framebuffer->width >> 1)) 4233 .loc 1 479 7 view .LVU1354 4234 0db4 0338A0E1 lsl r3, r3, #16 4235 0db8 2338A0E1 lsr r3, r3, #16 4236 .LVL281: 480:apps/rssi/main.c **** fb_setfg(FB_COLOR_RED); 4237 .loc 1 480 4 is_stmt 1 view .LVU1355 481:apps/rssi/main.c **** fb_gotoxy(i, height + 10 - p); 4238 .loc 1 481 5 view .LVU1356 4239 .LBB653: 4240 .LBI649: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 4241 .loc 2 92 1 view .LVU1357 4242 .LBB651: 93:include/fb/framebuffer.h **** } 4243 .loc 2 93 2 view .LVU1358 4244 .LBE651: 4245 .LBE653: 482:apps/rssi/main.c **** fb_boxto(i, height + 10); 4246 .loc 1 482 4 is_stmt 0 view .LVU1359 4247 0dbc 033041E0 sub r3, r1, r3 4248 .LVL282: 4249 .LBB654: 4250 .LBB652: 93:include/fb/framebuffer.h **** } 4251 .loc 2 93 24 view .LVU1360 4252 0dc0 2CC08205 streq ip, [r2, #44] 4253 .LVL283: 93:include/fb/framebuffer.h **** } 4254 .loc 2 93 24 view .LVU1361 4255 .LBE652: 4256 .LBE654: 482:apps/rssi/main.c **** fb_boxto(i, height + 10); 4257 .loc 1 482 4 is_stmt 1 view .LVU1362 4258 .LBB655: 4259 .LBI655: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 4260 .loc 2 86 1 view .LVU1363 4261 .LBB656: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4262 .loc 2 87 2 view .LVU1364 88:include/fb/framebuffer.h **** } 4263 .loc 2 88 24 is_stmt 0 view .LVU1365 4264 0dc4 BA32C2E1 strh r3, [r2, #42] @ movhi 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4265 .loc 2 87 24 view .LVU1366 4266 0dc8 B802C2E1 strh r0, [r2, #40] @ movhi 88:include/fb/framebuffer.h **** } 4267 .loc 2 88 2 is_stmt 1 view .LVU1367 4268 .LVL284: 88:include/fb/framebuffer.h **** } 4269 .loc 2 88 2 is_stmt 0 view .LVU1368 4270 .LBE656: 4271 .LBE655: 483:apps/rssi/main.c **** if (i == (framebuffer->width >> 1)) 4272 .loc 1 483 4 is_stmt 1 view .LVU1369 4273 0dcc 08108DE5 str r1, [sp, #8] 4274 0dd0 FEFFFFEB bl fb_boxto 4275 .LVL285: 484:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 4276 .loc 1 484 4 view .LVU1370 484:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 4277 .loc 1 484 25 is_stmt 0 view .LVU1371 4278 0dd4 003095E5 ldr r3, [r5] 484:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 4279 .loc 1 484 33 view .LVU1372 4280 0dd8 B422D3E1 ldrh r2, [r3, #36] 484:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 4281 .loc 1 484 7 view .LVU1373 4282 0ddc A20058E1 cmp r8, r2, lsr #1 4283 .LBB657: 4284 .LBB658: 93:include/fb/framebuffer.h **** } 4285 .loc 2 93 24 view .LVU1374 4286 0de0 0020A003 moveq r2, #0 4287 .LBE658: 4288 .LBE657: 484:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 4289 .loc 1 484 7 view .LVU1375 4290 0de4 08109DE5 ldr r1, [sp, #8] 485:apps/rssi/main.c **** } 4291 .loc 1 485 5 is_stmt 1 view .LVU1376 4292 .LVL286: 4293 .LBB660: 4294 .LBI657: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 4295 .loc 2 92 1 view .LVU1377 4296 .LBB659: 93:include/fb/framebuffer.h **** } 4297 .loc 2 93 2 view .LVU1378 93:include/fb/framebuffer.h **** } 4298 .loc 2 93 24 is_stmt 0 view .LVU1379 4299 0de8 2C208305 streq r2, [r3, #44] 4300 .LVL287: 4301 .L219: 93:include/fb/framebuffer.h **** } 4302 .loc 2 93 24 view .LVU1380 4303 .LBE659: 4304 .LBE660: 471:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 4305 .loc 1 471 40 is_stmt 1 discriminator 2 view .LVU1381 4306 0dec 018088E2 add r8, r8, #1 4307 .LVL288: 471:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 4308 .loc 1 471 40 is_stmt 0 discriminator 2 view .LVU1382 4309 0df0 06FFFFEA b .L217 4310 .LVL289: 4311 .L225: 471:apps/rssi/main.c **** p = (arfcn + i - (framebuffer->width >> 1)) & 1023; 4312 .loc 1 471 40 discriminator 2 view .LVU1383 4313 .LBE695: 503:apps/rssi/main.c **** sprintf(text, "%s %s", "back", 4314 .loc 1 503 7 is_stmt 1 view .LVU1384 503:apps/rssi/main.c **** sprintf(text, "%s %s", "back", 4315 .loc 1 503 10 is_stmt 0 view .LVU1385 4316 0df4 030053E3 cmp r3, #3 4317 0df8 0A00001A bne .L228 503:apps/rssi/main.c **** sprintf(text, "%s %s", "back", 4318 .loc 1 503 29 discriminator 1 view .LVU1386 4319 0dfc FC3494E5 ldr r3, [r4, #1276] 4320 0e00 000053E3 cmp r3, #0 4321 0e04 090000AA bge .L229 504:apps/rssi/main.c **** (uplink) ? "UL" : "DL"); 4322 .loc 1 504 3 is_stmt 1 view .LVU1387 4323 0e08 041094E5 ldr r1, [r4, #4] 4324 0e0c C4219FE5 ldr r2, .L325+248 4325 0e10 000051E3 cmp r1, #0 4326 0e14 C0319FE5 ldr r3, .L325+252 4327 0e18 C0119FE5 ldr r1, .L325+256 4328 0e1c 0230A001 moveq r3, r2 4329 0e20 78219FE5 ldr r2, .L325+192 4330 0e24 2FFFFFEA b .L324 4331 .L228: 506:apps/rssi/main.c **** sprintf(text, "%s ", "back"); 4332 .loc 1 506 7 view .LVU1388 506:apps/rssi/main.c **** sprintf(text, "%s ", "back"); 4333 .loc 1 506 10 is_stmt 0 view .LVU1389 4334 0e28 040053E3 cmp r3, #4 4335 0e2c 2000001A bne .L231 4336 .L229: 507:apps/rssi/main.c **** else 4337 .loc 1 507 3 is_stmt 1 view .LVU1390 4338 0e30 68219FE5 ldr r2, .L325+192 4339 0e34 A8119FE5 ldr r1, .L325+260 4340 0e38 18008DE2 add r0, sp, #24 4341 0e3c FEFFFFEB bl sprintf 4342 .LVL290: 4343 .L227: 511:apps/rssi/main.c **** fb_setfg(FB_COLOR_BLACK); 4344 .loc 1 511 2 view .LVU1391 4345 0e40 18008DE2 add r0, sp, #24 4346 0e44 0010E0E3 mvn r1, #0 4347 0e48 FEFFFFEB bl fb_putstr.isra.0 4348 .LVL291: 512:apps/rssi/main.c **** fb_setfont(FB_FONT_HELVR08); 4349 .loc 1 512 2 view .LVU1392 4350 .LBB696: 4351 .LBI696: 92:include/fb/framebuffer.h **** framebuffer->fg_color = color; 4352 .loc 2 92 1 view .LVU1393 4353 .LBB697: 93:include/fb/framebuffer.h **** } 4354 .loc 2 93 2 view .LVU1394 93:include/fb/framebuffer.h **** } 4355 .loc 2 93 24 is_stmt 0 view .LVU1395 4356 0e4c 0010A0E3 mov r1, #0 93:include/fb/framebuffer.h **** } 4357 .loc 2 93 13 view .LVU1396 4358 0e50 003095E5 ldr r3, [r5] 4359 .LBE697: 4360 .LBE696: 514:apps/rssi/main.c **** sprintf(text, "%d", tone / 25); 4361 .loc 1 514 2 view .LVU1397 4362 0e54 B622D3E1 ldrh r2, [r3, #38] 4363 0e58 022042E2 sub r2, r2, #2 4364 .LBB699: 4365 .LBB698: 93:include/fb/framebuffer.h **** } 4366 .loc 2 93 24 view .LVU1398 4367 0e5c 2C1083E5 str r1, [r3, #44] 4368 .LVL292: 93:include/fb/framebuffer.h **** } 4369 .loc 2 93 24 view .LVU1399 4370 .LBE698: 4371 .LBE699: 513:apps/rssi/main.c **** fb_gotoxy(0, framebuffer->height - 2); 4372 .loc 1 513 2 is_stmt 1 view .LVU1400 4373 .LBB700: 4374 .LBI700: 102:include/fb/framebuffer.h **** framebuffer->font = fid; 4375 .loc 2 102 1 view .LVU1401 4376 .LBB701: 4377 .loc 2 103 2 view .LVU1402 4378 .loc 2 103 20 is_stmt 0 view .LVU1403 4379 0e60 3410C3E5 strb r1, [r3, #52] 4380 .LVL293: 4381 .loc 2 103 20 view .LVU1404 4382 .LBE701: 4383 .LBE700: 514:apps/rssi/main.c **** sprintf(text, "%d", tone / 25); 4384 .loc 1 514 2 is_stmt 1 view .LVU1405 4385 .LBB702: 4386 .LBI702: 86:include/fb/framebuffer.h **** framebuffer->cursor_x = x; 4387 .loc 2 86 1 view .LVU1406 4388 .LBB703: 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4389 .loc 2 87 2 view .LVU1407 87:include/fb/framebuffer.h **** framebuffer->cursor_y = y; 4390 .loc 2 87 24 is_stmt 0 view .LVU1408 4391 0e64 B812C3E1 strh r1, [r3, #40] @ movhi 88:include/fb/framebuffer.h **** } 4392 .loc 2 88 2 is_stmt 1 view .LVU1409 88:include/fb/framebuffer.h **** } 4393 .loc 2 88 24 is_stmt 0 view .LVU1410 4394 0e68 BA22C3E1 strh r2, [r3, #42] @ movhi 4395 .LVL294: 88:include/fb/framebuffer.h **** } 4396 .loc 2 88 24 view .LVU1411 4397 .LBE703: 4398 .LBE702: 515:apps/rssi/main.c **** fb_putstr(text, -1); 4399 .loc 1 515 2 is_stmt 1 view .LVU1412 4400 0e6c 94109FE5 ldr r1, .L325+40 4401 0e70 243994E5 ldr r3, [r4, #2340] 4402 0e74 9301C2E0 smull r0, r2, r3, r1 4403 0e78 C33FA0E1 asr r3, r3, #31 4404 0e7c C22163E0 rsb r2, r3, r2, asr #3 4405 0e80 60119FE5 ldr r1, .L325+264 4406 0e84 18008DE2 add r0, sp, #24 4407 0e88 FEFFFFEB bl sprintf 4408 .LVL295: 516:apps/rssi/main.c **** 4409 .loc 1 516 2 view .LVU1413 4410 0e8c 0010E0E3 mvn r1, #0 4411 0e90 18008DE2 add r0, sp, #24 4412 0e94 FEFFFFEB bl fb_putstr.isra.0 4413 .LVL296: 518:apps/rssi/main.c **** } 4414 .loc 1 518 2 view .LVU1414 4415 .LBB704: 4416 .LBI704: 81:include/fb/framebuffer.h **** framebuffer->flush(); 4417 .loc 2 81 1 view .LVU1415 4418 .LBB705: 82:include/fb/framebuffer.h **** } 4419 .loc 2 82 2 view .LVU1416 82:include/fb/framebuffer.h **** } 4420 .loc 2 82 13 is_stmt 0 view .LVU1417 4421 0e98 003095E5 ldr r3, [r5] 82:include/fb/framebuffer.h **** } 4422 .loc 2 82 2 view .LVU1418 4423 0e9c 203093E5 ldr r3, [r3, #32] 4424 0ea0 0FE0A0E1 mov lr, pc 4425 0ea4 13FF2FE1 bx r3 4426 .LVL297: 4427 .LBE705: 4428 .LBE704: 519:apps/rssi/main.c **** 4429 .loc 1 519 1 view .LVU1419 4430 0ea8 3CD08DE2 add sp, sp, #60 4431 .LCFI19: 4432 .cfi_remember_state 4433 .cfi_def_cfa_offset 36 4434 @ sp needed 4435 0eac F04FBDE8 pop {r4, r5, r6, r7, r8, r9, r10, fp, lr} 4436 .LCFI20: 4437 .cfi_restore 14 4438 .cfi_restore 11 4439 .cfi_restore 10 4440 .cfi_restore 9 4441 .cfi_restore 8 4442 .cfi_restore 7 4443 .cfi_restore 6 4444 .cfi_restore 5 4445 .cfi_restore 4 4446 .cfi_def_cfa_offset 0 4447 0eb0 1EFF2FE1 bx lr 4448 .L231: 4449 .LCFI21: 4450 .cfi_restore_state 509:apps/rssi/main.c **** (uplink) ? "UL" : "DL"); 4451 .loc 1 509 3 is_stmt 1 view .LVU1420 4452 0eb4 030094E8 ldm r4, {r0, r1} 4453 0eb8 18219FE5 ldr r2, .L325+248 4454 0ebc 000051E3 cmp r1, #0 4455 0ec0 24119FE5 ldr r1, .L325+268 4456 0ec4 10319FE5 ldr r3, .L325+252 4457 0ec8 0230A001 moveq r3, r2 4458 0ecc 000050E3 cmp r0, #0 4459 0ed0 18219FE5 ldr r2, .L325+272 4460 0ed4 0120A001 moveq r2, r1 4461 0ed8 14119FE5 ldr r1, .L325+276 4462 0edc 01FFFFEA b .L324 4463 .L326: 4464 .align 2 4465 .L325: 4466 0ee0 00000000 .word framebuffer 4467 0ee4 00000000 .word battery_info 4468 0ee8 00000000 .word .LANCHOR0 4469 0eec BE000000 .word .LC16 4470 0ef0 00C0C000 .word 12632064 4471 0ef4 CB000000 .word .LC17 4472 0ef8 D1000000 .word .LC18 4473 0efc DA000000 .word .LC19 4474 0f00 00000000 .word jiffies 4475 0f04 E4000000 .word .LC20 4476 0f08 1F85EB51 .word 1374389535 4477 0f0c 1D010000 .word .LC26 4478 0f10 0E050000 .word .LANCHOR0+1294 4479 0f14 AF010000 .word .LC41 4480 0f18 A8010000 .word .LC40 4481 0f1c B4010000 .word .LC42 4482 0f20 F1000000 .word .LC21 4483 0f24 2A020000 .word 554 4484 0f28 F9000000 .word .LC22 4485 0f2c FF000000 .word .LC23 4486 0f30 09010000 .word .LC24 4487 0f34 15010000 .word .LC25 4488 0f38 29010000 .word .LC27 4489 0f3c 2E010000 .word .LC28 4490 0f40 00050000 .word .LANCHOR0+1280 4491 0f44 2A010000 .word 298 4492 0f48 32010000 .word .LC29 4493 0f4c 75010000 .word 373 4494 0f50 37010000 .word .LC30 4495 0f54 3C010000 .word .LC31 4496 0f58 10090000 .word .LANCHOR0+2320 4497 0f5c BB010000 .word .LC43 4498 0f60 C4010000 .word .LC44 4499 0f64 D0010000 .word .LC45 4500 0f68 DC010000 .word .LC46 4501 0f6c E5010000 .word .LC47 4502 0f70 46480000 .word 18502 4503 0f74 664B0000 .word 19302 4504 0f78 FE070000 .word 2046 4505 0f7c 67666666 .word 1717986919 4506 0f80 E7010000 .word .LC48 4507 0f84 F3010000 .word .LC49 4508 0f88 FC010000 .word .LC50 4509 0f8c 00000000 .word .LANCHOR1 4510 0f90 01000F00 .word 983041 4511 0f94 03020000 .word .LC51 4512 0f98 2A030000 .word 810 4513 0f9c AA000000 .word .LC11 4514 0fa0 A5000000 .word .LC10 4515 0fa4 9F000000 .word .LC9 4516 0fa8 9A000000 .word .LC8 4517 0fac 07020000 .word .LC52 4518 0fb0 41010000 .word .LC32 4519 0fb4 57010000 .word .LC34 4520 0fb8 81010000 .word .LC37 4521 0fbc 64010000 .word .LC35 4522 0fc0 73010000 .word .LC36 4523 0fc4 9B010000 .word .LC39 4524 0fc8 8E010000 .word .LC38 4525 0fcc 4F010000 .word .LC33 4526 0fd0 1A090000 .word .LANCHOR0+2330 4527 0fd4 FFFF0000 .word 65535 4528 0fd8 B3000000 .word .LC13 4529 0fdc B0000000 .word .LC12 4530 0fe0 0F020000 .word .LC53 4531 0fe4 1A020000 .word .LC54 4532 0fe8 31020000 .word .LC56 4533 0fec BA000000 .word .LC15 4534 0ff0 B6000000 .word .LC14 4535 0ff4 25020000 .word .LC55 4536 .cfi_endproc 4537 .LFE133: 4539 .section .text.toggle_up_down,"ax",%progbits 4540 .align 2 4541 .syntax unified 4542 .arm 4544 toggle_up_down: 4545 .LFB139: 684:apps/rssi/main.c **** uplink = !uplink; 4546 .loc 1 684 1 view -0 4547 .cfi_startproc 4548 @ Function supports interworking. 4549 @ args = 0, pretend = 0, frame = 0 4550 @ frame_needed = 0, uses_anonymous_args = 0 685:apps/rssi/main.c **** refresh_display(); 4551 .loc 1 685 2 view .LVU1422 684:apps/rssi/main.c **** uplink = !uplink; 4552 .loc 1 684 1 is_stmt 0 view .LVU1423 4553 0000 10402DE9 push {r4, lr} 4554 .LCFI22: 4555 .cfi_def_cfa_offset 8 4556 .cfi_offset 4, -8 4557 .cfi_offset 14, -4 685:apps/rssi/main.c **** refresh_display(); 4558 .loc 1 685 9 view .LVU1424 4559 0004 40409FE5 ldr r4, .L330 685:apps/rssi/main.c **** refresh_display(); 4560 .loc 1 685 11 view .LVU1425 4561 0008 043094E5 ldr r3, [r4, #4] 4562 000c 013073E2 rsbs r3, r3, #1 4563 0010 0030A033 movcc r3, #0 685:apps/rssi/main.c **** refresh_display(); 4564 .loc 1 685 9 view .LVU1426 4565 0014 043084E5 str r3, [r4, #4] 686:apps/rssi/main.c **** 4566 .loc 1 686 2 is_stmt 1 view .LVU1427 4567 0018 FEFFFFEB bl refresh_display 4568 .LVL298: 688:apps/rssi/main.c **** request_ul_levels(ul_arfcn); 4569 .loc 1 688 2 view .LVU1428 688:apps/rssi/main.c **** request_ul_levels(ul_arfcn); 4570 .loc 1 688 5 is_stmt 0 view .LVU1429 4571 001c FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 4572 0020 030053E3 cmp r3, #3 4573 0024 0600001A bne .L327 688:apps/rssi/main.c **** request_ul_levels(ul_arfcn); 4574 .loc 1 688 24 discriminator 1 view .LVU1430 4575 0028 FC3494E5 ldr r3, [r4, #1276] 4576 002c 000053E3 cmp r3, #0 4577 0030 030000AA bge .L327 4578 .LBB708: 4579 .LBI708: 683:apps/rssi/main.c **** { 4580 .loc 1 683 13 is_stmt 1 view .LVU1431 4581 .LBB709: 689:apps/rssi/main.c **** } 4582 .loc 1 689 3 view .LVU1432 4583 0034 054C84E2 add r4, r4, #1280 4584 0038 B400D4E1 ldrh r0, [r4, #4] 4585 .LBE709: 4586 .LBE708: 690:apps/rssi/main.c **** 4587 .loc 1 690 1 is_stmt 0 view .LVU1433 4588 003c 1040BDE8 pop {r4, lr} 4589 .LCFI23: 4590 .cfi_remember_state 4591 .cfi_restore 14 4592 .cfi_restore 4 4593 .cfi_def_cfa_offset 0 4594 .LBB711: 4595 .LBB710: 689:apps/rssi/main.c **** } 4596 .loc 1 689 3 view .LVU1434 4597 0040 FEFFFFEA b request_ul_levels 4598 .LVL299: 4599 .L327: 4600 .LCFI24: 4601 .cfi_restore_state 4602 .LBE710: 4603 .LBE711: 690:apps/rssi/main.c **** 4604 .loc 1 690 1 view .LVU1435 4605 0044 1040BDE8 pop {r4, lr} 4606 .LCFI25: 4607 .cfi_restore 14 4608 .cfi_restore 4 4609 .cfi_def_cfa_offset 0 4610 0048 1EFF2FE1 bx lr 4611 .L331: 4612 .align 2 4613 .L330: 4614 004c 00000000 .word .LANCHOR0 4615 .cfi_endproc 4616 .LFE139: 4618 .section .text.exit_rach,"ax",%progbits 4619 .align 2 4620 .syntax unified 4621 .arm 4623 exit_rach: 4624 .LFB154: 1225:apps/rssi/main.c **** rach = 0; 4625 .loc 1 1225 1 is_stmt 1 view -0 4626 .cfi_startproc 4627 @ Function supports interworking. 4628 @ args = 0, pretend = 0, frame = 0 4629 @ frame_needed = 0, uses_anonymous_args = 0 1226:apps/rssi/main.c **** 4630 .loc 1 1226 2 view .LVU1437 1226:apps/rssi/main.c **** 4631 .loc 1 1226 7 is_stmt 0 view .LVU1438 4632 0000 0030A0E3 mov r3, #0 1225:apps/rssi/main.c **** rach = 0; 4633 .loc 1 1225 1 view .LVU1439 4634 0004 10402DE9 push {r4, lr} 4635 .LCFI26: 4636 .cfi_def_cfa_offset 8 4637 .cfi_offset 4, -8 4638 .cfi_offset 14, -4 1226:apps/rssi/main.c **** 4639 .loc 1 1226 7 view .LVU1440 4640 0008 1C409FE5 ldr r4, .L334 4641 000c 083084E5 str r3, [r4, #8] 1228:apps/rssi/main.c **** 4642 .loc 1 1228 2 is_stmt 1 view .LVU1441 4643 0010 053C84E2 add r3, r4, #1280 4644 0014 B400D3E1 ldrh r0, [r3, #4] 4645 0018 FEFFFFEB bl request_ul_levels 4646 .LVL300: 1230:apps/rssi/main.c **** refresh_display(); 4647 .loc 1 1230 2 view .LVU1442 1230:apps/rssi/main.c **** refresh_display(); 4648 .loc 1 1230 7 is_stmt 0 view .LVU1443 4649 001c 0330A0E3 mov r3, #3 4650 0020 FA34C4E5 strb r3, [r4, #1274] 1231:apps/rssi/main.c **** } 4651 .loc 1 1231 2 is_stmt 1 view .LVU1444 1232:apps/rssi/main.c **** 4652 .loc 1 1232 1 is_stmt 0 view .LVU1445 4653 0024 1040BDE8 pop {r4, lr} 4654 .LCFI27: 4655 .cfi_restore 14 4656 .cfi_restore 4 4657 .cfi_def_cfa_offset 0 1231:apps/rssi/main.c **** } 4658 .loc 1 1231 2 view .LVU1446 4659 0028 FEFFFFEA b refresh_display 4660 .LVL301: 4661 .L335: 4662 .align 2 4663 .L334: 4664 002c 00000000 .word .LANCHOR0 4665 .cfi_endproc 4666 .LFE154: 4668 .section .text.toggle_spectrum,"ax",%progbits 4669 .align 2 4670 .syntax unified 4671 .arm 4673 toggle_spectrum: 4674 .LFB140: 693:apps/rssi/main.c **** if (mode == MODE_MAIN) { 4675 .loc 1 693 1 is_stmt 1 view -0 4676 .cfi_startproc 4677 @ Function supports interworking. 4678 @ args = 0, pretend = 0, frame = 0 4679 @ frame_needed = 0, uses_anonymous_args = 0 694:apps/rssi/main.c **** mode = MODE_SPECTRUM; 4680 .loc 1 694 2 view .LVU1448 693:apps/rssi/main.c **** if (mode == MODE_MAIN) { 4681 .loc 1 693 1 is_stmt 0 view .LVU1449 4682 0000 10402DE9 push {r4, lr} 4683 .LCFI28: 4684 .cfi_def_cfa_offset 8 4685 .cfi_offset 4, -8 4686 .cfi_offset 14, -4 694:apps/rssi/main.c **** mode = MODE_SPECTRUM; 4687 .loc 1 694 11 view .LVU1450 4688 0004 3C409FE5 ldr r4, .L341 4689 0008 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 694:apps/rssi/main.c **** mode = MODE_SPECTRUM; 4690 .loc 1 694 5 view .LVU1451 4691 000c 000053E3 cmp r3, #0 695:apps/rssi/main.c **** pm_mode = PM_IDLE; 4692 .loc 1 695 8 view .LVU1452 4693 0010 0120A003 moveq r2, #1 4694 0014 FA24C405 strbeq r2, [r4, #1274] 694:apps/rssi/main.c **** mode = MODE_SPECTRUM; 4695 .loc 1 694 5 view .LVU1453 4696 0018 0300000A beq .L340 697:apps/rssi/main.c **** mode = MODE_MAIN; 4697 .loc 1 697 9 is_stmt 1 view .LVU1454 697:apps/rssi/main.c **** mode = MODE_MAIN; 4698 .loc 1 697 12 is_stmt 0 view .LVU1455 4699 001c 010053E3 cmp r3, #1 4700 0020 0200001A bne .L338 698:apps/rssi/main.c **** pm_mode = PM_IDLE; 4701 .loc 1 698 3 is_stmt 1 view .LVU1456 698:apps/rssi/main.c **** pm_mode = PM_IDLE; 4702 .loc 1 698 8 is_stmt 0 view .LVU1457 4703 0024 0030A0E3 mov r3, #0 4704 0028 FA34C4E5 strb r3, [r4, #1274] 4705 .L340: 699:apps/rssi/main.c **** } 4706 .loc 1 699 3 is_stmt 1 view .LVU1458 699:apps/rssi/main.c **** } 4707 .loc 1 699 11 is_stmt 0 view .LVU1459 4708 002c 2030C4E5 strb r3, [r4, #32] 4709 .L338: 701:apps/rssi/main.c **** l1s_reset_hw(); 4710 .loc 1 701 2 is_stmt 1 view .LVU1460 4711 0030 FEFFFFEB bl l1s_reset 4712 .LVL302: 702:apps/rssi/main.c **** pm_count = 0; 4713 .loc 1 702 2 view .LVU1461 4714 0034 FEFFFFEB bl l1s_reset_hw 4715 .LVL303: 703:apps/rssi/main.c **** refresh_display(); 4716 .loc 1 703 2 view .LVU1462 703:apps/rssi/main.c **** refresh_display(); 4717 .loc 1 703 11 is_stmt 0 view .LVU1463 4718 0038 0030A0E3 mov r3, #0 4719 003c 243084E5 str r3, [r4, #36] 704:apps/rssi/main.c **** } 4720 .loc 1 704 2 is_stmt 1 view .LVU1464 705:apps/rssi/main.c **** 4721 .loc 1 705 1 is_stmt 0 view .LVU1465 4722 0040 1040BDE8 pop {r4, lr} 4723 .LCFI29: 4724 .cfi_restore 14 4725 .cfi_restore 4 4726 .cfi_def_cfa_offset 0 704:apps/rssi/main.c **** } 4727 .loc 1 704 2 view .LVU1466 4728 0044 FEFFFFEA b refresh_display 4729 .LVL304: 4730 .L342: 4731 .align 2 4732 .L341: 4733 0048 00000000 .word .LANCHOR0 4734 .cfi_endproc 4735 .LFE140: 4737 .section .text.inc_dec_arfcn.isra.0,"ax",%progbits 4738 .align 2 4739 .syntax unified 4740 .arm 4742 inc_dec_arfcn.isra.0: 4743 .LVL305: 4744 .LFB177: 596:apps/rssi/main.c **** { 4745 .loc 1 596 12 is_stmt 1 view -0 4746 .cfi_startproc 4747 @ Function supports interworking. 4748 @ args = 0, pretend = 0, frame = 0 4749 @ frame_needed = 0, uses_anonymous_args = 0 596:apps/rssi/main.c **** { 4750 .loc 1 596 12 is_stmt 0 view .LVU1468 4751 0000 4C119FE5 ldr r1, .L376 4752 0004 F0412DE9 push {r4, r5, r6, r7, r8, lr} 4753 .LCFI30: 4754 .cfi_def_cfa_offset 24 4755 .cfi_offset 4, -24 4756 .cfi_offset 5, -20 4757 .cfi_offset 6, -16 4758 .cfi_offset 7, -12 4759 .cfi_offset 8, -8 4760 .cfi_offset 14, -4 607:apps/rssi/main.c **** break; 4761 .loc 1 607 14 view .LVU1469 4762 0008 0120A0E1 mov r2, r1 4763 000c 00E0A0E3 mov lr, #0 4764 0010 40519FE5 ldr r5, .L376+4 4765 0014 BA30D5E1 ldrh r3, [r5, #10] 4766 .L344: 601:apps/rssi/main.c **** band = &bands[i]; 4767 .loc 1 601 14 is_stmt 1 view .LVU1470 601:apps/rssi/main.c **** band = &bands[i]; 4768 .loc 1 601 22 is_stmt 0 view .LVU1471 4769 0018 04C092E5 ldr ip, [r2, #4] 601:apps/rssi/main.c **** band = &bands[i]; 4770 .loc 1 601 14 view .LVU1472 4771 001c 00005CE3 cmp ip, #0 4772 0020 0280A0E1 mov r8, r2 4773 0024 0400001A bne .L348 4774 0028 00005EE3 cmp lr, #0 4775 002c 28319F15 ldrne r3, .L376+8 4776 0030 1C698315 strne r6, [r3, #2332] 4777 .LVL306: 4778 .L343: 646:apps/rssi/main.c **** 4779 .loc 1 646 1 view .LVU1473 4780 0034 F041BDE8 pop {r4, r5, r6, r7, r8, lr} 4781 .LCFI31: 4782 .cfi_remember_state 4783 .cfi_restore 14 4784 .cfi_restore 8 4785 .cfi_restore 7 4786 .cfi_restore 6 4787 .cfi_restore 5 4788 .cfi_restore 4 4789 .cfi_def_cfa_offset 0 4790 0038 1EFF2FE1 bx lr 4791 .LVL307: 4792 .L348: 4793 .LCFI32: 4794 .cfi_restore_state 602:apps/rssi/main.c **** if (band->min < band->max) { 4795 .loc 1 602 3 is_stmt 1 view .LVU1474 603:apps/rssi/main.c **** if (arfcn >= band->min && arfcn <= band->max) 4796 .loc 1 603 3 view .LVU1475 603:apps/rssi/main.c **** if (arfcn >= band->min && arfcn <= band->max) 4797 .loc 1 603 11 is_stmt 0 view .LVU1476 4798 003c 007092E5 ldr r7, [r2] 604:apps/rssi/main.c **** break; 4799 .loc 1 604 7 view .LVU1477 4800 0040 030057E1 cmp r7, r3 4801 0044 00E0A0C3 movgt lr, #0 4802 0048 01E0A0D3 movle lr, #1 604:apps/rssi/main.c **** break; 4803 .loc 1 604 27 view .LVU1478 4804 004c 03005CE1 cmp ip, r3 4805 0050 0060A0B3 movlt r6, #0 4806 0054 0160A0A3 movge r6, #1 603:apps/rssi/main.c **** if (arfcn >= band->min && arfcn <= band->max) 4807 .loc 1 603 6 view .LVU1479 4808 0058 0C0057E1 cmp r7, ip 4809 005c 050000AA bge .L345 604:apps/rssi/main.c **** break; 4810 .loc 1 604 4 is_stmt 1 view .LVU1480 604:apps/rssi/main.c **** break; 4811 .loc 1 604 27 is_stmt 0 view .LVU1481 4812 0060 06001EE1 tst lr, r6 4813 .L373: 607:apps/rssi/main.c **** break; 4814 .loc 1 607 27 view .LVU1482 4815 0064 0500001A bne .L346 601:apps/rssi/main.c **** band = &bands[i]; 4816 .loc 1 601 29 is_stmt 1 view .LVU1483 607:apps/rssi/main.c **** break; 4817 .loc 1 607 14 is_stmt 0 view .LVU1484 4818 0068 0860A0E1 mov r6, r8 4819 006c 01E0A0E3 mov lr, #1 4820 0070 182082E2 add r2, r2, #24 4821 0074 E7FFFFEA b .L344 4822 .L345: 607:apps/rssi/main.c **** break; 4823 .loc 1 607 4 is_stmt 1 view .LVU1485 607:apps/rssi/main.c **** break; 4824 .loc 1 607 27 is_stmt 0 view .LVU1486 4825 0078 06E09EE1 orrs lr, lr, r6 4826 007c F8FFFFEA b .L373 4827 .L346: 4828 0080 D4C09FE5 ldr ip, .L376+8 614:apps/rssi/main.c **** if (arfcn == band->max) 4829 .loc 1 614 5 view .LVU1487 4830 0084 000050E3 cmp r0, #0 4831 0088 1C298CE5 str r2, [ip, #2332] 611:apps/rssi/main.c **** return -EINVAL; 4832 .loc 1 611 2 is_stmt 1 view .LVU1488 614:apps/rssi/main.c **** if (arfcn == band->max) 4833 .loc 1 614 2 view .LVU1489 614:apps/rssi/main.c **** if (arfcn == band->max) 4834 .loc 1 614 5 is_stmt 0 view .LVU1490 4835 008c 1100000A beq .L371 615:apps/rssi/main.c **** arfcn = band->next; 4836 .loc 1 615 3 is_stmt 1 view .LVU1491 615:apps/rssi/main.c **** arfcn = band->next; 4837 .loc 1 615 6 is_stmt 0 view .LVU1492 4838 0090 040092E5 ldr r0, [r2, #4] 4839 .LVL308: 615:apps/rssi/main.c **** arfcn = band->next; 4840 .loc 1 615 6 view .LVU1493 4841 0094 000053E1 cmp r3, r0 616:apps/rssi/main.c **** else if (arfcn == 1023) 4842 .loc 1 616 10 view .LVU1494 4843 0098 BC30D201 ldrheq r3, [r2, #12] 615:apps/rssi/main.c **** arfcn = band->next; 4844 .loc 1 615 6 view .LVU1495 4845 009c 0400000A beq .L356 617:apps/rssi/main.c **** arfcn = 0; 4846 .loc 1 617 8 is_stmt 1 view .LVU1496 617:apps/rssi/main.c **** arfcn = 0; 4847 .loc 1 617 11 is_stmt 0 view .LVU1497 4848 00a0 B8209FE5 ldr r2, .L376+12 4849 00a4 020053E1 cmp r3, r2 620:apps/rssi/main.c **** } else { 4850 .loc 1 620 9 view .LVU1498 4851 00a8 01308312 addne r3, r3, #1 617:apps/rssi/main.c **** arfcn = 0; 4852 .loc 1 617 11 view .LVU1499 4853 00ac 1100001A bne .L374 4854 00b0 0030A0E3 mov r3, #0 4855 .L356: 636:apps/rssi/main.c **** break; 4856 .loc 1 636 14 view .LVU1500 4857 00b4 0000A0E3 mov r0, #0 620:apps/rssi/main.c **** } else { 4858 .loc 1 620 9 view .LVU1501 4859 00b8 BA30C5E1 strh r3, [r5, #10] @ movhi 4860 .L355: 630:apps/rssi/main.c **** band = &bands[i]; 4861 .loc 1 630 14 is_stmt 1 view .LVU1502 630:apps/rssi/main.c **** band = &bands[i]; 4862 .loc 1 630 22 is_stmt 0 view .LVU1503 4863 00bc 042091E5 ldr r2, [r1, #4] 630:apps/rssi/main.c **** band = &bands[i]; 4864 .loc 1 630 14 view .LVU1504 4865 00c0 000052E3 cmp r2, #0 4866 00c4 0150A0E1 mov r5, r1 4867 00c8 0D00001A bne .L361 4868 00cc 000050E3 cmp r0, #0 4869 00d0 1C498C15 strne r4, [ip, #2332] 4870 00d4 D6FFFFEA b .L343 4871 .LVL309: 4872 .L371: 622:apps/rssi/main.c **** arfcn = band->prev; 4873 .loc 1 622 3 is_stmt 1 view .LVU1505 622:apps/rssi/main.c **** arfcn = band->prev; 4874 .loc 1 622 6 is_stmt 0 view .LVU1506 4875 00d8 000092E5 ldr r0, [r2] 4876 .LVL310: 622:apps/rssi/main.c **** arfcn = band->prev; 4877 .loc 1 622 6 view .LVU1507 4878 00dc 000053E1 cmp r3, r0 623:apps/rssi/main.c **** else if (arfcn == 0) 4879 .loc 1 623 10 view .LVU1508 4880 00e0 B830D201 ldrheq r3, [r2, #8] 622:apps/rssi/main.c **** arfcn = band->prev; 4881 .loc 1 622 6 view .LVU1509 4882 00e4 F2FFFF0A beq .L356 624:apps/rssi/main.c **** arfcn = 1023; 4883 .loc 1 624 8 is_stmt 1 view .LVU1510 624:apps/rssi/main.c **** arfcn = 1023; 4884 .loc 1 624 11 is_stmt 0 view .LVU1511 4885 00e8 000053E3 cmp r3, #0 4886 00ec 6C309F05 ldreq r3, .L376+12 4887 00f0 EFFFFF0A beq .L356 627:apps/rssi/main.c **** } 4888 .loc 1 627 4 is_stmt 1 view .LVU1512 627:apps/rssi/main.c **** } 4889 .loc 1 627 9 is_stmt 0 view .LVU1513 4890 00f4 013043E2 sub r3, r3, #1 4891 .L374: 4892 00f8 0338A0E1 lsl r3, r3, #16 4893 00fc 2338A0E1 lsr r3, r3, #16 4894 0100 EBFFFFEA b .L356 4895 .L361: 631:apps/rssi/main.c **** if (band->min < band->max) { 4896 .loc 1 631 3 is_stmt 1 view .LVU1514 632:apps/rssi/main.c **** if (arfcn >= band->min && arfcn <= band->max) 4897 .loc 1 632 3 view .LVU1515 632:apps/rssi/main.c **** if (arfcn >= band->min && arfcn <= band->max) 4898 .loc 1 632 11 is_stmt 0 view .LVU1516 4899 0104 004091E5 ldr r4, [r1] 633:apps/rssi/main.c **** break; 4900 .loc 1 633 27 view .LVU1517 4901 0108 030052E1 cmp r2, r3 4902 010c 0000A0B3 movlt r0, #0 4903 0110 0100A0A3 movge r0, #1 633:apps/rssi/main.c **** break; 4904 .loc 1 633 7 view .LVU1518 4905 0114 030054E1 cmp r4, r3 4906 0118 00E0A0C3 movgt lr, #0 4907 011c 01E0A0D3 movle lr, #1 632:apps/rssi/main.c **** if (arfcn >= band->min && arfcn <= band->max) 4908 .loc 1 632 6 view .LVU1519 4909 0120 020054E1 cmp r4, r2 4910 0124 050000AA bge .L358 633:apps/rssi/main.c **** break; 4911 .loc 1 633 4 is_stmt 1 view .LVU1520 633:apps/rssi/main.c **** break; 4912 .loc 1 633 27 is_stmt 0 view .LVU1521 4913 0128 0E0010E1 tst r0, lr 4914 .L375: 636:apps/rssi/main.c **** break; 4915 .loc 1 636 27 view .LVU1522 4916 012c 0500001A bne .L359 630:apps/rssi/main.c **** band = &bands[i]; 4917 .loc 1 630 29 is_stmt 1 view .LVU1523 636:apps/rssi/main.c **** break; 4918 .loc 1 636 14 is_stmt 0 view .LVU1524 4919 0130 0540A0E1 mov r4, r5 4920 0134 0100A0E3 mov r0, #1 4921 0138 181081E2 add r1, r1, #24 4922 013c DEFFFFEA b .L355 4923 .L358: 636:apps/rssi/main.c **** break; 4924 .loc 1 636 4 is_stmt 1 view .LVU1525 636:apps/rssi/main.c **** break; 4925 .loc 1 636 27 is_stmt 0 view .LVU1526 4926 0140 0E0090E1 orrs r0, r0, lr 4927 0144 F8FFFFEA b .L375 4928 .L359: 646:apps/rssi/main.c **** 4929 .loc 1 646 1 view .LVU1527 4930 0148 F041BDE8 pop {r4, r5, r6, r7, r8, lr} 4931 .LCFI33: 4932 .cfi_restore 14 4933 .cfi_restore 8 4934 .cfi_restore 7 4935 .cfi_restore 6 4936 .cfi_restore 5 4937 .cfi_restore 4 4938 .cfi_def_cfa_offset 0 4939 014c 1C198CE5 str r1, [ip, #2332] 640:apps/rssi/main.c **** return -EINVAL; 4940 .loc 1 640 2 is_stmt 1 view .LVU1528 643:apps/rssi/main.c **** 4941 .loc 1 643 2 view .LVU1529 4942 0150 FEFFFFEA b refresh_display 4943 .LVL311: 4944 .L377: 4945 .align 2 4946 .L376: 4947 0154 0C000000 .word .LANCHOR1+12 4948 0158 10090000 .word .LANCHOR0+2320 4949 015c 00000000 .word .LANCHOR0 4950 0160 FF030000 .word 1023 4951 .cfi_endproc 4952 .LFE177: 4954 .section .text.enter_arfcn,"ax",%progbits 4955 .align 2 4956 .syntax unified 4957 .arm 4959 enter_arfcn: 4960 .LVL312: 4961 .LFB135: 528:apps/rssi/main.c **** /* enter mode */ 4962 .loc 1 528 1 view -0 4963 .cfi_startproc 4964 @ Function supports interworking. 4965 @ args = 0, pretend = 0, frame = 0 4966 @ frame_needed = 0, uses_anonymous_args = 0 530:apps/rssi/main.c **** last_mode = mode; 4967 .loc 1 530 2 view .LVU1531 530:apps/rssi/main.c **** last_mode = mode; 4968 .loc 1 530 11 is_stmt 0 view .LVU1532 4969 0000 58319FE5 ldr r3, .L403 4970 0004 FA24D3E5 ldrb r2, [r3, #1274] @ zero_extendqisi2 530:apps/rssi/main.c **** last_mode = mode; 4971 .loc 1 530 5 view .LVU1533 4972 0008 020052E3 cmp r2, #2 4973 000c 0900000A beq .L379 531:apps/rssi/main.c **** mode = MODE_ARFCN; 4974 .loc 1 531 3 is_stmt 1 view .LVU1534 531:apps/rssi/main.c **** mode = MODE_ARFCN; 4975 .loc 1 531 13 is_stmt 0 view .LVU1535 4976 0010 2829C3E5 strb r2, [r3, #2344] 532:apps/rssi/main.c **** input[0] = code - KEY_0 + '0'; 4977 .loc 1 532 3 is_stmt 1 view .LVU1536 532:apps/rssi/main.c **** input[0] = code - KEY_0 + '0'; 4978 .loc 1 532 8 is_stmt 0 view .LVU1537 4979 0014 0220A0E3 mov r2, #2 4980 0018 FA24C3E5 strb r2, [r3, #1274] 533:apps/rssi/main.c **** input[1] = '\0'; 4981 .loc 1 533 3 is_stmt 1 view .LVU1538 534:apps/rssi/main.c **** cursor = 1; 4982 .loc 1 534 12 is_stmt 0 view .LVU1539 4983 001c 0020A0E3 mov r2, #0 4984 0020 1529C3E5 strb r2, [r3, #2325] 535:apps/rssi/main.c **** refresh_display(); 4985 .loc 1 535 10 view .LVU1540 4986 0024 0120A0E3 mov r2, #1 533:apps/rssi/main.c **** input[1] = '\0'; 4987 .loc 1 533 27 view .LVU1541 4988 0028 300080E2 add r0, r0, #48 4989 .LVL313: 533:apps/rssi/main.c **** input[1] = '\0'; 4990 .loc 1 533 12 view .LVU1542 4991 002c 1409C3E5 strb r0, [r3, #2324] 534:apps/rssi/main.c **** cursor = 1; 4992 .loc 1 534 3 is_stmt 1 view .LVU1543 535:apps/rssi/main.c **** refresh_display(); 4993 .loc 1 535 3 view .LVU1544 535:apps/rssi/main.c **** refresh_display(); 4994 .loc 1 535 10 is_stmt 0 view .LVU1545 4995 0030 FC2483E5 str r2, [r3, #1276] 536:apps/rssi/main.c **** return; 4996 .loc 1 536 3 is_stmt 1 view .LVU1546 4997 .L402: 4998 .LBB717: 4999 .LBB718: 593:apps/rssi/main.c **** } 5000 .loc 1 593 2 view .LVU1547 5001 0034 FEFFFFEA b refresh_display 5002 .LVL314: 5003 .L379: 593:apps/rssi/main.c **** } 5004 .loc 1 593 2 is_stmt 0 view .LVU1548 5005 .LBE718: 5006 .LBE717: 540:apps/rssi/main.c **** /* back */ 5007 .loc 1 540 2 is_stmt 1 view .LVU1549 540:apps/rssi/main.c **** /* back */ 5008 .loc 1 540 5 is_stmt 0 view .LVU1550 5009 0038 0D0050E3 cmp r0, #13 542:apps/rssi/main.c **** exit_arfcn(); 5010 .loc 1 542 14 view .LVU1551 5011 003c FC2493E5 ldr r2, [r3, #1276] 540:apps/rssi/main.c **** /* back */ 5012 .loc 1 540 5 view .LVU1552 5013 0040 0800001A bne .L380 542:apps/rssi/main.c **** exit_arfcn(); 5014 .loc 1 542 3 is_stmt 1 view .LVU1553 542:apps/rssi/main.c **** exit_arfcn(); 5015 .loc 1 542 6 is_stmt 0 view .LVU1554 5016 0044 000052E3 cmp r2, #0 543:apps/rssi/main.c **** return; 5017 .loc 1 543 4 is_stmt 1 view .LVU1555 5018 .LBB725: 5019 .LBI725: 521:apps/rssi/main.c **** { 5020 .loc 1 521 13 view .LVU1556 5021 .LBB726: 523:apps/rssi/main.c **** refresh_display(); 5022 .loc 1 523 2 view .LVU1557 5023 .LBE726: 5024 .LBE725: 547:apps/rssi/main.c **** input[cursor] = '\0'; 5025 .loc 1 547 9 is_stmt 0 view .LVU1558 5026 0048 01204212 subne r2, r2, #1 5027 004c FC248315 strne r2, [r3, #1276] 548:apps/rssi/main.c **** refresh_display(); 5028 .loc 1 548 17 view .LVU1559 5029 0050 02208310 addne r2, r3, r2 5030 0054 0030A013 movne r3, #0 5031 .LBB729: 5032 .LBB727: 523:apps/rssi/main.c **** refresh_display(); 5033 .loc 1 523 7 view .LVU1560 5034 0058 2829D305 ldrbeq r2, [r3, #2344] @ zero_extendqisi2 5035 .LBE727: 5036 .LBE729: 548:apps/rssi/main.c **** refresh_display(); 5037 .loc 1 548 17 view .LVU1561 5038 005c 1439C215 strbne r3, [r2, #2324] 5039 .LBB730: 5040 .LBB728: 523:apps/rssi/main.c **** refresh_display(); 5041 .loc 1 523 7 view .LVU1562 5042 0060 FA24C305 strbeq r2, [r3, #1274] 524:apps/rssi/main.c **** } 5043 .loc 1 524 2 is_stmt 1 view .LVU1563 5044 .LBE728: 5045 .LBE730: 547:apps/rssi/main.c **** input[cursor] = '\0'; 5046 .loc 1 547 3 view .LVU1564 548:apps/rssi/main.c **** refresh_display(); 5047 .loc 1 548 3 view .LVU1565 549:apps/rssi/main.c **** return; 5048 .loc 1 549 3 view .LVU1566 5049 0064 F2FFFFEA b .L402 5050 .L380: 5051 .LVL315: 5052 .LBB731: 5053 .LBI717: 527:apps/rssi/main.c **** { 5054 .loc 1 527 13 view .LVU1567 5055 .LBB722: 553:apps/rssi/main.c **** int check = 0; 5056 .loc 1 553 2 view .LVU1568 553:apps/rssi/main.c **** int check = 0; 5057 .loc 1 553 5 is_stmt 0 view .LVU1569 5058 0068 0E0050E3 cmp r0, #14 5059 006c 2E00001A bne .L382 5060 .LBB719: 554:apps/rssi/main.c **** int i; 5061 .loc 1 554 3 is_stmt 1 view .LVU1570 5062 .LVL316: 555:apps/rssi/main.c **** struct band *temp = NULL; 5063 .loc 1 555 3 view .LVU1571 556:apps/rssi/main.c **** 5064 .loc 1 556 3 view .LVU1572 559:apps/rssi/main.c **** return; 5065 .loc 1 559 3 view .LVU1573 559:apps/rssi/main.c **** return; 5066 .loc 1 559 6 is_stmt 0 view .LVU1574 5067 0070 000052E3 cmp r2, #0 5068 0074 1EFF2F01 bxeq lr 562:apps/rssi/main.c **** check = (check << 3) + (check << 1) + input[i] - '0'; 5069 .loc 1 562 10 view .LVU1575 5070 0078 0000A0E3 mov r0, #0 5071 .LVL317: 562:apps/rssi/main.c **** check = (check << 3) + (check << 1) + input[i] - '0'; 5072 .loc 1 562 10 view .LVU1576 5073 .LBE719: 5074 .LBE722: 5075 .LBE731: 528:apps/rssi/main.c **** /* enter mode */ 5076 .loc 1 528 1 view .LVU1577 5077 007c 70402DE9 push {r4, r5, r6, lr} 5078 .LCFI34: 5079 .cfi_def_cfa_offset 16 5080 .cfi_offset 4, -16 5081 .cfi_offset 5, -12 5082 .cfi_offset 6, -8 5083 .cfi_offset 14, -4 5084 .LBB732: 5085 .LBB723: 5086 .LBB720: 554:apps/rssi/main.c **** int i; 5087 .loc 1 554 7 view .LVU1578 5088 0080 0010A0E1 mov r1, r0 563:apps/rssi/main.c **** 5089 .loc 1 563 25 view .LVU1579 5090 0084 0A40A0E3 mov r4, #10 5091 0088 D4E09FE5 ldr lr, .L403+4 5092 008c 915E83E2 add r5, r3, #2320 5093 .LVL318: 5094 .L384: 562:apps/rssi/main.c **** check = (check << 3) + (check << 1) + input[i] - '0'; 5095 .loc 1 562 17 is_stmt 1 view .LVU1580 5096 0090 020050E1 cmp r0, r2 5097 0094 0F0000BA blt .L385 556:apps/rssi/main.c **** 5098 .loc 1 556 16 is_stmt 0 view .LVU1581 5099 0098 00E0A0E3 mov lr, #0 5100 009c C4209FE5 ldr r2, .L403+8 5101 .LVL319: 5102 .L386: 566:apps/rssi/main.c **** temp = &bands[i]; 5103 .loc 1 566 15 is_stmt 1 view .LVU1582 566:apps/rssi/main.c **** temp = &bands[i]; 5104 .loc 1 566 23 is_stmt 0 view .LVU1583 5105 00a0 040092E5 ldr r0, [r2, #4] 566:apps/rssi/main.c **** temp = &bands[i]; 5106 .loc 1 566 15 view .LVU1584 5107 00a4 000050E3 cmp r0, #0 5108 00a8 02C0A0E1 mov ip, r2 5109 00ac 0E00001A bne .L390 5110 00b0 0EC0A0E1 mov ip, lr 5111 .L388: 5112 .LVL320: 576:apps/rssi/main.c **** return; 5113 .loc 1 576 3 is_stmt 1 view .LVU1585 578:apps/rssi/main.c **** return; 5114 .loc 1 578 3 view .LVU1586 578:apps/rssi/main.c **** return; 5115 .loc 1 578 6 is_stmt 0 view .LVU1587 5116 00b4 000050E3 cmp r0, #0 5117 00b8 010B5113 cmpne r1, #1024 5118 00bc 250000AA bge .L378 580:apps/rssi/main.c **** band = temp; 5119 .loc 1 580 3 is_stmt 1 view .LVU1588 582:apps/rssi/main.c **** refresh_display(); 5120 .loc 1 582 8 is_stmt 0 view .LVU1589 5121 00c0 2829D3E5 ldrb r2, [r3, #2344] @ zero_extendqisi2 5122 00c4 FA24C3E5 strb r2, [r3, #1274] 580:apps/rssi/main.c **** band = temp; 5123 .loc 1 580 9 view .LVU1590 5124 00c8 BA10C5E1 strh r1, [r5, #10] @ movhi 581:apps/rssi/main.c **** mode = last_mode; 5125 .loc 1 581 3 is_stmt 1 view .LVU1591 581:apps/rssi/main.c **** mode = last_mode; 5126 .loc 1 581 8 is_stmt 0 view .LVU1592 5127 00cc 1CC983E5 str ip, [r3, #2332] 582:apps/rssi/main.c **** refresh_display(); 5128 .loc 1 582 3 is_stmt 1 view .LVU1593 583:apps/rssi/main.c **** return; 5129 .loc 1 583 3 view .LVU1594 5130 .LBE720: 5131 .LBE723: 5132 .LBE732: 594:apps/rssi/main.c **** 5133 .loc 1 594 1 is_stmt 0 view .LVU1595 5134 00d0 7040BDE8 pop {r4, r5, r6, lr} 5135 .LCFI35: 5136 .cfi_remember_state 5137 .cfi_restore 14 5138 .cfi_restore 6 5139 .cfi_restore 5 5140 .cfi_restore 4 5141 .cfi_def_cfa_offset 0 5142 00d4 D6FFFFEA b .L402 5143 .LVL321: 5144 .L385: 5145 .LCFI36: 5146 .cfi_restore_state 5147 .LBB733: 5148 .LBB724: 5149 .LBB721: 563:apps/rssi/main.c **** 5150 .loc 1 563 4 is_stmt 1 view .LVU1596 563:apps/rssi/main.c **** 5151 .loc 1 563 47 is_stmt 0 view .LVU1597 5152 00d8 01C0DEE4 ldrb ip, [lr], #1 @ zero_extendqisi2 563:apps/rssi/main.c **** 5153 .loc 1 563 40 view .LVU1598 5154 00dc 94C121E0 mla r1, r4, r1, ip 5155 .LVL322: 562:apps/rssi/main.c **** check = (check << 3) + (check << 1) + input[i] - '0'; 5156 .loc 1 562 28 view .LVU1599 5157 00e0 010080E2 add r0, r0, #1 5158 .LVL323: 563:apps/rssi/main.c **** 5159 .loc 1 563 10 view .LVU1600 5160 00e4 301041E2 sub r1, r1, #48 5161 .LVL324: 562:apps/rssi/main.c **** check = (check << 3) + (check << 1) + input[i] - '0'; 5162 .loc 1 562 28 is_stmt 1 view .LVU1601 562:apps/rssi/main.c **** check = (check << 3) + (check << 1) + input[i] - '0'; 5163 .loc 1 562 28 is_stmt 0 view .LVU1602 5164 00e8 E8FFFFEA b .L384 5165 .LVL325: 5166 .L390: 567:apps/rssi/main.c **** if (temp->min < temp->max) { 5167 .loc 1 567 4 is_stmt 1 view .LVU1603 568:apps/rssi/main.c **** if (check >= temp->min && check <= temp->max) 5168 .loc 1 568 4 view .LVU1604 568:apps/rssi/main.c **** if (check >= temp->min && check <= temp->max) 5169 .loc 1 568 12 is_stmt 0 view .LVU1605 5170 00ec 006092E5 ldr r6, [r2] 569:apps/rssi/main.c **** break; 5171 .loc 1 569 8 view .LVU1606 5172 00f0 060051E1 cmp r1, r6 5173 00f4 00E0A0B3 movlt lr, #0 5174 00f8 01E0A0A3 movge lr, #1 569:apps/rssi/main.c **** break; 5175 .loc 1 569 28 view .LVU1607 5176 00fc 000051E1 cmp r1, r0 5177 0100 0040A0C3 movgt r4, #0 5178 0104 0140A0D3 movle r4, #1 568:apps/rssi/main.c **** if (check >= temp->min && check <= temp->max) 5179 .loc 1 568 7 view .LVU1608 5180 0108 000056E1 cmp r6, r0 5181 010c 040000AA bge .L387 569:apps/rssi/main.c **** break; 5182 .loc 1 569 5 is_stmt 1 view .LVU1609 569:apps/rssi/main.c **** break; 5183 .loc 1 569 28 is_stmt 0 view .LVU1610 5184 0110 04001EE1 tst lr, r4 5185 .L401: 572:apps/rssi/main.c **** break; 5186 .loc 1 572 28 view .LVU1611 5187 0114 E6FFFF1A bne .L388 566:apps/rssi/main.c **** temp = &bands[i]; 5188 .loc 1 566 30 is_stmt 1 view .LVU1612 567:apps/rssi/main.c **** if (temp->min < temp->max) { 5189 .loc 1 567 9 is_stmt 0 view .LVU1613 5190 0118 0CE0A0E1 mov lr, ip 5191 011c 182082E2 add r2, r2, #24 5192 .LVL326: 567:apps/rssi/main.c **** if (temp->min < temp->max) { 5193 .loc 1 567 9 view .LVU1614 5194 0120 DEFFFFEA b .L386 5195 .LVL327: 5196 .L387: 572:apps/rssi/main.c **** break; 5197 .loc 1 572 5 is_stmt 1 view .LVU1615 572:apps/rssi/main.c **** break; 5198 .loc 1 572 28 is_stmt 0 view .LVU1616 5199 0124 04E09EE1 orrs lr, lr, r4 5200 0128 F9FFFFEA b .L401 5201 .LVL328: 5202 .L382: 5203 .LCFI37: 5204 .cfi_def_cfa_offset 0 5205 .cfi_restore 4 5206 .cfi_restore 5 5207 .cfi_restore 6 5208 .cfi_restore 14 572:apps/rssi/main.c **** break; 5209 .loc 1 572 28 view .LVU1617 5210 .LBE721: 587:apps/rssi/main.c **** return; 5211 .loc 1 587 2 is_stmt 1 view .LVU1618 587:apps/rssi/main.c **** return; 5212 .loc 1 587 5 is_stmt 0 view .LVU1619 5213 012c 040052E3 cmp r2, #4 5214 0130 1EFF2F01 bxeq lr 590:apps/rssi/main.c **** cursor++; 5215 .loc 1 590 2 is_stmt 1 view .LVU1620 590:apps/rssi/main.c **** cursor++; 5216 .loc 1 590 16 is_stmt 0 view .LVU1621 5217 0134 021083E0 add r1, r3, r2 591:apps/rssi/main.c **** input[cursor] = '\0'; 5218 .loc 1 591 8 view .LVU1622 5219 0138 012082E2 add r2, r2, #1 5220 013c FC2483E5 str r2, [r3, #1276] 592:apps/rssi/main.c **** refresh_display(); 5221 .loc 1 592 16 view .LVU1623 5222 0140 023083E0 add r3, r3, r2 5223 0144 0020A0E3 mov r2, #0 590:apps/rssi/main.c **** cursor++; 5224 .loc 1 590 31 view .LVU1624 5225 0148 300080E2 add r0, r0, #48 5226 .LVL329: 590:apps/rssi/main.c **** cursor++; 5227 .loc 1 590 16 view .LVU1625 5228 014c 1409C1E5 strb r0, [r1, #2324] 591:apps/rssi/main.c **** input[cursor] = '\0'; 5229 .loc 1 591 2 is_stmt 1 view .LVU1626 592:apps/rssi/main.c **** refresh_display(); 5230 .loc 1 592 2 view .LVU1627 592:apps/rssi/main.c **** refresh_display(); 5231 .loc 1 592 16 is_stmt 0 view .LVU1628 5232 0150 1429C3E5 strb r2, [r3, #2324] 5233 0154 B6FFFFEA b .L402 5234 .LVL330: 5235 .L378: 5236 .LCFI38: 5237 .cfi_def_cfa_offset 16 5238 .cfi_offset 4, -16 5239 .cfi_offset 5, -12 5240 .cfi_offset 6, -8 5241 .cfi_offset 14, -4 592:apps/rssi/main.c **** refresh_display(); 5242 .loc 1 592 16 view .LVU1629 5243 .LBE724: 5244 .LBE733: 594:apps/rssi/main.c **** 5245 .loc 1 594 1 view .LVU1630 5246 0158 7040BDE8 pop {r4, r5, r6, lr} 5247 .LCFI39: 5248 .cfi_restore 14 5249 .cfi_restore 6 5250 .cfi_restore 5 5251 .cfi_restore 4 5252 .cfi_def_cfa_offset 0 5253 015c 1EFF2FE1 bx lr 5254 .L404: 5255 .align 2 5256 .L403: 5257 0160 00000000 .word .LANCHOR0 5258 0164 14090000 .word .LANCHOR0+2324 5259 0168 0C000000 .word .LANCHOR1+12 5260 .cfi_endproc 5261 .LFE135: 5263 .section .text.gsm48_decode_lai,"ax",%progbits 5264 .align 2 5265 .global gsm48_decode_lai 5266 .syntax unified 5267 .arm 5269 gsm48_decode_lai: 5270 .LVL331: 5271 .LFB150: 1042:apps/rssi/main.c **** *_mcc = ((lai->digits[0] & 0x0f) << 8) 5272 .loc 1 1042 1 is_stmt 1 view -0 5273 .cfi_startproc 5274 @ Function supports interworking. 5275 @ args = 0, pretend = 0, frame = 0 5276 @ frame_needed = 0, uses_anonymous_args = 0 1043:apps/rssi/main.c **** | (lai->digits[0] & 0xf0) 5277 .loc 1 1043 2 view .LVU1632 1042:apps/rssi/main.c **** *_mcc = ((lai->digits[0] & 0x0f) << 8) 5278 .loc 1 1042 1 is_stmt 0 view .LVU1633 5279 0000 30402DE9 push {r4, r5, lr} 5280 .LCFI40: 5281 .cfi_def_cfa_offset 12 5282 .cfi_offset 4, -12 5283 .cfi_offset 5, -8 5284 .cfi_offset 14, -4 1045:apps/rssi/main.c **** *_mnc = ((lai->digits[2] & 0x0f) << 8) 5285 .loc 1 1045 17 view .LVU1634 5286 0004 0140D0E5 ldrb r4, [r0, #1] @ zero_extendqisi2 1043:apps/rssi/main.c **** | (lai->digits[0] & 0xf0) 5287 .loc 1 1043 23 view .LVU1635 5288 0008 00C0D0E5 ldrb ip, [r0] @ zero_extendqisi2 1045:apps/rssi/main.c **** *_mnc = ((lai->digits[2] & 0x0f) << 8) 5289 .loc 1 1045 3 view .LVU1636 5290 000c 0FE004E2 and lr, r4, #15 5291 0010 0F50CCE3 bic r5, ip, #15 1043:apps/rssi/main.c **** | (lai->digits[0] & 0xf0) 5292 .loc 1 1043 35 view .LVU1637 5293 0014 0CC4A0E1 lsl ip, ip, #8 1045:apps/rssi/main.c **** *_mnc = ((lai->digits[2] & 0x0f) << 8) 5294 .loc 1 1045 3 view .LVU1638 5295 0018 05E08EE1 orr lr, lr, r5 1043:apps/rssi/main.c **** | (lai->digits[0] & 0xf0) 5296 .loc 1 1043 35 view .LVU1639 5297 001c 0FCC0CE2 and ip, ip, #3840 1045:apps/rssi/main.c **** *_mnc = ((lai->digits[2] & 0x0f) << 8) 5298 .loc 1 1045 3 view .LVU1640 5299 0020 0CC08EE1 orr ip, lr, ip 1043:apps/rssi/main.c **** | (lai->digits[0] & 0xf0) 5300 .loc 1 1043 8 view .LVU1641 5301 0024 B0C0C1E1 strh ip, [r1] @ movhi 1046:apps/rssi/main.c **** | (lai->digits[2] & 0xf0) 5302 .loc 1 1046 2 is_stmt 1 view .LVU1642 1046:apps/rssi/main.c **** | (lai->digits[2] & 0xf0) 5303 .loc 1 1046 23 is_stmt 0 view .LVU1643 5304 0028 0210D0E5 ldrb r1, [r0, #2] @ zero_extendqisi2 5305 .LVL332: 1048:apps/rssi/main.c **** *_lac = ntohs(lai->lac); 5306 .loc 1 1048 3 view .LVU1644 5307 002c 0FC0C1E3 bic ip, r1, #15 1046:apps/rssi/main.c **** | (lai->digits[2] & 0xf0) 5308 .loc 1 1046 35 view .LVU1645 5309 0030 0114A0E1 lsl r1, r1, #8 1048:apps/rssi/main.c **** *_lac = ntohs(lai->lac); 5310 .loc 1 1048 3 view .LVU1646 5311 0034 24C28CE1 orr ip, ip, r4, lsr #4 1046:apps/rssi/main.c **** | (lai->digits[2] & 0xf0) 5312 .loc 1 1046 35 view .LVU1647 5313 0038 0F1C01E2 and r1, r1, #3840 1048:apps/rssi/main.c **** *_lac = ntohs(lai->lac); 5314 .loc 1 1048 3 view .LVU1648 5315 003c 01108CE1 orr r1, ip, r1 1046:apps/rssi/main.c **** | (lai->digits[2] & 0xf0) 5316 .loc 1 1046 8 view .LVU1649 5317 0040 B010C2E1 strh r1, [r2] @ movhi 1049:apps/rssi/main.c **** 5318 .loc 1 1049 2 is_stmt 1 view .LVU1650 1049:apps/rssi/main.c **** 5319 .loc 1 1049 8 is_stmt 0 view .LVU1651 5320 0044 0410D0E5 ldrb r1, [r0, #4] @ zero_extendqisi2 5321 0048 0320D0E5 ldrb r2, [r0, #3] @ zero_extendqisi2 5322 .LVL333: 1049:apps/rssi/main.c **** 5323 .loc 1 1049 8 view .LVU1652 5324 004c 012482E1 orr r2, r2, r1, lsl #8 5325 0050 2214A0E1 lsr r1, r2, #8 5326 0054 022481E1 orr r2, r1, r2, lsl #8 1052:apps/rssi/main.c **** 5327 .loc 1 1052 1 view .LVU1653 5328 0058 0000A0E3 mov r0, #0 5329 .LVL334: 1049:apps/rssi/main.c **** 5330 .loc 1 1049 8 view .LVU1654 5331 005c B020C3E1 strh r2, [r3] @ movhi 1051:apps/rssi/main.c **** } 5332 .loc 1 1051 2 is_stmt 1 view .LVU1655 1052:apps/rssi/main.c **** 5333 .loc 1 1052 1 is_stmt 0 view .LVU1656 5334 0060 3040BDE8 pop {r4, r5, lr} 5335 .LCFI41: 5336 .cfi_restore 14 5337 .cfi_restore 5 5338 .cfi_restore 4 5339 .cfi_def_cfa_offset 0 5340 0064 1EFF2FE1 bx lr 5341 .cfi_endproc 5342 .LFE150: 5344 .section .rodata.str1.1 5345 .LC57: 5346 0234 0A0A4F73 .ascii "\012\012OsmocomBB Monitor Tool (revision osmocon_v0" 5346 6D6F636F 5346 6D424220 5346 4D6F6E69 5346 746F7220 5347 0261 2E302E30 .ascii ".0.0-3306-g04ea6f9c)\012\000" 5347 2D333330 5347 362D6730 5347 34656136 5347 66396329 5348 .LC58: 5349 0277 74727969 .ascii "trying\000" 5349 6E6700 5350 .global __aeabi_idiv 5351 .LC59: 5352 027e 63636368 .ascii "ccch_mode=%d\012\000" 5352 5F6D6F64 5352 653D2564 5352 0A00 5353 .section .text.startup.main,"ax",%progbits 5354 .align 2 5355 .global main 5356 .syntax unified 5357 .arm 5359 main: 5360 .LFB166: 1500:apps/rssi/main.c **** 1501:apps/rssi/main.c **** int main(void) 1502:apps/rssi/main.c **** { 5361 .loc 1 1502 1 is_stmt 1 view -0 5362 .cfi_startproc 5363 @ Function supports interworking. 5364 @ Volatile: function does not return. 5365 @ args = 0, pretend = 0, frame = 0 5366 @ frame_needed = 0, uses_anonymous_args = 0 1503:apps/rssi/main.c **** board_init(1); 5367 .loc 1 1503 2 view .LVU1658 1502:apps/rssi/main.c **** board_init(1); 5368 .loc 1 1502 1 is_stmt 0 view .LVU1659 5369 0000 83402DE9 push {r0, r1, r7, lr} 5370 .LCFI42: 5371 .cfi_def_cfa_offset 16 5372 .cfi_offset 7, -8 5373 .cfi_offset 14, -4 1504:apps/rssi/main.c **** 1505:apps/rssi/main.c **** puts("\n\nOsmocomBB Monitor Tool (revision " GIT_REVISION ")\n"); 1506:apps/rssi/main.c **** puts(hr); 5374 .loc 1 1506 2 view .LVU1660 5375 0004 E46A9FE5 ldr r6, .L544 1503:apps/rssi/main.c **** 5376 .loc 1 1503 2 view .LVU1661 5377 0008 0100A0E3 mov r0, #1 5378 000c FEFFFFEB bl board_init 5379 .LVL335: 1505:apps/rssi/main.c **** puts(hr); 5380 .loc 1 1505 2 is_stmt 1 view .LVU1662 5381 0010 DC0A9FE5 ldr r0, .L544+4 5382 0014 FEFFFFEB bl puts 5383 .LVL336: 5384 .loc 1 1506 2 view .LVU1663 5385 0018 6C0096E5 ldr r0, [r6, #108] 5386 001c FEFFFFEB bl puts 5387 .LVL337: 1507:apps/rssi/main.c **** 1508:apps/rssi/main.c **** /* Dump device identification */ 1509:apps/rssi/main.c **** dump_dev_id(); 5388 .loc 1 1509 2 view .LVU1664 5389 0020 FEFFFFEB bl dump_dev_id 5390 .LVL338: 1510:apps/rssi/main.c **** puts(hr); 5391 .loc 1 1510 2 view .LVU1665 5392 0024 6C0096E5 ldr r0, [r6, #108] 5393 0028 FEFFFFEB bl puts 5394 .LVL339: 1511:apps/rssi/main.c **** 1512:apps/rssi/main.c **** /* Dump clock config before PLL set */ 1513:apps/rssi/main.c **** calypso_clk_dump(); 5395 .loc 1 1513 2 view .LVU1666 5396 002c FEFFFFEB bl calypso_clk_dump 5397 .LVL340: 1514:apps/rssi/main.c **** puts(hr); 5398 .loc 1 1514 2 view .LVU1667 5399 0030 6C0096E5 ldr r0, [r6, #108] 5400 0034 FEFFFFEB bl puts 5401 .LVL341: 1515:apps/rssi/main.c **** 1516:apps/rssi/main.c **** keypad_set_handler(&key_handler); 5402 .loc 1 1516 2 view .LVU1668 5403 0038 B80A9FE5 ldr r0, .L544+8 5404 003c FEFFFFEB bl keypad_set_handler 5405 .LVL342: 1517:apps/rssi/main.c **** 1518:apps/rssi/main.c **** /* Dump clock config after PLL set */ 1519:apps/rssi/main.c **** calypso_clk_dump(); 5406 .loc 1 1519 2 view .LVU1669 5407 0040 FEFFFFEB bl calypso_clk_dump 5408 .LVL343: 1520:apps/rssi/main.c **** puts(hr); 5409 .loc 1 1520 2 view .LVU1670 5410 0044 6C0096E5 ldr r0, [r6, #108] 5411 0048 FEFFFFEB bl puts 5412 .LVL344: 1521:apps/rssi/main.c **** 1522:apps/rssi/main.c **** sercomm_register_rx_cb(SC_DLCI_CONSOLE, console_rx_cb); 5413 .loc 1 1522 2 view .LVU1671 5414 004c A81A9FE5 ldr r1, .L544+12 5415 0050 0A00A0E3 mov r0, #10 5416 0054 FEFFFFEB bl sercomm_register_rx_cb 5417 .LVL345: 1523:apps/rssi/main.c **** sercomm_register_rx_cb(SC_DLCI_L1A_L23, l1a_l23_rx_cb); 5418 .loc 1 1523 2 view .LVU1672 5419 0058 A01A9FE5 ldr r1, .L544+16 5420 005c 0500A0E3 mov r0, #5 5421 0060 FEFFFFEB bl sercomm_register_rx_cb 5422 .LVL346: 1524:apps/rssi/main.c **** 1525:apps/rssi/main.c **** read_factory_rf_calibration(); 5423 .loc 1 1525 2 view .LVU1673 5424 0064 FEFFFFEB bl read_factory_rf_calibration 5425 .LVL347: 1526:apps/rssi/main.c **** layer1_init(); 5426 .loc 1 1526 2 view .LVU1674 5427 0068 FEFFFFEB bl layer1_init 5428 .LVL348: 1527:apps/rssi/main.c **** l1a_l23_tx_cb = l1a_l23_tx; 5429 .loc 1 1527 2 view .LVU1675 1528:apps/rssi/main.c **** 1529:apps/rssi/main.c **** // display_unset_attr(DISP_ATTR_INVERT); 1530:apps/rssi/main.c **** 1531:apps/rssi/main.c **** tpu_frame_irq_en(1, 1); 5430 .loc 1 1531 2 is_stmt 0 view .LVU1676 5431 006c 0110A0E3 mov r1, #1 1527:apps/rssi/main.c **** l1a_l23_tx_cb = l1a_l23_tx; 5432 .loc 1 1527 16 view .LVU1677 5433 0070 8C3A9FE5 ldr r3, .L544+20 5434 0074 8C2A9FE5 ldr r2, .L544+24 5435 .loc 1 1531 2 view .LVU1678 5436 0078 0100A0E1 mov r0, r1 1527:apps/rssi/main.c **** l1a_l23_tx_cb = l1a_l23_tx; 5437 .loc 1 1527 16 view .LVU1679 5438 007c 002083E5 str r2, [r3] 5439 .loc 1 1531 2 is_stmt 1 view .LVU1680 5440 0080 FEFFFFEB bl tpu_frame_irq_en 5441 .LVL349: 1532:apps/rssi/main.c **** 1533:apps/rssi/main.c **** buzzer_mode_pwt(1); 5442 .loc 1 1533 2 view .LVU1681 5443 0084 0100A0E3 mov r0, #1 5444 0088 FEFFFFEB bl buzzer_mode_pwt 5445 .LVL350: 1534:apps/rssi/main.c **** buzzer_volume(0); 5446 .loc 1 1534 2 view .LVU1682 5447 008c 0000A0E3 mov r0, #0 5448 0090 FEFFFFEB bl buzzer_volume 5449 .LVL351: 1535:apps/rssi/main.c **** 1536:apps/rssi/main.c **** memset(pm_spectrum, 0, sizeof(pm_spectrum)); 5450 .loc 1 1536 2 view .LVU1683 5451 0094 012BA0E3 mov r2, #1024 5452 0098 0010A0E3 mov r1, #0 5453 009c 680A9FE5 ldr r0, .L544+28 5454 00a0 FEFFFFEB bl memset 5455 .LVL352: 1537:apps/rssi/main.c **** memset(ul_max, 0, sizeof(ul_max)); 5456 .loc 1 1537 2 view .LVU1684 5457 00a4 0820A0E3 mov r2, #8 5458 00a8 0010A0E3 mov r1, #0 5459 00ac 5C0A9FE5 ldr r0, .L544+32 5460 00b0 FEFFFFEB bl memset 5461 .LVL353: 1538:apps/rssi/main.c **** 1539:apps/rssi/main.c **** /* inc 0 to 1 and refresh */ 1540:apps/rssi/main.c **** inc_dec_arfcn(1); 5462 .loc 1 1540 2 view .LVU1685 5463 00b4 0100A0E3 mov r0, #1 5464 00b8 FEFFFFEB bl inc_dec_arfcn.isra.0 5465 .LVL354: 5466 .LBB788: 5467 .LBB789: 770:apps/rssi/main.c **** unsigned long elapsed = jiffies - key_pressed_when; 5468 .loc 1 770 6 is_stmt 0 view .LVU1686 5469 00bc 504A9FE5 ldr r4, .L544+36 5470 .LBB790: 771:apps/rssi/main.c **** if (elapsed > key_pressed_delay) { 5471 .loc 1 771 35 view .LVU1687 5472 00c0 507A9FE5 ldr r7, .L544+40 5473 .L408: 5474 .LBE790: 5475 .LBE789: 5476 .LBE788: 1541:apps/rssi/main.c **** 1542:apps/rssi/main.c **** while (1) { 5477 .loc 1 1542 2 is_stmt 1 discriminator 1 view .LVU1688 1543:apps/rssi/main.c **** l1a_compl_execute(); 5478 .loc 1 1543 3 discriminator 1 view .LVU1689 5479 00c4 FEFFFFEB bl l1a_compl_execute 5480 .LVL355: 1544:apps/rssi/main.c **** osmo_timers_update(); 5481 .loc 1 1544 3 discriminator 1 view .LVU1690 5482 00c8 FEFFFFEB bl osmo_timers_update 5483 .LVL356: 1545:apps/rssi/main.c **** handle_key_code(); 5484 .loc 1 1545 3 discriminator 1 view .LVU1691 5485 .LBB830: 5486 .LBI788: 767:apps/rssi/main.c **** { 5487 .loc 1 767 13 discriminator 1 view .LVU1692 5488 .LBB828: 770:apps/rssi/main.c **** unsigned long elapsed = jiffies - key_pressed_when; 5489 .loc 1 770 2 discriminator 1 view .LVU1693 770:apps/rssi/main.c **** unsigned long elapsed = jiffies - key_pressed_when; 5490 .loc 1 770 5 is_stmt 0 discriminator 1 view .LVU1694 5491 00cc 103094E5 ldr r3, [r4, #16] 5492 00d0 000053E3 cmp r3, #0 5493 00d4 0D00000A beq .L410 5494 .LBB791: 771:apps/rssi/main.c **** if (elapsed > key_pressed_delay) { 5495 .loc 1 771 3 is_stmt 1 view .LVU1695 771:apps/rssi/main.c **** if (elapsed > key_pressed_delay) { 5496 .loc 1 771 17 is_stmt 0 view .LVU1696 5497 00d8 142094E5 ldr r2, [r4, #20] 771:apps/rssi/main.c **** if (elapsed > key_pressed_delay) { 5498 .loc 1 771 35 view .LVU1697 5499 00dc 003097E5 ldr r3, [r7] 5500 .LVL357: 772:apps/rssi/main.c **** key_pressed_when = jiffies; 5501 .loc 1 772 3 is_stmt 1 view .LVU1698 771:apps/rssi/main.c **** if (elapsed > key_pressed_delay) { 5502 .loc 1 771 17 is_stmt 0 view .LVU1699 5503 00e0 023043E0 sub r3, r3, r2 5504 .LVL358: 772:apps/rssi/main.c **** key_pressed_when = jiffies; 5505 .loc 1 772 6 view .LVU1700 5506 00e4 1C2094E5 ldr r2, [r4, #28] 5507 00e8 020053E1 cmp r3, r2 5508 00ec 0700009A bls .L410 773:apps/rssi/main.c **** key_pressed_delay = HZ / 10; 5509 .loc 1 773 4 is_stmt 1 view .LVU1701 773:apps/rssi/main.c **** key_pressed_delay = HZ / 10; 5510 .loc 1 773 21 is_stmt 0 view .LVU1702 5511 00f0 003097E5 ldr r3, [r7] 5512 .LVL359: 773:apps/rssi/main.c **** key_pressed_delay = HZ / 10; 5513 .loc 1 773 21 view .LVU1703 5514 00f4 143084E5 str r3, [r4, #20] 774:apps/rssi/main.c **** /* only repeat these keys */ 5515 .loc 1 774 4 is_stmt 1 view .LVU1704 774:apps/rssi/main.c **** /* only repeat these keys */ 5516 .loc 1 774 22 is_stmt 0 view .LVU1705 5517 00f8 0A30A0E3 mov r3, #10 5518 00fc 1C3084E5 str r3, [r4, #28] 776:apps/rssi/main.c **** || key_pressed_code == KEY_RIGHT) 5519 .loc 1 776 4 is_stmt 1 view .LVU1706 777:apps/rssi/main.c **** key_code = key_pressed_code; 5520 .loc 1 777 5 is_stmt 0 view .LVU1707 5521 0100 1830D4E5 ldrb r3, [r4, #24] @ zero_extendqisi2 776:apps/rssi/main.c **** || key_pressed_code == KEY_RIGHT) 5522 .loc 1 776 7 view .LVU1708 5523 0104 112043E2 sub r2, r3, #17 5524 0108 010052E3 cmp r2, #1 778:apps/rssi/main.c **** } 5525 .loc 1 778 5 is_stmt 1 view .LVU1709 778:apps/rssi/main.c **** } 5526 .loc 1 778 14 is_stmt 0 view .LVU1710 5527 010c 0030C695 strbls r3, [r6] 5528 .LVL360: 5529 .L410: 778:apps/rssi/main.c **** } 5530 .loc 1 778 14 view .LVU1711 5531 .LBE791: 782:apps/rssi/main.c **** return; 5532 .loc 1 782 2 is_stmt 1 view .LVU1712 782:apps/rssi/main.c **** return; 5533 .loc 1 782 15 is_stmt 0 view .LVU1713 5534 0110 0000D6E5 ldrb r0, [r6] @ zero_extendqisi2 782:apps/rssi/main.c **** return; 5535 .loc 1 782 5 view .LVU1714 5536 0114 FF0050E3 cmp r0, #255 5537 0118 2A00000A beq .L412 786:apps/rssi/main.c **** return; 5538 .loc 1 786 2 is_stmt 1 view .LVU1715 786:apps/rssi/main.c **** return; 5539 .loc 1 786 5 is_stmt 0 view .LVU1716 5540 011c 2C3994E5 ldr r3, [r4, #2348] 5541 0120 000053E3 cmp r3, #0 5542 0124 2700001A bne .L412 789:apps/rssi/main.c **** case KEY_0: 5543 .loc 1 789 2 is_stmt 1 view .LVU1717 5544 0128 140050E3 cmp r0, #20 5545 012c 00F19F97 ldrls pc, [pc, r0, asl #2] 5546 0130 220000EA b .L413 5547 .L415: 5548 0134 88010000 .word .L425 5549 0138 88010000 .word .L425 5550 013c 88010000 .word .L425 5551 0140 88010000 .word .L425 5552 0144 88010000 .word .L425 5553 0148 88010000 .word .L425 5554 014c 88010000 .word .L425 5555 0150 88010000 .word .L425 5556 0154 88010000 .word .L425 5557 0158 88010000 .word .L425 5558 015c 44070000 .word .L424 5559 0160 C0010000 .word .L413 5560 0164 F4060000 .word .L423 5561 0168 DC040000 .word .L422 5562 016c 3C050000 .word .L421 5563 0170 9C010000 .word .L420 5564 0174 78030000 .word .L419 5565 0178 6C040000 .word .L418 5566 017c F0030000 .word .L417 5567 0180 74050000 .word .L416 5568 0184 10070000 .word .L414 5569 .L425: 800:apps/rssi/main.c **** enter_arfcn(key_code); 5570 .loc 1 800 3 view .LVU1718 800:apps/rssi/main.c **** enter_arfcn(key_code); 5571 .loc 1 800 6 is_stmt 0 view .LVU1719 5572 0188 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 5573 018c 020053E3 cmp r3, #2 5574 0190 0A00008A bhi .L413 5575 .L534: 835:apps/rssi/main.c **** else if (mode == MODE_SYNC) 5576 .loc 1 835 4 view .LVU1720 5577 0194 FEFFFFEB bl enter_arfcn 5578 .LVL361: 5579 0198 080000EA b .L413 5580 .L420: 804:apps/rssi/main.c **** tone_inc_dec(1); 5581 .loc 1 804 3 is_stmt 1 view .LVU1721 804:apps/rssi/main.c **** tone_inc_dec(1); 5582 .loc 1 804 12 is_stmt 0 view .LVU1722 5583 019c FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 804:apps/rssi/main.c **** tone_inc_dec(1); 5584 .loc 1 804 6 view .LVU1723 5585 01a0 000053E3 cmp r3, #0 5586 01a4 6300001A bne .L426 805:apps/rssi/main.c **** else if (mode == MODE_SYNC) 5587 .loc 1 805 4 is_stmt 1 view .LVU1724 5588 .LVL362: 5589 .LBB792: 5590 .LBI792: 707:apps/rssi/main.c **** { 5591 .loc 1 707 13 view .LVU1725 5592 .LBB793: 709:apps/rssi/main.c **** if (tone + 25 <= 255) 5593 .loc 1 709 2 view .LVU1726 710:apps/rssi/main.c **** tone += 25; 5594 .loc 1 710 3 view .LVU1727 710:apps/rssi/main.c **** tone += 25; 5595 .loc 1 710 17 is_stmt 0 view .LVU1728 5596 01a8 243994E5 ldr r3, [r4, #2340] 710:apps/rssi/main.c **** tone += 25; 5597 .loc 1 710 6 view .LVU1729 5598 01ac E60053E3 cmp r3, #230 5599 01b0 010000CA bgt .L536 711:apps/rssi/main.c **** } else { 5600 .loc 1 711 4 is_stmt 1 view .LVU1730 711:apps/rssi/main.c **** } else { 5601 .loc 1 711 9 is_stmt 0 view .LVU1731 5602 01b4 193083E2 add r3, r3, #25 5603 .LVL363: 5604 .L533: 711:apps/rssi/main.c **** } else { 5605 .loc 1 711 9 view .LVU1732 5606 01b8 243984E5 str r3, [r4, #2340] 717:apps/rssi/main.c **** } 5607 .loc 1 717 2 is_stmt 1 view .LVU1733 5608 .L536: 5609 .LBE793: 5610 .LBE792: 5611 .LBB794: 5612 .LBB795: 739:apps/rssi/main.c **** 5613 .loc 1 739 2 view .LVU1734 5614 01bc FEFFFFEB bl refresh_display 5615 .LVL364: 741:apps/rssi/main.c **** } 5616 .loc 1 741 2 view .LVU1735 5617 .L413: 5618 .LBE795: 5619 .LBE794: 876:apps/rssi/main.c **** } 5620 .loc 1 876 2 view .LVU1736 876:apps/rssi/main.c **** } 5621 .loc 1 876 11 is_stmt 0 view .LVU1737 5622 01c0 0030E0E3 mvn r3, #0 5623 01c4 0030C6E5 strb r3, [r6] 5624 .L412: 5625 .LBE828: 5626 .LBE830: 1546:apps/rssi/main.c **** l1a_l23_handler(); 5627 .loc 1 1546 3 is_stmt 1 view .LVU1738 5628 01c8 FEFFFFEB bl l1a_l23_handler 5629 .LVL365: 1547:apps/rssi/main.c **** handle_pm(); 5630 .loc 1 1547 3 view .LVU1739 5631 .LBB831: 5632 .LBI831: 905:apps/rssi/main.c **** { 5633 .loc 1 905 13 view .LVU1740 5634 .LBB832: 908:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_PM_REQ); 5635 .loc 1 908 2 view .LVU1741 908:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_PM_REQ); 5636 .loc 1 908 14 is_stmt 0 view .LVU1742 5637 01cc 2030D4E5 ldrb r3, [r4, #32] @ zero_extendqisi2 908:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_PM_REQ); 5638 .loc 1 908 5 view .LVU1743 5639 01d0 000053E3 cmp r3, #0 5640 01d4 7001001A bne .L456 908:apps/rssi/main.c **** struct msgb *msg = l1ctl_msgb_alloc(L1CTL_PM_REQ); 5641 .loc 1 908 25 view .LVU1744 5642 01d8 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 5643 01dc 010053E3 cmp r3, #1 5644 01e0 2E00008A bhi .L458 5645 .LBB833: 909:apps/rssi/main.c **** struct l1ctl_pm_req *pm; 5646 .loc 1 909 3 is_stmt 1 view .LVU1745 909:apps/rssi/main.c **** struct l1ctl_pm_req *pm; 5647 .loc 1 909 22 is_stmt 0 view .LVU1746 5648 01e4 0800A0E3 mov r0, #8 5649 01e8 FEFFFFEB bl l1ctl_msgb_alloc 5650 .LVL366: 913:apps/rssi/main.c **** pm->type = 1; 5651 .loc 1 913 32 view .LVU1747 5652 01ec 0810A0E3 mov r1, #8 909:apps/rssi/main.c **** struct l1ctl_pm_req *pm; 5653 .loc 1 909 22 view .LVU1748 5654 01f0 0050A0E1 mov r5, r0 5655 .LVL367: 910:apps/rssi/main.c **** uint16_t a, e; 5656 .loc 1 910 3 is_stmt 1 view .LVU1749 911:apps/rssi/main.c **** 5657 .loc 1 911 3 view .LVU1750 913:apps/rssi/main.c **** pm->type = 1; 5658 .loc 1 913 3 view .LVU1751 913:apps/rssi/main.c **** pm->type = 1; 5659 .loc 1 913 32 is_stmt 0 view .LVU1752 5660 01f4 FEFFFFEB bl msgb_put 5661 .LVL368: 914:apps/rssi/main.c **** if (mode == MODE_MAIN) { 5662 .loc 1 914 3 is_stmt 1 view .LVU1753 914:apps/rssi/main.c **** if (mode == MODE_MAIN) { 5663 .loc 1 914 12 is_stmt 0 view .LVU1754 5664 01f8 0130A0E3 mov r3, #1 5665 01fc 0030C0E5 strb r3, [r0] 915:apps/rssi/main.c **** a = arfcn; 5666 .loc 1 915 3 is_stmt 1 view .LVU1755 915:apps/rssi/main.c **** a = arfcn; 5667 .loc 1 915 6 is_stmt 0 view .LVU1756 5668 0200 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 5669 0204 000053E3 cmp r3, #0 5670 0208 5101001A bne .L459 916:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 5671 .loc 1 916 4 is_stmt 1 view .LVU1757 916:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 5672 .loc 1 916 6 is_stmt 0 view .LVU1758 5673 020c 08399FE5 ldr r3, .L544+44 5674 0210 B020D3E1 ldrh r2, [r3] 5675 .LVL369: 917:apps/rssi/main.c **** a |= ARFCN_PCS; 5676 .loc 1 917 4 is_stmt 1 view .LVU1759 917:apps/rssi/main.c **** a |= ARFCN_PCS; 5677 .loc 1 917 12 is_stmt 0 view .LVU1760 5678 0214 023C42E2 sub r3, r2, #512 917:apps/rssi/main.c **** a |= ARFCN_PCS; 5679 .loc 1 917 32 view .LVU1761 5680 0218 00C99FE5 ldr ip, .L544+48 917:apps/rssi/main.c **** a |= ARFCN_PCS; 5681 .loc 1 917 12 view .LVU1762 5682 021c 0338A0E1 lsl r3, r3, #16 5683 0220 2338A0E1 lsr r3, r3, #16 917:apps/rssi/main.c **** a |= ARFCN_PCS; 5684 .loc 1 917 7 view .LVU1763 5685 0224 001094E5 ldr r1, [r4] 917:apps/rssi/main.c **** a |= ARFCN_PCS; 5686 .loc 1 917 32 view .LVU1764 5687 0228 0C0053E1 cmp r3, ip 5688 022c 0030A083 movhi r3, #0 5689 0230 0130A093 movls r3, #1 5690 0234 000051E3 cmp r1, #0 5691 0238 0030A003 moveq r3, #0 5692 023c 000053E3 cmp r3, #0 918:apps/rssi/main.c **** e = a; 5693 .loc 1 918 5 is_stmt 1 view .LVU1765 918:apps/rssi/main.c **** e = a; 5694 .loc 1 918 7 is_stmt 0 view .LVU1766 5695 0240 02298213 orrne r2, r2, #32768 5696 .LVL370: 919:apps/rssi/main.c **** pm_mode = PM_SENT; 5697 .loc 1 919 4 is_stmt 1 view .LVU1767 920:apps/rssi/main.c **** } else { /* mode == MODE_SPECTRUM */ 5698 .loc 1 920 4 view .LVU1768 919:apps/rssi/main.c **** pm_mode = PM_SENT; 5699 .loc 1 919 6 is_stmt 0 view .LVU1769 5700 0244 0230A0E1 mov r3, r2 5701 0248 0110A0E3 mov r1, #1 5702 .LVL371: 5703 .L461: 920:apps/rssi/main.c **** } else { /* mode == MODE_SPECTRUM */ 5704 .loc 1 920 12 view .LVU1770 5705 024c 2010C4E5 strb r1, [r4, #32] 5706 .LVL372: 931:apps/rssi/main.c **** a |= ARFCN_UPLINK; 5707 .loc 1 931 3 is_stmt 1 view .LVU1771 931:apps/rssi/main.c **** a |= ARFCN_UPLINK; 5708 .loc 1 931 6 is_stmt 0 view .LVU1772 5709 0250 041094E5 ldr r1, [r4, #4] 5710 0254 000051E3 cmp r1, #0 932:apps/rssi/main.c **** e |= ARFCN_UPLINK; 5711 .loc 1 932 4 is_stmt 1 view .LVU1773 932:apps/rssi/main.c **** e |= ARFCN_UPLINK; 5712 .loc 1 932 6 is_stmt 0 view .LVU1774 5713 0258 01298213 orrne r2, r2, #16384 5714 .LVL373: 933:apps/rssi/main.c **** } 5715 .loc 1 933 4 is_stmt 1 view .LVU1775 933:apps/rssi/main.c **** } 5716 .loc 1 933 6 is_stmt 0 view .LVU1776 5717 025c 01398313 orrne r3, r3, #16384 5718 .LVL374: 935:apps/rssi/main.c **** pm->range.band_arfcn_to = htons(e); 5719 .loc 1 935 29 view .LVU1777 5720 0260 2214A0E1 lsr r1, r2, #8 933:apps/rssi/main.c **** } 5721 .loc 1 933 6 view .LVU1778 5722 0264 0338A011 lslne r3, r3, #16 935:apps/rssi/main.c **** pm->range.band_arfcn_to = htons(e); 5723 .loc 1 935 29 view .LVU1779 5724 0268 022481E1 orr r2, r1, r2, lsl #8 5725 .LVL375: 935:apps/rssi/main.c **** pm->range.band_arfcn_to = htons(e); 5726 .loc 1 935 29 view .LVU1780 5727 026c 0420C0E5 strb r2, [r0, #4] 933:apps/rssi/main.c **** } 5728 .loc 1 933 6 view .LVU1781 5729 0270 2338A011 lsrne r3, r3, #16 5730 .LVL376: 935:apps/rssi/main.c **** pm->range.band_arfcn_to = htons(e); 5731 .loc 1 935 3 is_stmt 1 view .LVU1782 935:apps/rssi/main.c **** pm->range.band_arfcn_to = htons(e); 5732 .loc 1 935 29 is_stmt 0 view .LVU1783 5733 0274 2224A0E1 lsr r2, r2, #8 5734 0278 0520C0E5 strb r2, [r0, #5] 936:apps/rssi/main.c **** 5735 .loc 1 936 3 is_stmt 1 view .LVU1784 936:apps/rssi/main.c **** 5736 .loc 1 936 27 is_stmt 0 view .LVU1785 5737 027c 0328A0E1 lsl r2, r3, #16 5738 0280 222CA0E1 lsr r2, r2, #24 5739 0284 033482E1 orr r3, r2, r3, lsl #8 5740 .LVL377: 936:apps/rssi/main.c **** 5741 .loc 1 936 27 view .LVU1786 5742 0288 0630C0E5 strb r3, [r0, #6] 5743 028c 2334A0E1 lsr r3, r3, #8 5744 0290 0730C0E5 strb r3, [r0, #7] 938:apps/rssi/main.c **** 5745 .loc 1 938 3 is_stmt 1 view .LVU1787 5746 0294 0510A0E1 mov r1, r5 5747 0298 0500A0E3 mov r0, #5 5748 .LVL378: 938:apps/rssi/main.c **** 5749 .loc 1 938 3 is_stmt 0 view .LVU1788 5750 029c FEFFFFEB bl l1a_l23_rx 5751 .LVL379: 940:apps/rssi/main.c **** } 5752 .loc 1 940 3 is_stmt 1 view .LVU1789 5753 .L458: 940:apps/rssi/main.c **** } 5754 .loc 1 940 3 is_stmt 0 view .LVU1790 5755 .LBE833: 5756 .LBE832: 5757 .LBE831: 1548:apps/rssi/main.c **** handle_sync(); 5758 .loc 1 1548 3 is_stmt 1 view .LVU1791 5759 .LBB837: 5760 .LBI837: 1073:apps/rssi/main.c **** { 5761 .loc 1 1073 13 view .LVU1792 5762 .LBB838: 1075:apps/rssi/main.c **** struct gsm48_system_information_type_2 *si2; 5763 .loc 1 1075 2 view .LVU1793 1076:apps/rssi/main.c **** struct gsm48_system_information_type_2bis *si2bis; 5764 .loc 1 1076 2 view .LVU1794 1077:apps/rssi/main.c **** struct gsm48_system_information_type_2ter *si2ter; 5765 .loc 1 1077 2 view .LVU1795 1078:apps/rssi/main.c **** struct gsm48_system_information_type_3 *si3; 5766 .loc 1 1078 2 view .LVU1796 1079:apps/rssi/main.c **** struct gsm48_system_information_type_4 *si4; 5767 .loc 1 1079 2 view .LVU1797 1080:apps/rssi/main.c **** 5768 .loc 1 1080 2 view .LVU1798 1082:apps/rssi/main.c **** return; 5769 .loc 1 1082 2 view .LVU1799 1082:apps/rssi/main.c **** return; 5770 .loc 1 1082 5 is_stmt 0 view .LVU1800 5771 02a0 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 5772 02a4 030053E3 cmp r3, #3 5773 02a8 0D00001A bne .L477 1086:apps/rssi/main.c **** uint16_t a = ul_arfcn; 5774 .loc 1 1086 2 is_stmt 1 view .LVU1801 1086:apps/rssi/main.c **** uint16_t a = ul_arfcn; 5775 .loc 1 1086 6 is_stmt 0 view .LVU1802 5776 02ac 543494E5 ldr r3, [r4, #1108] 1086:apps/rssi/main.c **** uint16_t a = ul_arfcn; 5777 .loc 1 1086 5 view .LVU1803 5778 02b0 000053E3 cmp r3, #0 5779 02b4 7701000A beq .L478 5780 .LBB839: 1087:apps/rssi/main.c **** 5781 .loc 1 1087 3 is_stmt 1 view .LVU1804 1089:apps/rssi/main.c **** sync_result = NULL; 5782 .loc 1 1089 12 is_stmt 0 view .LVU1805 5783 02b8 043086E5 str r3, [r6, #4] 1090:apps/rssi/main.c **** refresh_display(); 5784 .loc 1 1090 15 view .LVU1806 5785 02bc 0030A0E3 mov r3, #0 1087:apps/rssi/main.c **** 5786 .loc 1 1087 12 view .LVU1807 5787 02c0 5C289FE5 ldr r2, .L544+52 1090:apps/rssi/main.c **** refresh_display(); 5788 .loc 1 1090 15 view .LVU1808 5789 02c4 543484E5 str r3, [r4, #1108] 1087:apps/rssi/main.c **** 5790 .loc 1 1087 12 view .LVU1809 5791 02c8 B050D2E1 ldrh r5, [r2] 5792 .LVL380: 1089:apps/rssi/main.c **** sync_result = NULL; 5793 .loc 1 1089 3 is_stmt 1 view .LVU1810 1090:apps/rssi/main.c **** refresh_display(); 5794 .loc 1 1090 3 view .LVU1811 1091:apps/rssi/main.c **** 5795 .loc 1 1091 3 view .LVU1812 5796 02cc FEFFFFEB bl refresh_display 5797 .LVL381: 1093:apps/rssi/main.c **** return; 5798 .loc 1 1093 3 view .LVU1813 1093:apps/rssi/main.c **** return; 5799 .loc 1 1093 15 is_stmt 0 view .LVU1814 5800 02d0 043096E5 ldr r3, [r6, #4] 1093:apps/rssi/main.c **** return; 5801 .loc 1 1093 6 view .LVU1815 5802 02d4 0030D3E5 ldrb r3, [r3] @ zero_extendqisi2 5803 02d8 6F0053E3 cmp r3, #111 1096:apps/rssi/main.c **** 5804 .loc 1 1096 3 is_stmt 1 view .LVU1816 5805 02dc 0500A001 moveq r0, r5 5806 02e0 FEFFFF0B bleq request_ul_levels 5807 .LVL382: 1098:apps/rssi/main.c **** } 5808 .loc 1 1098 3 view .LVU1817 5809 .L477: 1098:apps/rssi/main.c **** } 5810 .loc 1 1098 3 is_stmt 0 view .LVU1818 5811 .LBE839: 5812 .LBE838: 5813 .LBE837: 1549:apps/rssi/main.c **** handle_assign(); 5814 .loc 1 1549 3 is_stmt 1 view .LVU1819 5815 .LBB843: 5816 .LBI843: 1234:apps/rssi/main.c **** { 5817 .loc 1 1234 13 view .LVU1820 5818 .LBB844: 1236:apps/rssi/main.c **** return; 5819 .loc 1 1236 2 view .LVU1821 1236:apps/rssi/main.c **** return; 5820 .loc 1 1236 5 is_stmt 0 view .LVU1822 5821 02e4 FA24D4E5 ldrb r2, [r4, #1274] @ zero_extendqisi2 5822 02e8 040052E3 cmp r2, #4 5823 02ec 7401001A bne .L500 1239:apps/rssi/main.c **** unsigned long elapsed = jiffies - rach_when; 5824 .loc 1 1239 2 is_stmt 1 view .LVU1823 1239:apps/rssi/main.c **** unsigned long elapsed = jiffies - rach_when; 5825 .loc 1 1239 5 is_stmt 0 view .LVU1824 5826 02f0 E634D4E5 ldrb r3, [r4, #1254] @ zero_extendqisi2 5827 02f4 000053E3 cmp r3, #0 5828 02f8 0A00001A bne .L497 5829 .LBB845: 1240:apps/rssi/main.c **** 5830 .loc 1 1240 3 is_stmt 1 view .LVU1825 1240:apps/rssi/main.c **** 5831 .loc 1 1240 17 is_stmt 0 view .LVU1826 5832 02fc 001594E5 ldr r1, [r4, #1280] 1240:apps/rssi/main.c **** 5833 .loc 1 1240 35 view .LVU1827 5834 0300 003097E5 ldr r3, [r7] 5835 .LVL383: 1242:apps/rssi/main.c **** return; 5836 .loc 1 1242 3 is_stmt 1 view .LVU1828 1244:apps/rssi/main.c **** return; 5837 .loc 1 1244 3 view .LVU1829 1240:apps/rssi/main.c **** 5838 .loc 1 1240 17 is_stmt 0 view .LVU1830 5839 0304 013043E0 sub r3, r3, r1 5840 .LVL384: 1242:apps/rssi/main.c **** return; 5841 .loc 1 1242 6 view .LVU1831 5842 0308 081094E5 ldr r1, [r4, #8] 1244:apps/rssi/main.c **** return; 5843 .loc 1 1244 6 view .LVU1832 5844 030c 000051E3 cmp r1, #0 5845 0310 C7005313 cmpne r3, #199 5846 0314 0130A093 movls r3, #1 5847 .LVL385: 1244:apps/rssi/main.c **** return; 5848 .loc 1 1244 6 view .LVU1833 5849 0318 0030A083 movhi r3, #0 5850 031c 6801009A bls .L500 1246:apps/rssi/main.c **** rach = 0; 5851 .loc 1 1246 3 is_stmt 1 view .LVU1834 1246:apps/rssi/main.c **** rach = 0; 5852 .loc 1 1246 10 is_stmt 0 view .LVU1835 5853 0320 E624C4E5 strb r2, [r4, #1254] 1247:apps/rssi/main.c **** } 5854 .loc 1 1247 3 is_stmt 1 view .LVU1836 1247:apps/rssi/main.c **** } 5855 .loc 1 1247 8 is_stmt 0 view .LVU1837 5856 0324 083084E5 str r3, [r4, #8] 5857 .LVL386: 5858 .L497: 1247:apps/rssi/main.c **** } 5859 .loc 1 1247 8 view .LVU1838 5860 .LBE845: 1250:apps/rssi/main.c **** assign = ASSIGN_NONE; 5861 .loc 1 1250 2 is_stmt 1 view .LVU1839 5862 0328 FEFFFFEB bl refresh_display 5863 .LVL387: 1251:apps/rssi/main.c **** } 5864 .loc 1 1251 2 view .LVU1840 1251:apps/rssi/main.c **** } 5865 .loc 1 1251 9 is_stmt 0 view .LVU1841 5866 032c 0030A0E3 mov r3, #0 5867 0330 E634C4E5 strb r3, [r4, #1254] 5868 0334 620100EA b .L500 5869 .L426: 5870 .LBE844: 5871 .LBE843: 5872 .LBB846: 5873 .LBB829: 806:apps/rssi/main.c **** inc_dec_neighbour(0); 5874 .loc 1 806 8 is_stmt 1 view .LVU1842 806:apps/rssi/main.c **** inc_dec_neighbour(0); 5875 .loc 1 806 11 is_stmt 0 view .LVU1843 5876 0338 030053E3 cmp r3, #3 5877 033c 0500001A bne .L429 807:apps/rssi/main.c **** else if (mode == MODE_SPECTRUM) 5878 .loc 1 807 4 is_stmt 1 view .LVU1844 5879 .LVL388: 5880 .LBB797: 5881 .LBI794: 727:apps/rssi/main.c **** { 5882 .loc 1 727 12 view .LVU1845 5883 .LBB796: 729:apps/rssi/main.c **** if (cursor > 0 && cursor - 1 >= (nb_num - NEIGH_LINES)) 5884 .loc 1 729 2 view .LVU1846 734:apps/rssi/main.c **** return -EINVAL; 5885 .loc 1 734 3 view .LVU1847 734:apps/rssi/main.c **** return -EINVAL; 5886 .loc 1 734 14 is_stmt 0 view .LVU1848 5887 0340 FC3494E5 ldr r3, [r4, #1276] 734:apps/rssi/main.c **** return -EINVAL; 5888 .loc 1 734 6 view .LVU1849 5889 0344 000053E3 cmp r3, #0 5890 0348 9CFFFFBA blt .L413 736:apps/rssi/main.c **** } 5891 .loc 1 736 3 is_stmt 1 view .LVU1850 736:apps/rssi/main.c **** } 5892 .loc 1 736 9 is_stmt 0 view .LVU1851 5893 034c 013043E2 sub r3, r3, #1 5894 .LVL389: 5895 .L537: 736:apps/rssi/main.c **** } 5896 .loc 1 736 9 view .LVU1852 5897 0350 FC3484E5 str r3, [r4, #1276] 5898 0354 98FFFFEA b .L536 5899 .L429: 5900 .LBE796: 5901 .LBE797: 808:apps/rssi/main.c **** inc_dec_spectrum(1); 5902 .loc 1 808 8 is_stmt 1 view .LVU1853 808:apps/rssi/main.c **** inc_dec_spectrum(1); 5903 .loc 1 808 11 is_stmt 0 view .LVU1854 5904 0358 010053E3 cmp r3, #1 5905 035c 97FFFF1A bne .L413 809:apps/rssi/main.c **** break; 5906 .loc 1 809 4 is_stmt 1 view .LVU1855 5907 .LVL390: 5908 .LBB798: 5909 .LBI798: 744:apps/rssi/main.c **** { 5910 .loc 1 744 12 view .LVU1856 5911 .LBB799: 746:apps/rssi/main.c **** pm_scale <<= 1; 5912 .loc 1 746 2 view .LVU1857 747:apps/rssi/main.c **** if (pm_scale > 8) 5913 .loc 1 747 3 view .LVU1858 747:apps/rssi/main.c **** if (pm_scale > 8) 5914 .loc 1 747 12 is_stmt 0 view .LVU1859 5915 0360 083096E5 ldr r3, [r6, #8] 5916 0364 8330A0E1 lsl r3, r3, #1 748:apps/rssi/main.c **** pm_scale = 8; 5917 .loc 1 748 3 is_stmt 1 view .LVU1860 748:apps/rssi/main.c **** pm_scale = 8; 5918 .loc 1 748 6 is_stmt 0 view .LVU1861 5919 0368 080053E3 cmp r3, #8 749:apps/rssi/main.c **** } else { 5920 .loc 1 749 4 is_stmt 1 view .LVU1862 749:apps/rssi/main.c **** } else { 5921 .loc 1 749 13 is_stmt 0 view .LVU1863 5922 036c 0830A0C3 movgt r3, #8 5923 .LVL391: 5924 .L532: 749:apps/rssi/main.c **** } else { 5925 .loc 1 749 13 view .LVU1864 5926 0370 083086E5 str r3, [r6, #8] 5927 0374 90FFFFEA b .L536 5928 .L419: 5929 .LBE799: 5930 .LBE798: 812:apps/rssi/main.c **** tone_inc_dec(0); 5931 .loc 1 812 3 is_stmt 1 view .LVU1865 812:apps/rssi/main.c **** tone_inc_dec(0); 5932 .loc 1 812 12 is_stmt 0 view .LVU1866 5933 0378 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 812:apps/rssi/main.c **** tone_inc_dec(0); 5934 .loc 1 812 6 view .LVU1867 5935 037c 000053E3 cmp r3, #0 5936 0380 0400001A bne .L432 813:apps/rssi/main.c **** else if (mode == MODE_SYNC) 5937 .loc 1 813 4 is_stmt 1 view .LVU1868 5938 .LVL392: 5939 .LBB800: 5940 .LBI800: 707:apps/rssi/main.c **** { 5941 .loc 1 707 13 view .LVU1869 5942 .LBB801: 709:apps/rssi/main.c **** if (tone + 25 <= 255) 5943 .loc 1 709 2 view .LVU1870 713:apps/rssi/main.c **** tone -= 25; 5944 .loc 1 713 3 view .LVU1871 713:apps/rssi/main.c **** tone -= 25; 5945 .loc 1 713 17 is_stmt 0 view .LVU1872 5946 0384 243994E5 ldr r3, [r4, #2340] 713:apps/rssi/main.c **** tone -= 25; 5947 .loc 1 713 6 view .LVU1873 5948 0388 180053E3 cmp r3, #24 714:apps/rssi/main.c **** } 5949 .loc 1 714 9 view .LVU1874 5950 038c 193043C2 subgt r3, r3, #25 713:apps/rssi/main.c **** tone -= 25; 5951 .loc 1 713 6 view .LVU1875 5952 0390 88FFFFCA bgt .L533 5953 0394 88FFFFEA b .L536 5954 .LVL393: 5955 .L432: 713:apps/rssi/main.c **** tone -= 25; 5956 .loc 1 713 6 view .LVU1876 5957 .LBE801: 5958 .LBE800: 814:apps/rssi/main.c **** inc_dec_neighbour(1); 5959 .loc 1 814 8 is_stmt 1 view .LVU1877 814:apps/rssi/main.c **** inc_dec_neighbour(1); 5960 .loc 1 814 11 is_stmt 0 view .LVU1878 5961 0398 030053E3 cmp r3, #3 5962 039c 0D00001A bne .L433 815:apps/rssi/main.c **** else if (mode == MODE_SPECTRUM) 5963 .loc 1 815 4 is_stmt 1 view .LVU1879 5964 .LVL394: 5965 .LBB802: 5966 .LBI802: 727:apps/rssi/main.c **** { 5967 .loc 1 727 12 view .LVU1880 5968 .LBB803: 729:apps/rssi/main.c **** if (cursor > 0 && cursor - 1 >= (nb_num - NEIGH_LINES)) 5969 .loc 1 729 2 view .LVU1881 730:apps/rssi/main.c **** return -EINVAL; 5970 .loc 1 730 3 view .LVU1882 730:apps/rssi/main.c **** return -EINVAL; 5971 .loc 1 730 14 is_stmt 0 view .LVU1883 5972 03a0 FC3494E5 ldr r3, [r4, #1276] 730:apps/rssi/main.c **** return -EINVAL; 5973 .loc 1 730 6 view .LVU1884 5974 03a4 000053E3 cmp r3, #0 5975 03a8 080000DA ble .L434 730:apps/rssi/main.c **** return -EINVAL; 5976 .loc 1 730 45 view .LVU1885 5977 03ac 74279FE5 ldr r2, .L544+56 5978 03b0 002092E5 ldr r2, [r2] 5979 03b4 B622D2E1 ldrh r2, [r2, #38] 5980 03b8 191052E2 subs r1, r2, #25 5981 03bc 12104242 submi r1, r2, #18 730:apps/rssi/main.c **** return -EINVAL; 5982 .loc 1 730 43 view .LVU1886 5983 03c0 102994E5 ldr r2, [r4, #2320] 5984 03c4 C12142E0 sub r2, r2, r1, asr #3 730:apps/rssi/main.c **** return -EINVAL; 5985 .loc 1 730 18 view .LVU1887 5986 03c8 020053E1 cmp r3, r2 5987 03cc 7BFFFFCA bgt .L413 5988 .L434: 732:apps/rssi/main.c **** } else { 5989 .loc 1 732 3 is_stmt 1 view .LVU1888 732:apps/rssi/main.c **** } else { 5990 .loc 1 732 9 is_stmt 0 view .LVU1889 5991 03d0 013083E2 add r3, r3, #1 5992 03d4 DDFFFFEA b .L537 5993 .LVL395: 5994 .L433: 732:apps/rssi/main.c **** } else { 5995 .loc 1 732 9 view .LVU1890 5996 .LBE803: 5997 .LBE802: 816:apps/rssi/main.c **** inc_dec_spectrum(0); 5998 .loc 1 816 8 is_stmt 1 view .LVU1891 816:apps/rssi/main.c **** inc_dec_spectrum(0); 5999 .loc 1 816 11 is_stmt 0 view .LVU1892 6000 03d8 010053E3 cmp r3, #1 6001 03dc 77FFFF1A bne .L413 817:apps/rssi/main.c **** break; 6002 .loc 1 817 4 is_stmt 1 view .LVU1893 6003 .LVL396: 6004 .LBB804: 6005 .LBI804: 744:apps/rssi/main.c **** { 6006 .loc 1 744 12 view .LVU1894 6007 .LBB805: 746:apps/rssi/main.c **** pm_scale <<= 1; 6008 .loc 1 746 2 view .LVU1895 751:apps/rssi/main.c **** if (pm_scale < 1) 6009 .loc 1 751 3 view .LVU1896 752:apps/rssi/main.c **** pm_scale = 1; 6010 .loc 1 752 3 view .LVU1897 751:apps/rssi/main.c **** if (pm_scale < 1) 6011 .loc 1 751 12 is_stmt 0 view .LVU1898 6012 03e0 082096E5 ldr r2, [r6, #8] 6013 03e4 010052E3 cmp r2, #1 6014 03e8 C230A0C1 asrgt r3, r2, #1 6015 03ec DFFFFFEA b .L532 6016 .LVL397: 6017 .L417: 751:apps/rssi/main.c **** if (pm_scale < 1) 6018 .loc 1 751 12 view .LVU1899 6019 .LBE805: 6020 .LBE804: 820:apps/rssi/main.c **** inc_dec_arfcn(1); 6021 .loc 1 820 3 is_stmt 1 view .LVU1900 820:apps/rssi/main.c **** inc_dec_arfcn(1); 6022 .loc 1 820 25 is_stmt 0 view .LVU1901 6023 03f0 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 820:apps/rssi/main.c **** inc_dec_arfcn(1); 6024 .loc 1 820 6 view .LVU1902 6025 03f4 010053E3 cmp r3, #1 821:apps/rssi/main.c **** else if (mode == MODE_SYNC && cursor < 0) 6026 .loc 1 821 4 view .LVU1903 6027 03f8 0100A093 movls r0, #1 820:apps/rssi/main.c **** inc_dec_arfcn(1); 6028 .loc 1 820 6 view .LVU1904 6029 03fc 1E00009A bls .L539 822:apps/rssi/main.c **** inc_dec_ul_arfcn(1); 6030 .loc 1 822 8 is_stmt 1 view .LVU1905 822:apps/rssi/main.c **** inc_dec_ul_arfcn(1); 6031 .loc 1 822 11 is_stmt 0 view .LVU1906 6032 0400 030053E3 cmp r3, #3 6033 0404 6DFFFF1A bne .L413 822:apps/rssi/main.c **** inc_dec_ul_arfcn(1); 6034 .loc 1 822 30 view .LVU1907 6035 0408 FC3494E5 ldr r3, [r4, #1276] 6036 040c 000053E3 cmp r3, #0 6037 0410 6AFFFFAA bge .L413 823:apps/rssi/main.c **** break; 6038 .loc 1 823 4 is_stmt 1 view .LVU1908 6039 .LVL398: 6040 .LBB806: 6041 .LBI806: 650:apps/rssi/main.c **** { 6042 .loc 1 650 12 view .LVU1909 6043 .LBB807: 652:apps/rssi/main.c **** 6044 .loc 1 652 2 view .LVU1910 655:apps/rssi/main.c **** for (a = (ul_arfcn + 1) & 1023; a != (arfcn & 1023); 6045 .loc 1 655 2 view .LVU1911 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6046 .loc 1 656 3 view .LVU1912 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6047 .loc 1 656 22 is_stmt 0 view .LVU1913 6048 0414 08379FE5 ldr r3, .L544+52 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6049 .loc 1 656 47 view .LVU1914 6050 0418 0C279FE5 ldr r2, .L544+60 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6051 .loc 1 656 22 view .LVU1915 6052 041c B45053E0 ldrh r5, [r3], #-4 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6053 .loc 1 656 10 view .LVU1916 6054 0420 08179FE5 ldr r1, .L544+64 6055 0424 BA20D2E1 ldrh r2, [r2, #10] 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6056 .loc 1 656 22 view .LVU1917 6057 0428 015085E2 add r5, r5, #1 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6058 .loc 1 656 10 view .LVU1918 6059 042c 015005E0 and r5, r5, r1 6060 .LVL399: 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6061 .loc 1 656 10 view .LVU1919 6062 0430 012002E0 and r2, r2, r1 6063 .L437: 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6064 .loc 1 656 37 is_stmt 1 view .LVU1920 6065 0434 020055E1 cmp r5, r2 6066 0438 0400001A bne .L439 6067 .LVL400: 6068 .L442: 656:apps/rssi/main.c **** a = (a + 1) & 1023) { 6069 .loc 1 656 37 is_stmt 0 view .LVU1921 6070 .LBE807: 6071 .LBE806: 6072 .LBB809: 6073 .LBB810: 668:apps/rssi/main.c **** 6074 .loc 1 668 2 is_stmt 1 view .LVU1922 668:apps/rssi/main.c **** 6075 .loc 1 668 11 is_stmt 0 view .LVU1923 6076 043c B450C3E1 strh r5, [r3, #4] @ movhi 670:apps/rssi/main.c **** 6077 .loc 1 670 2 is_stmt 1 view .LVU1924 6078 0440 FEFFFFEB bl refresh_display 6079 .LVL401: 672:apps/rssi/main.c **** 6080 .loc 1 672 2 view .LVU1925 6081 0444 0500A0E1 mov r0, r5 6082 0448 FEFFFFEB bl request_ul_levels 6083 .LVL402: 674:apps/rssi/main.c **** } 6084 .loc 1 674 2 view .LVU1926 674:apps/rssi/main.c **** } 6085 .loc 1 674 9 is_stmt 0 view .LVU1927 6086 044c 5BFFFFEA b .L413 6087 .LVL403: 6088 .L439: 674:apps/rssi/main.c **** } 6089 .loc 1 674 9 view .LVU1928 6090 .LBE810: 6091 .LBE809: 6092 .LBB812: 6093 .LBB808: 658:apps/rssi/main.c **** break; 6094 .loc 1 658 4 is_stmt 1 view .LVU1929 658:apps/rssi/main.c **** break; 6095 .loc 1 658 16 is_stmt 0 view .LVU1930 6096 0450 050084E0 add r0, r4, r5 658:apps/rssi/main.c **** break; 6097 .loc 1 658 7 view .LVU1931 6098 0454 0E05D0E5 ldrb r0, [r0, #1294] @ zero_extendqisi2 6099 0458 010010E3 tst r0, #1 6100 045c F6FFFF1A bne .L442 657:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6101 .loc 1 657 8 is_stmt 1 view .LVU1932 657:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6102 .loc 1 657 13 is_stmt 0 view .LVU1933 6103 0460 015085E2 add r5, r5, #1 6104 .LVL404: 657:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6105 .loc 1 657 8 view .LVU1934 6106 0464 015005E0 and r5, r5, r1 6107 .LVL405: 657:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6108 .loc 1 657 8 view .LVU1935 6109 0468 F1FFFFEA b .L437 6110 .LVL406: 6111 .L418: 657:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6112 .loc 1 657 8 view .LVU1936 6113 .LBE808: 6114 .LBE812: 826:apps/rssi/main.c **** inc_dec_arfcn(0); 6115 .loc 1 826 3 is_stmt 1 view .LVU1937 826:apps/rssi/main.c **** inc_dec_arfcn(0); 6116 .loc 1 826 25 is_stmt 0 view .LVU1938 6117 046c FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 826:apps/rssi/main.c **** inc_dec_arfcn(0); 6118 .loc 1 826 6 view .LVU1939 6119 0470 010053E3 cmp r3, #1 6120 0474 0200008A bhi .L440 827:apps/rssi/main.c **** else if (mode == MODE_SYNC && cursor < 0) 6121 .loc 1 827 4 is_stmt 1 view .LVU1940 6122 0478 0000A0E3 mov r0, #0 6123 .L539: 6124 047c FEFFFFEB bl inc_dec_arfcn.isra.0 6125 .LVL407: 6126 0480 4EFFFFEA b .L413 6127 .L440: 828:apps/rssi/main.c **** inc_dec_ul_arfcn(0); 6128 .loc 1 828 8 view .LVU1941 828:apps/rssi/main.c **** inc_dec_ul_arfcn(0); 6129 .loc 1 828 11 is_stmt 0 view .LVU1942 6130 0484 030053E3 cmp r3, #3 6131 0488 4CFFFF1A bne .L413 828:apps/rssi/main.c **** inc_dec_ul_arfcn(0); 6132 .loc 1 828 30 view .LVU1943 6133 048c FC3494E5 ldr r3, [r4, #1276] 6134 0490 000053E3 cmp r3, #0 6135 0494 49FFFFAA bge .L413 829:apps/rssi/main.c **** break; 6136 .loc 1 829 4 is_stmt 1 view .LVU1944 6137 .LVL408: 6138 .LBB813: 6139 .LBI809: 650:apps/rssi/main.c **** { 6140 .loc 1 650 12 view .LVU1945 6141 .LBB811: 652:apps/rssi/main.c **** 6142 .loc 1 652 2 view .LVU1946 655:apps/rssi/main.c **** for (a = (ul_arfcn + 1) & 1023; a != (arfcn & 1023); 6143 .loc 1 655 2 view .LVU1947 662:apps/rssi/main.c **** a = (a - 1) & 1023) { 6144 .loc 1 662 3 view .LVU1948 662:apps/rssi/main.c **** a = (a - 1) & 1023) { 6145 .loc 1 662 22 is_stmt 0 view .LVU1949 6146 0498 84369FE5 ldr r3, .L544+52 662:apps/rssi/main.c **** a = (a - 1) & 1023) { 6147 .loc 1 662 47 view .LVU1950 6148 049c 88269FE5 ldr r2, .L544+60 662:apps/rssi/main.c **** a = (a - 1) & 1023) { 6149 .loc 1 662 22 view .LVU1951 6150 04a0 B45053E0 ldrh r5, [r3], #-4 662:apps/rssi/main.c **** a = (a - 1) & 1023) { 6151 .loc 1 662 10 view .LVU1952 6152 04a4 84169FE5 ldr r1, .L544+64 6153 04a8 BA20D2E1 ldrh r2, [r2, #10] 662:apps/rssi/main.c **** a = (a - 1) & 1023) { 6154 .loc 1 662 22 view .LVU1953 6155 04ac 015045E2 sub r5, r5, #1 662:apps/rssi/main.c **** a = (a - 1) & 1023) { 6156 .loc 1 662 10 view .LVU1954 6157 04b0 015005E0 and r5, r5, r1 6158 .LVL409: 662:apps/rssi/main.c **** a = (a - 1) & 1023) { 6159 .loc 1 662 10 view .LVU1955 6160 04b4 012002E0 and r2, r2, r1 6161 .L441: 662:apps/rssi/main.c **** a = (a - 1) & 1023) { 6162 .loc 1 662 37 is_stmt 1 view .LVU1956 6163 04b8 020055E1 cmp r5, r2 6164 04bc DEFFFF0A beq .L442 664:apps/rssi/main.c **** break; 6165 .loc 1 664 4 view .LVU1957 664:apps/rssi/main.c **** break; 6166 .loc 1 664 16 is_stmt 0 view .LVU1958 6167 04c0 050084E0 add r0, r4, r5 664:apps/rssi/main.c **** break; 6168 .loc 1 664 7 view .LVU1959 6169 04c4 0E05D0E5 ldrb r0, [r0, #1294] @ zero_extendqisi2 6170 04c8 010010E3 tst r0, #1 6171 04cc DAFFFF1A bne .L442 663:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6172 .loc 1 663 8 is_stmt 1 view .LVU1960 663:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6173 .loc 1 663 13 is_stmt 0 view .LVU1961 6174 04d0 015045E2 sub r5, r5, #1 6175 .LVL410: 663:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6176 .loc 1 663 8 view .LVU1962 6177 04d4 015005E0 and r5, r5, r1 6178 .LVL411: 663:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6179 .loc 1 663 8 view .LVU1963 6180 04d8 F6FFFFEA b .L441 6181 .LVL412: 6182 .L422: 663:apps/rssi/main.c **** if ((freq[a].mask & FREQ_TYPE_SERV)) 6183 .loc 1 663 8 view .LVU1964 6184 .LBE811: 6185 .LBE813: 832:apps/rssi/main.c **** toggle_dcs_pcs(); 6186 .loc 1 832 3 is_stmt 1 view .LVU1965 832:apps/rssi/main.c **** toggle_dcs_pcs(); 6187 .loc 1 832 25 is_stmt 0 view .LVU1966 6188 04dc FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 832:apps/rssi/main.c **** toggle_dcs_pcs(); 6189 .loc 1 832 6 view .LVU1967 6190 04e0 010053E3 cmp r3, #1 6191 04e4 0400008A bhi .L444 833:apps/rssi/main.c **** else if (mode == MODE_ARFCN) 6192 .loc 1 833 4 is_stmt 1 view .LVU1968 6193 .LBB814: 6194 .LBI814: 677:apps/rssi/main.c **** { 6195 .loc 1 677 13 view .LVU1969 6196 .LBB815: 679:apps/rssi/main.c **** refresh_display(); 6197 .loc 1 679 2 view .LVU1970 679:apps/rssi/main.c **** refresh_display(); 6198 .loc 1 679 8 is_stmt 0 view .LVU1971 6199 04e8 003094E5 ldr r3, [r4] 6200 04ec 013073E2 rsbs r3, r3, #1 6201 04f0 0030A033 movcc r3, #0 679:apps/rssi/main.c **** refresh_display(); 6202 .loc 1 679 6 view .LVU1972 6203 04f4 003084E5 str r3, [r4] 680:apps/rssi/main.c **** } 6204 .loc 1 680 2 is_stmt 1 view .LVU1973 6205 04f8 2FFFFFEA b .L536 6206 .L444: 6207 .LBE815: 6208 .LBE814: 834:apps/rssi/main.c **** enter_arfcn(key_code); 6209 .loc 1 834 8 view .LVU1974 834:apps/rssi/main.c **** enter_arfcn(key_code); 6210 .loc 1 834 11 is_stmt 0 view .LVU1975 6211 04fc 020053E3 cmp r3, #2 835:apps/rssi/main.c **** else if (mode == MODE_SYNC) 6212 .loc 1 835 4 is_stmt 1 view .LVU1976 6213 0500 0D00A003 moveq r0, #13 6214 0504 22FFFF0A beq .L534 6215 .L445: 836:apps/rssi/main.c **** exit_sync(); 6216 .loc 1 836 8 view .LVU1977 836:apps/rssi/main.c **** exit_sync(); 6217 .loc 1 836 11 is_stmt 0 view .LVU1978 6218 0508 030053E3 cmp r3, #3 6219 050c 0600001A bne .L446 6220 .L453: 837:apps/rssi/main.c **** else if (mode == MODE_RACH) 6221 .loc 1 837 4 is_stmt 1 view .LVU1979 6222 .LBB816: 6223 .LBI816: 1031:apps/rssi/main.c **** { 6224 .loc 1 1031 13 view .LVU1980 6225 .LBB817: 1033:apps/rssi/main.c **** l1s_reset_hw(); 6226 .loc 1 1033 2 view .LVU1981 6227 0510 FEFFFFEB bl l1s_reset 6228 .LVL413: 1034:apps/rssi/main.c **** pm_count = 0; 6229 .loc 1 1034 2 view .LVU1982 6230 0514 FEFFFFEB bl l1s_reset_hw 6231 .LVL414: 1035:apps/rssi/main.c **** pm_mode = PM_IDLE; 6232 .loc 1 1035 2 view .LVU1983 1035:apps/rssi/main.c **** pm_mode = PM_IDLE; 6233 .loc 1 1035 11 is_stmt 0 view .LVU1984 6234 0518 0030A0E3 mov r3, #0 6235 051c 243084E5 str r3, [r4, #36] 1036:apps/rssi/main.c **** mode = MODE_MAIN; 6236 .loc 1 1036 2 is_stmt 1 view .LVU1985 1036:apps/rssi/main.c **** mode = MODE_MAIN; 6237 .loc 1 1036 10 is_stmt 0 view .LVU1986 6238 0520 2030C4E5 strb r3, [r4, #32] 1037:apps/rssi/main.c **** } 6239 .loc 1 1037 2 is_stmt 1 view .LVU1987 6240 .L538: 6241 .LBE817: 6242 .LBE816: 6243 .LBB818: 6244 .LBB819: 1192:apps/rssi/main.c **** /* display refresh is done by rach handler */ 6245 .loc 1 1192 7 is_stmt 0 view .LVU1988 6246 0524 FA34C4E5 strb r3, [r4, #1274] 6247 0528 24FFFFEA b .L413 6248 .L446: 6249 .LBE819: 6250 .LBE818: 838:apps/rssi/main.c **** exit_rach(); 6251 .loc 1 838 8 is_stmt 1 view .LVU1989 838:apps/rssi/main.c **** exit_rach(); 6252 .loc 1 838 11 is_stmt 0 view .LVU1990 6253 052c 040053E3 cmp r3, #4 6254 0530 22FFFF1A bne .L413 6255 .L454: 839:apps/rssi/main.c **** break; 6256 .loc 1 839 4 is_stmt 1 view .LVU1991 6257 0534 FEFFFFEB bl exit_rach 6258 .LVL415: 6259 0538 20FFFFEA b .L413 6260 .L421: 842:apps/rssi/main.c **** toggle_up_down(); 6261 .loc 1 842 3 view .LVU1992 842:apps/rssi/main.c **** toggle_up_down(); 6262 .loc 1 842 25 is_stmt 0 view .LVU1993 6263 053c FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 842:apps/rssi/main.c **** toggle_up_down(); 6264 .loc 1 842 6 view .LVU1994 6265 0540 010053E3 cmp r3, #1 6266 0544 0100008A bhi .L447 6267 .L449: 843:apps/rssi/main.c **** else if (mode == MODE_ARFCN) 6268 .loc 1 843 4 is_stmt 1 view .LVU1995 6269 0548 FEFFFFEB bl toggle_up_down 6270 .LVL416: 6271 054c 1BFFFFEA b .L413 6272 .L447: 844:apps/rssi/main.c **** enter_arfcn(key_code); 6273 .loc 1 844 8 view .LVU1996 844:apps/rssi/main.c **** enter_arfcn(key_code); 6274 .loc 1 844 11 is_stmt 0 view .LVU1997 6275 0550 020053E3 cmp r3, #2 845:apps/rssi/main.c **** else if (mode == MODE_SYNC && cursor < 0) 6276 .loc 1 845 4 view .LVU1998 6277 0554 0E00A003 moveq r0, #14 844:apps/rssi/main.c **** enter_arfcn(key_code); 6278 .loc 1 844 11 view .LVU1999 6279 0558 0DFFFF0A beq .L534 846:apps/rssi/main.c **** toggle_up_down(); 6280 .loc 1 846 8 is_stmt 1 view .LVU2000 846:apps/rssi/main.c **** toggle_up_down(); 6281 .loc 1 846 11 is_stmt 0 view .LVU2001 6282 055c 030053E3 cmp r3, #3 6283 0560 16FFFF1A bne .L413 846:apps/rssi/main.c **** toggle_up_down(); 6284 .loc 1 846 30 view .LVU2002 6285 0564 FC3494E5 ldr r3, [r4, #1276] 6286 0568 000053E3 cmp r3, #0 6287 056c 13FFFFAA bge .L413 6288 0570 F4FFFFEA b .L449 6289 .L416: 850:apps/rssi/main.c **** enter_sync(); 6290 .loc 1 850 3 is_stmt 1 view .LVU2003 850:apps/rssi/main.c **** enter_sync(); 6291 .loc 1 850 25 is_stmt 0 view .LVU2004 6292 0574 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 850:apps/rssi/main.c **** enter_sync(); 6293 .loc 1 850 6 view .LVU2005 6294 0578 010053E3 cmp r3, #1 6295 057c 4F00008A bhi .L450 851:apps/rssi/main.c **** else if (mode == MODE_SYNC || mode == MODE_RACH) 6296 .loc 1 851 4 is_stmt 1 view .LVU2006 6297 .LBB821: 6298 .LBI821: 984:apps/rssi/main.c **** { 6299 .loc 1 984 13 view .LVU2007 6300 .LBB822: 986:apps/rssi/main.c **** struct l1ctl_fbsb_req *req; 6301 .loc 1 986 2 view .LVU2008 986:apps/rssi/main.c **** struct l1ctl_fbsb_req *req; 6302 .loc 1 986 21 is_stmt 0 view .LVU2009 6303 0580 0100A0E3 mov r0, #1 988:apps/rssi/main.c **** 6304 .loc 1 988 11 view .LVU2010 6305 0584 90A59FE5 ldr r10, .L544+44 986:apps/rssi/main.c **** struct l1ctl_fbsb_req *req; 6306 .loc 1 986 21 view .LVU2011 6307 0588 FEFFFFEB bl l1ctl_msgb_alloc 6308 .LVL417: 988:apps/rssi/main.c **** 6309 .loc 1 988 11 view .LVU2012 6310 058c 0A90A0E1 mov r9, r10 986:apps/rssi/main.c **** struct l1ctl_fbsb_req *req; 6311 .loc 1 986 21 view .LVU2013 6312 0590 0080A0E1 mov r8, r0 6313 .LVL418: 987:apps/rssi/main.c **** uint16_t a = arfcn; 6314 .loc 1 987 2 is_stmt 1 view .LVU2014 988:apps/rssi/main.c **** 6315 .loc 1 988 2 view .LVU2015 988:apps/rssi/main.c **** 6316 .loc 1 988 11 is_stmt 0 view .LVU2016 6317 0594 BA5059E0 ldrh r5, [r9], #-10 6318 .LVL419: 990:apps/rssi/main.c **** l1s_reset_hw(); 6319 .loc 1 990 2 is_stmt 1 view .LVU2017 6320 0598 FEFFFFEB bl l1s_reset 6321 .LVL420: 991:apps/rssi/main.c **** pm_count = 0; 6322 .loc 1 991 2 view .LVU2018 6323 059c FEFFFFEB bl l1s_reset_hw 6324 .LVL421: 992:apps/rssi/main.c **** pm_mode = PM_IDLE; 6325 .loc 1 992 2 view .LVU2019 992:apps/rssi/main.c **** pm_mode = PM_IDLE; 6326 .loc 1 992 11 is_stmt 0 view .LVU2020 6327 05a0 0030A0E3 mov r3, #0 995:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 6328 .loc 1 995 34 view .LVU2021 6329 05a4 0D10A0E3 mov r1, #13 6330 05a8 0800A0E1 mov r0, r8 992:apps/rssi/main.c **** pm_mode = PM_IDLE; 6331 .loc 1 992 11 view .LVU2022 6332 05ac 243084E5 str r3, [r4, #36] 993:apps/rssi/main.c **** 6333 .loc 1 993 2 is_stmt 1 view .LVU2023 993:apps/rssi/main.c **** 6334 .loc 1 993 10 is_stmt 0 view .LVU2024 6335 05b0 2030C4E5 strb r3, [r4, #32] 995:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 6336 .loc 1 995 2 is_stmt 1 view .LVU2025 995:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 6337 .loc 1 995 34 is_stmt 0 view .LVU2026 6338 05b4 FEFFFFEB bl msgb_put 6339 .LVL422: 996:apps/rssi/main.c **** a |= ARFCN_PCS; 6340 .loc 1 996 5 view .LVU2027 6341 05b8 002094E5 ldr r2, [r4] 6342 05bc 000052E3 cmp r2, #0 995:apps/rssi/main.c **** if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) 6343 .loc 1 995 34 view .LVU2028 6344 05c0 0030A0E1 mov r3, r0 6345 .LVL423: 996:apps/rssi/main.c **** a |= ARFCN_PCS; 6346 .loc 1 996 2 is_stmt 1 view .LVU2029 996:apps/rssi/main.c **** a |= ARFCN_PCS; 6347 .loc 1 996 5 is_stmt 0 view .LVU2030 6348 05c4 0600000A beq .L451 996:apps/rssi/main.c **** a |= ARFCN_PCS; 6349 .loc 1 996 30 view .LVU2031 6350 05c8 B020DAE1 ldrh r2, [r10] 6351 05cc 022C42E2 sub r2, r2, #512 6352 05d0 48159FE5 ldr r1, .L544+48 6353 05d4 0228A0E1 lsl r2, r2, #16 6354 05d8 2228A0E1 lsr r2, r2, #16 6355 05dc 010052E1 cmp r2, r1 997:apps/rssi/main.c **** req->band_arfcn = htons(a); 6356 .loc 1 997 3 is_stmt 1 view .LVU2032 997:apps/rssi/main.c **** req->band_arfcn = htons(a); 6357 .loc 1 997 5 is_stmt 0 view .LVU2033 6358 05e0 02598593 orrls r5, r5, #32768 6359 .LVL424: 6360 .L451: 998:apps/rssi/main.c **** req->timeout = htons(100); 6361 .loc 1 998 2 is_stmt 1 view .LVU2034 998:apps/rssi/main.c **** req->timeout = htons(100); 6362 .loc 1 998 18 is_stmt 0 view .LVU2035 6363 05e4 2524A0E1 lsr r2, r5, #8 6364 05e8 052482E1 orr r2, r2, r5, lsl #8 6365 05ec 0020C3E5 strb r2, [r3] 6366 05f0 2224A0E1 lsr r2, r2, #8 6367 05f4 0120C3E5 strb r2, [r3, #1] 999:apps/rssi/main.c **** /* Threshold when to consider FB_MODE1: 4kHz - 1kHz */ 6368 .loc 1 999 2 is_stmt 1 view .LVU2036 999:apps/rssi/main.c **** /* Threshold when to consider FB_MODE1: 4kHz - 1kHz */ 6369 .loc 1 999 15 is_stmt 0 view .LVU2037 6370 05f8 6420A0E3 mov r2, #100 6371 05fc 0320C3E5 strb r2, [r3, #3] 1001:apps/rssi/main.c **** /* Threshold when to consider SCH: 1kHz - 200Hz */ 6372 .loc 1 1001 2 is_stmt 1 view .LVU2038 1001:apps/rssi/main.c **** /* Threshold when to consider SCH: 1kHz - 200Hz */ 6373 .loc 1 1001 24 is_stmt 0 view .LVU2039 6374 0600 2720A0E3 mov r2, #39 6375 0604 0420C3E5 strb r2, [r3, #4] 6376 0608 1020A0E3 mov r2, #16 6377 060c 0520C3E5 strb r2, [r3, #5] 1003:apps/rssi/main.c **** /* not used yet! */ 6378 .loc 1 1003 2 is_stmt 1 view .LVU2040 1003:apps/rssi/main.c **** /* not used yet! */ 6379 .loc 1 1003 24 is_stmt 0 view .LVU2041 6380 0610 2020A0E3 mov r2, #32 998:apps/rssi/main.c **** req->timeout = htons(100); 6381 .loc 1 998 18 view .LVU2042 6382 0614 0050A0E3 mov r5, #0 6383 .LVL425: 1003:apps/rssi/main.c **** /* not used yet! */ 6384 .loc 1 1003 24 view .LVU2043 6385 0618 0720C3E5 strb r2, [r3, #7] 1005:apps/rssi/main.c **** req->flags = L1CTL_FBSB_F_FB01SB; 6386 .loc 1 1005 2 is_stmt 1 view .LVU2044 1003:apps/rssi/main.c **** /* not used yet! */ 6387 .loc 1 1003 24 is_stmt 0 view .LVU2045 6388 061c 03A0A0E3 mov r10, #3 1006:apps/rssi/main.c **** req->sync_info_idx = 0; 6389 .loc 1 1006 13 view .LVU2046 6390 0620 0720A0E3 mov r2, #7 1009:apps/rssi/main.c **** 6391 .loc 1 1009 2 view .LVU2047 6392 0624 0810A0E1 mov r1, r8 1006:apps/rssi/main.c **** req->sync_info_idx = 0; 6393 .loc 1 1006 13 view .LVU2048 6394 0628 0920C3E5 strb r2, [r3, #9] 999:apps/rssi/main.c **** /* Threshold when to consider FB_MODE1: 4kHz - 1kHz */ 6395 .loc 1 999 15 view .LVU2049 6396 062c 0250C3E5 strb r5, [r3, #2] 1003:apps/rssi/main.c **** /* not used yet! */ 6397 .loc 1 1003 24 view .LVU2050 6398 0630 06A0C3E5 strb r10, [r3, #6] 1005:apps/rssi/main.c **** req->flags = L1CTL_FBSB_F_FB01SB; 6399 .loc 1 1005 23 view .LVU2051 6400 0634 08A0C3E5 strb r10, [r3, #8] 1006:apps/rssi/main.c **** req->sync_info_idx = 0; 6401 .loc 1 1006 2 is_stmt 1 view .LVU2052 1007:apps/rssi/main.c **** req->ccch_mode = CCCH_MODE_NONE; 6402 .loc 1 1007 2 view .LVU2053 1007:apps/rssi/main.c **** req->ccch_mode = CCCH_MODE_NONE; 6403 .loc 1 1007 21 is_stmt 0 view .LVU2054 6404 0638 0A50C3E5 strb r5, [r3, #10] 1008:apps/rssi/main.c **** l1a_l23_rx(SC_DLCI_L1A_L23, msg); 6405 .loc 1 1008 2 is_stmt 1 view .LVU2055 1008:apps/rssi/main.c **** l1a_l23_rx(SC_DLCI_L1A_L23, msg); 6406 .loc 1 1008 17 is_stmt 0 view .LVU2056 6407 063c 0B50C3E5 strb r5, [r3, #11] 1009:apps/rssi/main.c **** 6408 .loc 1 1009 2 is_stmt 1 view .LVU2057 6409 0640 0500A0E3 mov r0, #5 6410 .LVL426: 1009:apps/rssi/main.c **** 6411 .loc 1 1009 2 is_stmt 0 view .LVU2058 6412 0644 FEFFFFEB bl l1a_l23_rx 6413 .LVL427: 1011:apps/rssi/main.c **** memset(ul_levels, 0, sizeof(ul_levels)); 6414 .loc 1 1011 2 is_stmt 1 view .LVU2059 1012:apps/rssi/main.c **** si_new = 0; 6415 .loc 1 1012 2 is_stmt 0 view .LVU2060 6416 0648 0820A0E3 mov r2, #8 6417 064c E0849FE5 ldr r8, .L544+68 6418 .LVL428: 1012:apps/rssi/main.c **** si_new = 0; 6419 .loc 1 1012 2 view .LVU2061 6420 0650 0510A0E1 mov r1, r5 6421 0654 020088E0 add r0, r8, r2 1011:apps/rssi/main.c **** memset(ul_levels, 0, sizeof(ul_levels)); 6422 .loc 1 1011 7 view .LVU2062 6423 0658 FAA4C4E5 strb r10, [r4, #1274] 1012:apps/rssi/main.c **** si_new = 0; 6424 .loc 1 1012 2 is_stmt 1 view .LVU2063 6425 065c FEFFFFEB bl memset 6426 .LVL429: 1013:apps/rssi/main.c **** ul_new = 0; 6427 .loc 1 1013 2 view .LVU2064 1015:apps/rssi/main.c **** si_1[2] = 0; 6428 .loc 1 1015 11 is_stmt 0 view .LVU2065 6429 0660 BA30D9E1 ldrh r3, [r9, #10] 6430 0664 B432C8E1 strh r3, [r8, #36] @ movhi 1023:apps/rssi/main.c **** memset(freq, 0, sizeof(freq)); 6431 .loc 1 1023 12 view .LVU2066 6432 0668 0030E0E3 mvn r3, #0 1024:apps/rssi/main.c **** cursor = 0; 6433 .loc 1 1024 2 view .LVU2067 6434 066c 012BA0E3 mov r2, #1024 6435 0670 0510A0E1 mov r1, r5 6436 0674 2E0088E2 add r0, r8, #46 1023:apps/rssi/main.c **** memset(freq, 0, sizeof(freq)); 6437 .loc 1 1023 12 view .LVU2068 6438 0678 303984E5 str r3, [r4, #2352] 1013:apps/rssi/main.c **** ul_new = 0; 6439 .loc 1 1013 9 view .LVU2069 6440 067c B65848E1 strh r5, [r8, #-134] @ movhi 1014:apps/rssi/main.c **** ul_arfcn = arfcn; 6441 .loc 1 1014 2 is_stmt 1 view .LVU2070 1014:apps/rssi/main.c **** ul_arfcn = arfcn; 6442 .loc 1 1014 9 is_stmt 0 view .LVU2071 6443 0680 B851C8E1 strh r5, [r8, #24] @ movhi 1015:apps/rssi/main.c **** si_1[2] = 0; 6444 .loc 1 1015 2 is_stmt 1 view .LVU2072 1016:apps/rssi/main.c **** si_2[2] = 0; 6445 .loc 1 1016 2 view .LVU2073 1016:apps/rssi/main.c **** si_2[2] = 0; 6446 .loc 1 1016 10 is_stmt 0 view .LVU2074 6447 0684 5E54C4E5 strb r5, [r4, #1118] 1017:apps/rssi/main.c **** si_2bis[2] = 0; 6448 .loc 1 1017 2 is_stmt 1 view .LVU2075 1017:apps/rssi/main.c **** si_2bis[2] = 0; 6449 .loc 1 1017 10 is_stmt 0 view .LVU2076 6450 0688 7554C4E5 strb r5, [r4, #1141] 1018:apps/rssi/main.c **** si_2ter[2] = 0; 6451 .loc 1 1018 2 is_stmt 1 view .LVU2077 1018:apps/rssi/main.c **** si_2ter[2] = 0; 6452 .loc 1 1018 13 is_stmt 0 view .LVU2078 6453 068c 8C54C4E5 strb r5, [r4, #1164] 1019:apps/rssi/main.c **** si_3[2] = 0; 6454 .loc 1 1019 2 is_stmt 1 view .LVU2079 1019:apps/rssi/main.c **** si_3[2] = 0; 6455 .loc 1 1019 13 is_stmt 0 view .LVU2080 6456 0690 A354C4E5 strb r5, [r4, #1187] 1020:apps/rssi/main.c **** si_4[2] = 0; 6457 .loc 1 1020 2 is_stmt 1 view .LVU2081 1020:apps/rssi/main.c **** si_4[2] = 0; 6458 .loc 1 1020 10 is_stmt 0 view .LVU2082 6459 0694 BA54C4E5 strb r5, [r4, #1210] 1021:apps/rssi/main.c **** mcc = mnc = lac = 0; 6460 .loc 1 1021 2 is_stmt 1 view .LVU2083 1021:apps/rssi/main.c **** mcc = mnc = lac = 0; 6461 .loc 1 1021 10 is_stmt 0 view .LVU2084 6462 0698 D154C4E5 strb r5, [r4, #1233] 1022:apps/rssi/main.c **** ccch_conf = -1; 6463 .loc 1 1022 2 is_stmt 1 view .LVU2085 1022:apps/rssi/main.c **** ccch_conf = -1; 6464 .loc 1 1022 18 is_stmt 0 view .LVU2086 6465 069c BA52C8E1 strh r5, [r8, #42] @ movhi 1022:apps/rssi/main.c **** ccch_conf = -1; 6466 .loc 1 1022 12 view .LVU2087 6467 06a0 B852C8E1 strh r5, [r8, #40] @ movhi 1022:apps/rssi/main.c **** ccch_conf = -1; 6468 .loc 1 1022 6 view .LVU2088 6469 06a4 B652C8E1 strh r5, [r8, #38] @ movhi 1023:apps/rssi/main.c **** memset(freq, 0, sizeof(freq)); 6470 .loc 1 1023 2 is_stmt 1 view .LVU2089 1024:apps/rssi/main.c **** cursor = 0; 6471 .loc 1 1024 2 view .LVU2090 6472 06a8 FEFFFFEB bl memset 6473 .LVL430: 1025:apps/rssi/main.c **** nb_num = 0; 6474 .loc 1 1025 2 view .LVU2091 1027:apps/rssi/main.c **** refresh_display(); 6475 .loc 1 1027 11 is_stmt 0 view .LVU2092 6476 06ac 84349FE5 ldr r3, .L544+72 1025:apps/rssi/main.c **** nb_num = 0; 6477 .loc 1 1025 9 view .LVU2093 6478 06b0 FC5484E5 str r5, [r4, #1276] 1026:apps/rssi/main.c **** sync_msg = "trying"; 6479 .loc 1 1026 2 is_stmt 1 view .LVU2094 1026:apps/rssi/main.c **** sync_msg = "trying"; 6480 .loc 1 1026 9 is_stmt 0 view .LVU2095 6481 06b4 105984E5 str r5, [r4, #2320] 1027:apps/rssi/main.c **** refresh_display(); 6482 .loc 1 1027 2 is_stmt 1 view .LVU2096 1027:apps/rssi/main.c **** refresh_display(); 6483 .loc 1 1027 11 is_stmt 0 view .LVU2097 6484 06b8 043086E5 str r3, [r6, #4] 1028:apps/rssi/main.c **** } 6485 .loc 1 1028 2 is_stmt 1 view .LVU2098 6486 06bc BEFEFFEA b .L536 6487 .LVL431: 6488 .L450: 1028:apps/rssi/main.c **** } 6489 .loc 1 1028 2 is_stmt 0 view .LVU2099 6490 .LBE822: 6491 .LBE821: 852:apps/rssi/main.c **** enter_rach(); 6492 .loc 1 852 8 is_stmt 1 view .LVU2100 852:apps/rssi/main.c **** enter_rach(); 6493 .loc 1 852 11 is_stmt 0 view .LVU2101 6494 06c0 033043E2 sub r3, r3, #3 6495 06c4 010053E3 cmp r3, #1 6496 06c8 BCFEFF8A bhi .L413 853:apps/rssi/main.c **** break; 6497 .loc 1 853 4 is_stmt 1 view .LVU2102 6498 .LBB823: 6499 .LBI818: 1182:apps/rssi/main.c **** { 6500 .loc 1 1182 13 view .LVU2103 6501 .LBB820: 1184:apps/rssi/main.c **** return; 6502 .loc 1 1184 2 view .LVU2104 1184:apps/rssi/main.c **** return; 6503 .loc 1 1184 5 is_stmt 0 view .LVU2105 6504 06cc 303994E5 ldr r3, [r4, #2352] 6505 06d0 000053E3 cmp r3, #0 6506 06d4 B9FEFFBA blt .L413 1187:apps/rssi/main.c **** return; 6507 .loc 1 1187 2 is_stmt 1 view .LVU2106 1187:apps/rssi/main.c **** return; 6508 .loc 1 1187 5 is_stmt 0 view .LVU2107 6509 06d8 083094E5 ldr r3, [r4, #8] 6510 06dc 000053E3 cmp r3, #0 6511 06e0 B6FEFF1A bne .L413 1191:apps/rssi/main.c **** mode = MODE_RACH; 6512 .loc 1 1191 2 is_stmt 1 view .LVU2108 1191:apps/rssi/main.c **** mode = MODE_RACH; 6513 .loc 1 1191 9 is_stmt 0 view .LVU2109 6514 06e4 0130A0E3 mov r3, #1 6515 06e8 E634C4E5 strb r3, [r4, #1254] 1192:apps/rssi/main.c **** /* display refresh is done by rach handler */ 6516 .loc 1 1192 2 is_stmt 1 view .LVU2110 1192:apps/rssi/main.c **** /* display refresh is done by rach handler */ 6517 .loc 1 1192 7 is_stmt 0 view .LVU2111 6518 06ec 0430A0E3 mov r3, #4 6519 06f0 8BFFFFEA b .L538 6520 .L423: 6521 .LBE820: 6522 .LBE823: 856:apps/rssi/main.c **** break; 6523 .loc 1 856 3 is_stmt 1 view .LVU2112 6524 .LBB824: 6525 .LBI824: 720:apps/rssi/main.c **** { 6526 .loc 1 720 13 view .LVU2113 6527 .LBB825: 722:apps/rssi/main.c **** max_power = power; 6528 .loc 1 722 2 view .LVU2114 722:apps/rssi/main.c **** max_power = power; 6529 .loc 1 722 8 is_stmt 0 view .LVU2115 6530 06f4 503094E5 ldr r3, [r4, #80] 6531 06f8 013073E2 rsbs r3, r3, #1 6532 06fc 0030A033 movcc r3, #0 722:apps/rssi/main.c **** max_power = power; 6533 .loc 1 722 6 view .LVU2116 6534 0700 503084E5 str r3, [r4, #80] 723:apps/rssi/main.c **** refresh_display(); 6535 .loc 1 723 2 is_stmt 1 view .LVU2117 723:apps/rssi/main.c **** refresh_display(); 6536 .loc 1 723 12 is_stmt 0 view .LVU2118 6537 0704 5934D4E5 ldrb r3, [r4, #1113] @ zero_extendqisi2 6538 0708 2039C4E5 strb r3, [r4, #2336] 724:apps/rssi/main.c **** } 6539 .loc 1 724 2 is_stmt 1 view .LVU2119 6540 070c AAFEFFEA b .L536 6541 .L414: 6542 .LBE825: 6543 .LBE824: 859:apps/rssi/main.c **** exit_arfcn(); 6544 .loc 1 859 3 view .LVU2120 859:apps/rssi/main.c **** exit_arfcn(); 6545 .loc 1 859 12 is_stmt 0 view .LVU2121 6546 0710 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 859:apps/rssi/main.c **** exit_arfcn(); 6547 .loc 1 859 6 view .LVU2122 6548 0714 020053E3 cmp r3, #2 6549 .LBB826: 6550 .LBB827: 523:apps/rssi/main.c **** refresh_display(); 6551 .loc 1 523 7 view .LVU2123 6552 0718 2839D405 ldrbeq r3, [r4, #2344] @ zero_extendqisi2 6553 071c FA34C405 strbeq r3, [r4, #1274] 6554 .LBE827: 6555 .LBE826: 859:apps/rssi/main.c **** exit_arfcn(); 6556 .loc 1 859 6 view .LVU2124 6557 0720 A5FEFF0A beq .L536 861:apps/rssi/main.c **** exit_sync(); 6558 .loc 1 861 8 is_stmt 1 view .LVU2125 861:apps/rssi/main.c **** exit_sync(); 6559 .loc 1 861 11 is_stmt 0 view .LVU2126 6560 0724 030053E3 cmp r3, #3 6561 0728 78FFFF0A beq .L453 863:apps/rssi/main.c **** exit_rach(); 6562 .loc 1 863 8 is_stmt 1 view .LVU2127 863:apps/rssi/main.c **** exit_rach(); 6563 .loc 1 863 11 is_stmt 0 view .LVU2128 6564 072c 040053E3 cmp r3, #4 6565 0730 7FFFFF0A beq .L454 865:apps/rssi/main.c **** toggle_spectrum(); 6566 .loc 1 865 8 is_stmt 1 view .LVU2129 865:apps/rssi/main.c **** toggle_spectrum(); 6567 .loc 1 865 11 is_stmt 0 view .LVU2130 6568 0734 010053E3 cmp r3, #1 6569 0738 A0FEFF1A bne .L413 6570 .L455: 866:apps/rssi/main.c **** break; 6571 .loc 1 866 4 is_stmt 1 view .LVU2131 6572 073c FEFFFFEB bl toggle_spectrum 6573 .LVL432: 6574 0740 9EFEFFEA b .L413 6575 .L424: 869:apps/rssi/main.c **** toggle_spectrum(); 6576 .loc 1 869 3 view .LVU2132 869:apps/rssi/main.c **** toggle_spectrum(); 6577 .loc 1 869 6 is_stmt 0 view .LVU2133 6578 0744 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 6579 0748 010053E3 cmp r3, #1 6580 074c 9BFEFF8A bhi .L413 6581 0750 F9FFFFEA b .L455 6582 .LVL433: 6583 .L459: 869:apps/rssi/main.c **** toggle_spectrum(); 6584 .loc 1 869 6 view .LVU2134 6585 .LBE829: 6586 .LBE846: 6587 .LBB847: 6588 .LBB836: 6589 .LBB834: 922:apps/rssi/main.c **** a = PCS_MIN | ARFCN_PCS; 6590 .loc 1 922 4 is_stmt 1 view .LVU2135 922:apps/rssi/main.c **** a = PCS_MIN | ARFCN_PCS; 6591 .loc 1 922 7 is_stmt 0 view .LVU2136 6592 0754 003094E5 ldr r3, [r4] 6593 0758 000053E3 cmp r3, #0 6594 075c 0900000A beq .L462 922:apps/rssi/main.c **** a = PCS_MIN | ARFCN_PCS; 6595 .loc 1 922 21 view .LVU2137 6596 0760 B4339FE5 ldr r3, .L544+44 922:apps/rssi/main.c **** a = PCS_MIN | ARFCN_PCS; 6597 .loc 1 922 32 view .LVU2138 6598 0764 B030D3E1 ldrh r3, [r3] 6599 0768 023C43E2 sub r3, r3, #512 6600 076c AC239FE5 ldr r2, .L544+48 6601 0770 0338A0E1 lsl r3, r3, #16 6602 0774 2338A0E1 lsr r3, r3, #16 6603 0778 020053E1 cmp r3, r2 923:apps/rssi/main.c **** e = PCS_MAX | ARFCN_PCS; 6604 .loc 1 923 7 view .LVU2139 6605 077c 822CA093 movls r2, #33280 924:apps/rssi/main.c **** } else { 6606 .loc 1 924 7 view .LVU2140 6607 0780 B4339F95 ldrls r3, .L544+76 922:apps/rssi/main.c **** a = PCS_MIN | ARFCN_PCS; 6608 .loc 1 922 32 view .LVU2141 6609 0784 0200009A bls .L463 6610 .L462: 926:apps/rssi/main.c **** e = band->max; 6611 .loc 1 926 5 is_stmt 1 view .LVU2142 926:apps/rssi/main.c **** e = band->max; 6612 .loc 1 926 13 is_stmt 0 view .LVU2143 6613 0788 1C3994E5 ldr r3, [r4, #2332] 926:apps/rssi/main.c **** e = band->max; 6614 .loc 1 926 7 view .LVU2144 6615 078c B020D3E1 ldrh r2, [r3] 6616 .LVL434: 927:apps/rssi/main.c **** } 6617 .loc 1 927 5 is_stmt 1 view .LVU2145 927:apps/rssi/main.c **** } 6618 .loc 1 927 7 is_stmt 0 view .LVU2146 6619 0790 B430D3E1 ldrh r3, [r3, #4] 6620 .LVL435: 6621 .L463: 929:apps/rssi/main.c **** } 6622 .loc 1 929 4 is_stmt 1 view .LVU2147 6623 0794 0210A0E3 mov r1, #2 6624 0798 ABFEFFEA b .L461 6625 .LVL436: 6626 .L456: 929:apps/rssi/main.c **** } 6627 .loc 1 929 4 is_stmt 0 view .LVU2148 6628 .LBE834: 943:apps/rssi/main.c **** pm_mode = PM_IDLE; 6629 .loc 1 943 2 is_stmt 1 view .LVU2149 943:apps/rssi/main.c **** pm_mode = PM_IDLE; 6630 .loc 1 943 5 is_stmt 0 view .LVU2150 6631 079c 040053E3 cmp r3, #4 6632 07a0 2E00001A bne .L465 944:apps/rssi/main.c **** if (pm_count == pm_max) { 6633 .loc 1 944 3 is_stmt 1 view .LVU2151 944:apps/rssi/main.c **** if (pm_count == pm_max) { 6634 .loc 1 944 11 is_stmt 0 view .LVU2152 6635 07a4 0030A0E3 mov r3, #0 945:apps/rssi/main.c **** int i = 0; 6636 .loc 1 945 16 view .LVU2153 6637 07a8 241094E5 ldr r1, [r4, #36] 945:apps/rssi/main.c **** int i = 0; 6638 .loc 1 945 6 view .LVU2154 6639 07ac 702096E5 ldr r2, [r6, #112] 6640 07b0 020051E1 cmp r1, r2 944:apps/rssi/main.c **** if (pm_count == pm_max) { 6641 .loc 1 944 11 view .LVU2155 6642 07b4 2030C4E5 strb r3, [r4, #32] 945:apps/rssi/main.c **** int i = 0; 6643 .loc 1 945 3 is_stmt 1 view .LVU2156 945:apps/rssi/main.c **** int i = 0; 6644 .loc 1 945 6 is_stmt 0 view .LVU2157 6645 07b8 B8FEFF1A bne .L458 6646 .LBB835: 946:apps/rssi/main.c **** int sum = 0; 6647 .loc 1 946 4 is_stmt 1 view .LVU2158 6648 .LVL437: 947:apps/rssi/main.c **** 6649 .loc 1 947 4 view .LVU2159 949:apps/rssi/main.c **** /* find max */ 6650 .loc 1 949 4 view .LVU2160 949:apps/rssi/main.c **** /* find max */ 6651 .loc 1 949 8 is_stmt 0 view .LVU2161 6652 07bc 040094E5 ldr r0, [r4, #4] 949:apps/rssi/main.c **** /* find max */ 6653 .loc 1 949 7 view .LVU2162 6654 07c0 030050E1 cmp r0, r3 957:apps/rssi/main.c **** sum += pm_meas[i]; 6655 .loc 1 957 12 view .LVU2163 6656 07c4 0030A001 moveq r3, r0 951:apps/rssi/main.c **** if (pm_meas[i] > sum) 6657 .loc 1 951 12 view .LVU2164 6658 07c8 0320A011 movne r2, r3 6659 07cc 6C239F05 ldreq r2, .L544+80 6660 07d0 68039F15 ldrne r0, .L544+80 949:apps/rssi/main.c **** /* find max */ 6661 .loc 1 949 7 view .LVU2165 6662 07d4 0D00001A bne .L469 6663 .LVL438: 6664 .L468: 957:apps/rssi/main.c **** sum += pm_meas[i]; 6665 .loc 1 957 19 is_stmt 1 view .LVU2166 6666 07d8 030051E1 cmp r1, r3 6667 07dc 1B0000CA bgt .L473 959:apps/rssi/main.c **** } 6668 .loc 1 959 5 view .LVU2167 959:apps/rssi/main.c **** } 6669 .loc 1 959 17 is_stmt 0 view .LVU2168 6670 07e0 FEFFFFEB bl __aeabi_idiv 6671 .LVL439: 961:apps/rssi/main.c **** max_power = power; 6672 .loc 1 961 7 view .LVU2169 6673 07e4 2039D4E5 ldrb r3, [r4, #2336] @ zero_extendqisi2 959:apps/rssi/main.c **** } 6674 .loc 1 959 11 view .LVU2170 6675 07e8 FF0000E2 and r0, r0, #255 961:apps/rssi/main.c **** max_power = power; 6676 .loc 1 961 7 view .LVU2171 6677 07ec 000053E1 cmp r3, r0 959:apps/rssi/main.c **** } 6678 .loc 1 959 11 view .LVU2172 6679 07f0 5904C4E5 strb r0, [r4, #1113] 961:apps/rssi/main.c **** max_power = power; 6680 .loc 1 961 4 is_stmt 1 view .LVU2173 962:apps/rssi/main.c **** pm_count = 0; 6681 .loc 1 962 5 view .LVU2174 964:apps/rssi/main.c **** if (!tone_on) 6682 .loc 1 964 34 is_stmt 0 view .LVU2175 6683 07f4 0230A0E3 mov r3, #2 962:apps/rssi/main.c **** pm_count = 0; 6684 .loc 1 962 15 view .LVU2176 6685 07f8 2009C435 strbcc r0, [r4, #2336] 963:apps/rssi/main.c **** pm_max = (uplink) ? NUM_PM_UL : NUM_PM_DL; 6686 .loc 1 963 4 is_stmt 1 view .LVU2177 964:apps/rssi/main.c **** if (!tone_on) 6687 .loc 1 964 4 view .LVU2178 6688 07fc 0B0000EA b .L472 6689 .LVL440: 6690 .L470: 952:apps/rssi/main.c **** sum = pm_meas[i]; 6691 .loc 1 952 6 view .LVU2179 952:apps/rssi/main.c **** sum = pm_meas[i]; 6692 .loc 1 952 17 is_stmt 0 view .LVU2180 6693 0800 04C090E4 ldr ip, [r0], #4 6694 0804 0C0053E1 cmp r3, ip 6695 0808 0C30A0B1 movlt r3, ip 6696 .LVL441: 951:apps/rssi/main.c **** if (pm_meas[i] > sum) 6697 .loc 1 951 32 is_stmt 1 view .LVU2181 6698 080c 012082E2 add r2, r2, #1 6699 .LVL442: 6700 .L469: 951:apps/rssi/main.c **** if (pm_meas[i] > sum) 6701 .loc 1 951 19 view .LVU2182 6702 0810 020051E1 cmp r1, r2 6703 0814 F9FFFFCA bgt .L470 955:apps/rssi/main.c **** } else { 6704 .loc 1 955 5 view .LVU2183 961:apps/rssi/main.c **** max_power = power; 6705 .loc 1 961 7 is_stmt 0 view .LVU2184 6706 0818 2029D4E5 ldrb r2, [r4, #2336] @ zero_extendqisi2 6707 .LVL443: 955:apps/rssi/main.c **** } else { 6708 .loc 1 955 11 view .LVU2185 6709 081c FF3003E2 and r3, r3, #255 6710 .LVL444: 961:apps/rssi/main.c **** max_power = power; 6711 .loc 1 961 7 view .LVU2186 6712 0820 030052E1 cmp r2, r3 955:apps/rssi/main.c **** } else { 6713 .loc 1 955 11 view .LVU2187 6714 0824 5934C4E5 strb r3, [r4, #1113] 961:apps/rssi/main.c **** max_power = power; 6715 .loc 1 961 4 is_stmt 1 view .LVU2188 962:apps/rssi/main.c **** pm_count = 0; 6716 .loc 1 962 15 is_stmt 0 view .LVU2189 6717 0828 2039C435 strbcc r3, [r4, #2336] 964:apps/rssi/main.c **** if (!tone_on) 6718 .loc 1 964 34 view .LVU2190 6719 082c 0A30A0E3 mov r3, #10 6720 .LVL445: 6721 .L472: 963:apps/rssi/main.c **** pm_max = (uplink) ? NUM_PM_UL : NUM_PM_DL; 6722 .loc 1 963 13 view .LVU2191 6723 0830 0020A0E3 mov r2, #0 964:apps/rssi/main.c **** if (!tone_on) 6724 .loc 1 964 11 view .LVU2192 6725 0834 703086E5 str r3, [r6, #112] 965:apps/rssi/main.c **** refresh_display(); 6726 .loc 1 965 4 is_stmt 1 view .LVU2193 965:apps/rssi/main.c **** refresh_display(); 6727 .loc 1 965 7 is_stmt 0 view .LVU2194 6728 0838 2C3994E5 ldr r3, [r4, #2348] 6729 083c 020053E1 cmp r3, r2 963:apps/rssi/main.c **** pm_max = (uplink) ? NUM_PM_UL : NUM_PM_DL; 6730 .loc 1 963 13 view .LVU2195 6731 0840 242084E5 str r2, [r4, #36] 965:apps/rssi/main.c **** refresh_display(); 6732 .loc 1 965 7 view .LVU2196 6733 0844 95FEFF1A bne .L458 966:apps/rssi/main.c **** } 6734 .loc 1 966 5 is_stmt 1 view .LVU2197 6735 0848 FEFFFFEB bl refresh_display 6736 .LVL446: 6737 084c 93FEFFEA b .L458 6738 .LVL447: 6739 .L473: 958:apps/rssi/main.c **** power = sum / pm_count; 6740 .loc 1 958 6 view .LVU2198 958:apps/rssi/main.c **** power = sum / pm_count; 6741 .loc 1 958 20 is_stmt 0 view .LVU2199 6742 0850 04C092E4 ldr ip, [r2], #4 957:apps/rssi/main.c **** sum += pm_meas[i]; 6743 .loc 1 957 32 view .LVU2200 6744 0854 013083E2 add r3, r3, #1 6745 .LVL448: 958:apps/rssi/main.c **** power = sum / pm_count; 6746 .loc 1 958 10 view .LVU2201 6747 0858 0C0080E0 add r0, r0, ip 6748 .LVL449: 957:apps/rssi/main.c **** sum += pm_meas[i]; 6749 .loc 1 957 32 is_stmt 1 view .LVU2202 957:apps/rssi/main.c **** sum += pm_meas[i]; 6750 .loc 1 957 32 is_stmt 0 view .LVU2203 6751 085c DDFFFFEA b .L468 6752 .LVL450: 6753 .L465: 957:apps/rssi/main.c **** sum += pm_meas[i]; 6754 .loc 1 957 32 view .LVU2204 6755 .LBE835: 971:apps/rssi/main.c **** pm_mode = PM_IDLE; 6756 .loc 1 971 2 is_stmt 1 view .LVU2205 971:apps/rssi/main.c **** pm_mode = PM_IDLE; 6757 .loc 1 971 5 is_stmt 0 view .LVU2206 6758 0860 030053E3 cmp r3, #3 6759 0864 8DFEFF1A bne .L458 972:apps/rssi/main.c **** refresh_display(); 6760 .loc 1 972 3 is_stmt 1 view .LVU2207 972:apps/rssi/main.c **** refresh_display(); 6761 .loc 1 972 11 is_stmt 0 view .LVU2208 6762 0868 0030A0E3 mov r3, #0 6763 086c 2030C4E5 strb r3, [r4, #32] 973:apps/rssi/main.c **** buzzer_volume(tone); 6764 .loc 1 973 3 is_stmt 1 view .LVU2209 6765 0870 FEFFFFEB bl refresh_display 6766 .LVL451: 974:apps/rssi/main.c **** buzzer_note(NOTE(NOTE_C, OCTAVE_5)); 6767 .loc 1 974 3 view .LVU2210 6768 0874 2409D4E5 ldrb r0, [r4, #2340] @ zero_extendqisi2 6769 0878 FEFFFFEB bl buzzer_volume 6770 .LVL452: 975:apps/rssi/main.c **** tone_time = jiffies; 6771 .loc 1 975 3 view .LVU2211 6772 087c 1000A0E3 mov r0, #16 6773 0880 FEFFFFEB bl buzzer_note 6774 .LVL453: 976:apps/rssi/main.c **** tone_on = 1; 6775 .loc 1 976 3 view .LVU2212 976:apps/rssi/main.c **** tone_on = 1; 6776 .loc 1 976 13 is_stmt 0 view .LVU2213 6777 0884 003097E5 ldr r3, [r7] 6778 0888 343984E5 str r3, [r4, #2356] 977:apps/rssi/main.c **** return; 6779 .loc 1 977 3 is_stmt 1 view .LVU2214 977:apps/rssi/main.c **** return; 6780 .loc 1 977 11 is_stmt 0 view .LVU2215 6781 088c 0130A0E3 mov r3, #1 6782 0890 2C3984E5 str r3, [r4, #2348] 978:apps/rssi/main.c **** } 6783 .loc 1 978 3 is_stmt 1 view .LVU2216 6784 0894 81FEFFEA b .L458 6785 .L478: 6786 .LBE836: 6787 .LBE847: 6788 .LBB848: 6789 .LBB841: 1101:apps/rssi/main.c **** return; 6790 .loc 1 1101 2 view .LVU2217 1101:apps/rssi/main.c **** return; 6791 .loc 1 1101 5 is_stmt 0 view .LVU2218 6792 0898 2C3994E5 ldr r3, [r4, #2348] 6793 089c 000053E3 cmp r3, #0 6794 08a0 0700001A bne .L500 1105:apps/rssi/main.c **** return; 6795 .loc 1 1105 2 is_stmt 1 view .LVU2219 1105:apps/rssi/main.c **** return; 6796 .loc 1 1105 6 is_stmt 0 view .LVU2220 6797 08a4 98029FE5 ldr r0, .L544+84 1105:apps/rssi/main.c **** return; 6798 .loc 1 1105 5 view .LVU2221 6799 08a8 B020D0E1 ldrh r2, [r0] 6800 08ac 000052E3 cmp r2, #0 6801 08b0 1D00001A bne .L481 1105:apps/rssi/main.c **** return; 6802 .loc 1 1105 26 view .LVU2222 6803 08b4 BE3950E1 ldrh r3, [r0, #-158] 1105:apps/rssi/main.c **** return; 6804 .loc 1 1105 14 view .LVU2223 6805 08b8 010C13E3 tst r3, #256 6806 08bc A88040E2 sub r8, r0, #168 6807 08c0 1F00001A bne .L530 6808 .L500: 6809 .LBE841: 6810 .LBE848: 1550:apps/rssi/main.c **** handle_tone(); 6811 .loc 1 1550 3 is_stmt 1 view .LVU2224 6812 .LBB849: 6813 .LBI849: 879:apps/rssi/main.c **** { 6814 .loc 1 879 13 view .LVU2225 6815 .LBB850: 881:apps/rssi/main.c **** 6816 .loc 1 881 2 view .LVU2226 881:apps/rssi/main.c **** 6817 .loc 1 881 16 is_stmt 0 view .LVU2227 6818 08c4 343994E5 ldr r3, [r4, #2356] 881:apps/rssi/main.c **** 6819 .loc 1 881 34 view .LVU2228 6820 08c8 002097E5 ldr r2, [r7] 881:apps/rssi/main.c **** 6821 .loc 1 881 16 view .LVU2229 6822 08cc 032042E0 sub r2, r2, r3 6823 .LVL454: 883:apps/rssi/main.c **** if (!tone || mode != MODE_MAIN) 6824 .loc 1 883 2 is_stmt 1 view .LVU2230 883:apps/rssi/main.c **** if (!tone || mode != MODE_MAIN) 6825 .loc 1 883 5 is_stmt 0 view .LVU2231 6826 08d0 2C3994E5 ldr r3, [r4, #2348] 6827 08d4 000053E3 cmp r3, #0 6828 08d8 7C00001A bne .L498 884:apps/rssi/main.c **** return; 6829 .loc 1 884 3 is_stmt 1 view .LVU2232 884:apps/rssi/main.c **** return; 6830 .loc 1 884 7 is_stmt 0 view .LVU2233 6831 08dc 240994E5 ldr r0, [r4, #2340] 884:apps/rssi/main.c **** return; 6832 .loc 1 884 6 view .LVU2234 6833 08e0 000050E3 cmp r0, #0 6834 08e4 F6FDFF0A beq .L408 884:apps/rssi/main.c **** return; 6835 .loc 1 884 13 view .LVU2235 6836 08e8 FA34D4E5 ldrb r3, [r4, #1274] @ zero_extendqisi2 6837 08ec 000053E3 cmp r3, #0 6838 08f0 F3FDFF1A bne .L408 887:apps/rssi/main.c **** return; 6839 .loc 1 887 3 is_stmt 1 view .LVU2236 887:apps/rssi/main.c **** return; 6840 .loc 1 887 17 is_stmt 0 view .LVU2237 6841 08f4 5934D4E5 ldrb r3, [r4, #1113] @ zero_extendqisi2 6842 08f8 3F3063E2 rsb r3, r3, #63 6843 08fc FF3003E2 and r3, r3, #255 887:apps/rssi/main.c **** return; 6844 .loc 1 887 6 view .LVU2238 6845 0900 030052E1 cmp r2, r3 6846 0904 EEFDFF3A bcc .L408 889:apps/rssi/main.c **** buzzer_note(NOTE(NOTE_C, OCTAVE_5)); 6847 .loc 1 889 3 is_stmt 1 view .LVU2239 6848 0908 FF0000E2 and r0, r0, #255 6849 090c FEFFFFEB bl buzzer_volume 6850 .LVL455: 890:apps/rssi/main.c **** tone_time = jiffies; 6851 .loc 1 890 3 view .LVU2240 6852 0910 1000A0E3 mov r0, #16 6853 0914 FEFFFFEB bl buzzer_note 6854 .LVL456: 891:apps/rssi/main.c **** tone_on = 1; 6855 .loc 1 891 3 view .LVU2241 891:apps/rssi/main.c **** tone_on = 1; 6856 .loc 1 891 13 is_stmt 0 view .LVU2242 6857 0918 003097E5 ldr r3, [r7] 6858 091c 343984E5 str r3, [r4, #2356] 892:apps/rssi/main.c **** return; 6859 .loc 1 892 3 is_stmt 1 view .LVU2243 892:apps/rssi/main.c **** return; 6860 .loc 1 892 11 is_stmt 0 view .LVU2244 6861 0920 0130A0E3 mov r3, #1 6862 0924 2C3984E5 str r3, [r4, #2348] 893:apps/rssi/main.c **** } 6863 .loc 1 893 3 is_stmt 1 view .LVU2245 6864 0928 E5FDFFEA b .L408 6865 .LVL457: 6866 .L481: 893:apps/rssi/main.c **** } 6867 .loc 1 893 3 is_stmt 0 view .LVU2246 6868 .LBE850: 6869 .LBE849: 6870 .LBB852: 6871 .LBB842: 1109:apps/rssi/main.c **** ul_new = 0; 6872 .loc 1 1109 2 is_stmt 1 view .LVU2247 1110:apps/rssi/main.c **** if (cursor < 0) 6873 .loc 1 1110 3 view .LVU2248 1110:apps/rssi/main.c **** if (cursor < 0) 6874 .loc 1 1110 10 is_stmt 0 view .LVU2249 6875 092c B030C0E1 strh r3, [r0] @ movhi 1111:apps/rssi/main.c **** refresh_display(); 6876 .loc 1 1111 3 is_stmt 1 view .LVU2250 1111:apps/rssi/main.c **** refresh_display(); 6877 .loc 1 1111 6 is_stmt 0 view .LVU2251 6878 0930 FC3494E5 ldr r3, [r4, #1276] 6879 0934 000053E3 cmp r3, #0 6880 0938 E1FFFFAA bge .L500 1112:apps/rssi/main.c **** return; 6881 .loc 1 1112 4 is_stmt 1 view .LVU2252 6882 093c FEFFFFEB bl refresh_display 6883 .LVL458: 6884 0940 67FEFFEA b .L477 6885 .L530: 1109:apps/rssi/main.c **** ul_new = 0; 6886 .loc 1 1109 2 view .LVU2253 1117:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_1: 6887 .loc 1 1117 2 view .LVU2254 6888 0944 FF3003E2 and r3, r3, #255 6889 0948 1C0053E3 cmp r3, #28 6890 094c 0500008A bhi .L483 6891 0950 180053E3 cmp r3, #24 6892 0954 1400008A bhi .L484 6893 0958 020053E3 cmp r3, #2 6894 095c 2800000A beq .L485 6895 0960 030053E3 cmp r3, #3 6896 0964 2D00000A beq .L486 6897 .L483: 1168:apps/rssi/main.c **** refresh_display(); 6898 .loc 1 1168 2 view .LVU2255 1168:apps/rssi/main.c **** refresh_display(); 6899 .loc 1 1168 5 is_stmt 0 view .LVU2256 6900 0968 FC3494E5 ldr r3, [r4, #1276] 6901 096c 000053E3 cmp r3, #0 1169:apps/rssi/main.c **** 6902 .loc 1 1169 3 is_stmt 1 view .LVU2257 6903 0970 FEFFFFAB blge refresh_display 6904 .LVL459: 6905 .L493: 1172:apps/rssi/main.c **** tone_time = jiffies; 6906 .loc 1 1172 2 view .LVU2258 6907 0974 2409D4E5 ldrb r0, [r4, #2340] @ zero_extendqisi2 6908 0978 FEFFFFEB bl buzzer_volume 6909 .LVL460: 1173:apps/rssi/main.c **** tone_on = 1; 6910 .loc 1 1173 2 view .LVU2259 1173:apps/rssi/main.c **** tone_on = 1; 6911 .loc 1 1173 12 is_stmt 0 view .LVU2260 6912 097c 003097E5 ldr r3, [r7] 6913 0980 343984E5 str r3, [r4, #2356] 1174:apps/rssi/main.c **** if ((si_new & 0xff) == 0xff) 6914 .loc 1 1174 2 is_stmt 1 view .LVU2261 1174:apps/rssi/main.c **** if ((si_new & 0xff) == 0xff) 6915 .loc 1 1174 10 is_stmt 0 view .LVU2262 6916 0984 0130A0E3 mov r3, #1 6917 0988 2C3984E5 str r3, [r4, #2348] 1175:apps/rssi/main.c **** buzzer_note(NOTE(NOTE_C, OCTAVE_2)); 6918 .loc 1 1175 2 is_stmt 1 view .LVU2263 1175:apps/rssi/main.c **** buzzer_note(NOTE(NOTE_C, OCTAVE_2)); 6919 .loc 1 1175 5 is_stmt 0 view .LVU2264 6920 098c 0A30D8E5 ldrb r3, [r8, #10] @ zero_extendqisi2 6921 0990 FF0053E3 cmp r3, #255 1176:apps/rssi/main.c **** else 6922 .loc 1 1176 3 is_stmt 1 view .LVU2265 6923 0994 1300A003 moveq r0, #19 1178:apps/rssi/main.c **** si_new = 0; 6924 .loc 1 1178 3 view .LVU2266 6925 0998 1000A013 movne r0, #16 6926 099c FEFFFFEB bl buzzer_note 6927 .LVL461: 1179:apps/rssi/main.c **** } 6928 .loc 1 1179 2 view .LVU2267 1179:apps/rssi/main.c **** } 6929 .loc 1 1179 9 is_stmt 0 view .LVU2268 6930 09a0 0030A0E3 mov r3, #0 6931 09a4 BA30C8E1 strh r3, [r8, #10] @ movhi 6932 09a8 4DFEFFEA b .L477 6933 .L484: 1117:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_1: 6934 .loc 1 1117 2 view .LVU2269 6935 09ac 1A3043E2 sub r3, r3, #26 6936 09b0 085080E2 add r5, r0, #8 6937 09b4 020053E3 cmp r3, #2 6938 09b8 03F19F97 ldrls pc, [pc, r3, asl #2] 6939 09bc 020000EA b .L487 6940 .L489: 6941 09c0 EC090000 .word .L491 6942 09c4 340A0000 .word .L490 6943 09c8 B80A0000 .word .L488 6944 .L487: 1119:apps/rssi/main.c **** gsm48_decode_freq_list(freq, si1->cell_channel_description, 6945 .loc 1 1119 3 is_stmt 1 view .LVU2270 6946 .LVL462: 1120:apps/rssi/main.c **** sizeof(si1->cell_channel_description), 0xce, 6947 .loc 1 1120 3 view .LVU2271 6948 09cc 0130A0E3 mov r3, #1 6949 09d0 1020A0E3 mov r2, #16 6950 09d4 00308DE5 str r3, [sp] 6951 09d8 CE30A0E3 mov r3, #206 6952 09dc 0F1088E2 add r1, r8, #15 6953 .LVL463: 6954 .L540: 1126:apps/rssi/main.c **** sizeof(si2->bcch_frequency_list), 0xce, 6955 .loc 1 1126 3 is_stmt 0 view .LVU2272 6956 09e0 0E0085E2 add r0, r5, #14 6957 .L541: 6958 09e4 FEFFFFEB bl gsm48_decode_freq_list 6959 .LVL464: 1129:apps/rssi/main.c **** case GSM48_MT_RR_SYSINFO_2bis: 6960 .loc 1 1129 3 is_stmt 1 view .LVU2273 6961 09e8 DEFFFFEA b .L483 6962 .L491: 1125:apps/rssi/main.c **** gsm48_decode_freq_list(freq, si2->bcch_frequency_list, 6963 .loc 1 1125 3 view .LVU2274 6964 .LVL465: 1126:apps/rssi/main.c **** sizeof(si2->bcch_frequency_list), 0xce, 6965 .loc 1 1126 3 view .LVU2275 6966 09ec 0430A0E3 mov r3, #4 6967 09f0 1020A0E3 mov r2, #16 6968 09f4 00308DE5 str r3, [sp] 6969 09f8 48119FE5 ldr r1, .L544+88 6970 09fc CE30A0E3 mov r3, #206 6971 0a00 F6FFFFEA b .L540 6972 .LVL466: 6973 .L485: 1131:apps/rssi/main.c **** gsm48_decode_freq_list(freq, si2bis->bcch_frequency_list, 6974 .loc 1 1131 3 view .LVU2276 1132:apps/rssi/main.c **** sizeof(si2bis->bcch_frequency_list), 0xce, 6975 .loc 1 1132 3 view .LVU2277 6976 0a04 0830A0E3 mov r3, #8 6977 0a08 1020A0E3 mov r2, #16 6978 0a0c 00308DE5 str r3, [sp] 6979 0a10 CE30A0E3 mov r3, #206 6980 0a14 6B1040E2 sub r1, r0, #107 6981 .LVL467: 6982 .L543: 1138:apps/rssi/main.c **** sizeof(si2ter->ext_bcch_frequency_list), 0x8e, 6983 .loc 1 1138 3 is_stmt 0 view .LVU2278 6984 0a18 160080E2 add r0, r0, #22 6985 0a1c F0FFFFEA b .L541 6986 .L486: 1137:apps/rssi/main.c **** gsm48_decode_freq_list(freq, si2ter->ext_bcch_frequency_list, 6987 .loc 1 1137 3 is_stmt 1 view .LVU2279 6988 .LVL468: 1138:apps/rssi/main.c **** sizeof(si2ter->ext_bcch_frequency_list), 0x8e, 6989 .loc 1 1138 3 view .LVU2280 6990 0a20 1020A0E3 mov r2, #16 6991 0a24 8E30A0E3 mov r3, #142 6992 0a28 00208DE5 str r2, [sp] 6993 0a2c 541040E2 sub r1, r0, #84 6994 0a30 F8FFFFEA b .L543 6995 .LVL469: 6996 .L490: 1143:apps/rssi/main.c **** gsm48_decode_lai(&si3->lai, &mcc, &mnc, &lac); 6997 .loc 1 1143 3 view .LVU2281 1144:apps/rssi/main.c **** cell_id = ntohs(si3->cell_identity); 6998 .loc 1 1144 3 view .LVU2282 6999 0a34 10919FE5 ldr r9, .L544+92 7000 0a38 0A3085E2 add r3, r5, #10 7001 0a3c 082085E2 add r2, r5, #8 7002 0a40 061085E2 add r1, r5, #6 7003 0a44 050089E2 add r0, r9, #5 7004 0a48 FEFFFFEB bl gsm48_decode_lai 7005 .LVL470: 1145:apps/rssi/main.c **** if (ccch_conf < 0) { 7006 .loc 1 1145 3 view .LVU2283 1145:apps/rssi/main.c **** if (ccch_conf < 0) { 7007 .loc 1 1145 11 is_stmt 0 view .LVU2284 7008 0a4c 0420D9E5 ldrb r2, [r9, #4] @ zero_extendqisi2 7009 0a50 0330D9E5 ldrb r3, [r9, #3] @ zero_extendqisi2 7010 0a54 023483E1 orr r3, r3, r2, lsl #8 7011 0a58 2324A0E1 lsr r2, r3, #8 7012 0a5c 033482E1 orr r3, r2, r3, lsl #8 7013 0a60 BC30C5E1 strh r3, [r5, #12] @ movhi 1146:apps/rssi/main.c **** struct msgb *msg = 7014 .loc 1 1146 3 is_stmt 1 view .LVU2285 1146:apps/rssi/main.c **** struct msgb *msg = 7015 .loc 1 1146 6 is_stmt 0 view .LVU2286 7016 0a64 303994E5 ldr r3, [r4, #2352] 7017 0a68 000053E3 cmp r3, #0 7018 0a6c BDFFFFAA bge .L483 7019 .LBB840: 1147:apps/rssi/main.c **** l1ctl_msgb_alloc(L1CTL_CCCH_MODE_REQ); 7020 .loc 1 1147 4 is_stmt 1 view .LVU2287 1148:apps/rssi/main.c **** struct l1ctl_ccch_mode_req *req = 7021 .loc 1 1148 5 is_stmt 0 view .LVU2288 7022 0a70 1000A0E3 mov r0, #16 7023 0a74 FEFFFFEB bl l1ctl_msgb_alloc 7024 .LVL471: 1151:apps/rssi/main.c **** 7025 .loc 1 1151 6 view .LVU2289 7026 0a78 0410A0E3 mov r1, #4 1148:apps/rssi/main.c **** struct l1ctl_ccch_mode_req *req = 7027 .loc 1 1148 5 view .LVU2290 7028 0a7c 0050A0E1 mov r5, r0 7029 .LVL472: 1149:apps/rssi/main.c **** (struct l1ctl_ccch_mode_req *) 7030 .loc 1 1149 4 is_stmt 1 view .LVU2291 1151:apps/rssi/main.c **** 7031 .loc 1 1151 6 is_stmt 0 view .LVU2292 7032 0a80 FEFFFFEB bl msgb_put 7033 .LVL473: 1153:apps/rssi/main.c **** req->ccch_mode = (ccch_conf == 1) 7034 .loc 1 1153 4 is_stmt 1 view .LVU2293 1153:apps/rssi/main.c **** req->ccch_mode = (ccch_conf == 1) 7035 .loc 1 1153 41 is_stmt 0 view .LVU2294 7036 0a84 C214D4E5 ldrb r1, [r4, #1218] @ zero_extendqisi2 7037 0a88 071001E2 and r1, r1, #7 1154:apps/rssi/main.c **** ? CCCH_MODE_COMBINED 7038 .loc 1 1154 19 view .LVU2295 7039 0a8c 010051E3 cmp r1, #1 7040 0a90 0230A003 moveq r3, #2 7041 0a94 0130A013 movne r3, #1 1153:apps/rssi/main.c **** req->ccch_mode = (ccch_conf == 1) 7042 .loc 1 1153 14 view .LVU2296 7043 0a98 301984E5 str r1, [r4, #2352] 1154:apps/rssi/main.c **** ? CCCH_MODE_COMBINED 7044 .loc 1 1154 4 is_stmt 1 view .LVU2297 1154:apps/rssi/main.c **** ? CCCH_MODE_COMBINED 7045 .loc 1 1154 19 is_stmt 0 view .LVU2298 7046 0a9c 0030C0E5 strb r3, [r0] 1157:apps/rssi/main.c **** 7047 .loc 1 1157 4 is_stmt 1 view .LVU2299 7048 0aa0 A8009FE5 ldr r0, .L544+96 7049 .LVL474: 1157:apps/rssi/main.c **** 7050 .loc 1 1157 4 is_stmt 0 view .LVU2300 7051 0aa4 FEFFFFEB bl printf 7052 .LVL475: 1159:apps/rssi/main.c **** } 7053 .loc 1 1159 4 is_stmt 1 view .LVU2301 7054 0aa8 0510A0E1 mov r1, r5 7055 0aac 0500A0E3 mov r0, #5 7056 0ab0 FEFFFFEB bl l1a_l23_rx 7057 .LVL476: 7058 0ab4 ABFFFFEA b .L483 7059 .LVL477: 7060 .L488: 1159:apps/rssi/main.c **** } 7061 .loc 1 1159 4 is_stmt 0 view .LVU2302 7062 .LBE840: 1163:apps/rssi/main.c **** gsm48_decode_lai(&si4->lai, &mcc, &mnc, &lac); 7063 .loc 1 1163 3 is_stmt 1 view .LVU2303 1164:apps/rssi/main.c **** break; 7064 .loc 1 1164 3 view .LVU2304 7065 0ab8 0A3085E2 add r3, r5, #10 7066 0abc 082085E2 add r2, r5, #8 7067 0ac0 061085E2 add r1, r5, #6 7068 0ac4 88009FE5 ldr r0, .L544+100 7069 0ac8 FEFFFFEB bl gsm48_decode_lai 7070 .LVL478: 1165:apps/rssi/main.c **** } 7071 .loc 1 1165 3 view .LVU2305 7072 0acc A5FFFFEA b .L483 7073 .LVL479: 7074 .L498: 1165:apps/rssi/main.c **** } 7075 .loc 1 1165 3 is_stmt 0 view .LVU2306 7076 .LBE842: 7077 .LBE852: 7078 .LBB853: 7079 .LBB851: 896:apps/rssi/main.c **** tone_on = 0; 7080 .loc 1 896 2 is_stmt 1 view .LVU2307 896:apps/rssi/main.c **** tone_on = 0; 7081 .loc 1 896 5 is_stmt 0 view .LVU2308 7082 0ad0 030052E3 cmp r2, #3 7083 0ad4 7AFDFF9A bls .L408 897:apps/rssi/main.c **** tone_time = jiffies; 7084 .loc 1 897 3 is_stmt 1 view .LVU2309 897:apps/rssi/main.c **** tone_time = jiffies; 7085 .loc 1 897 11 is_stmt 0 view .LVU2310 7086 0ad8 0000A0E3 mov r0, #0 898:apps/rssi/main.c **** buzzer_volume(0); 7087 .loc 1 898 13 view .LVU2311 7088 0adc 003097E5 ldr r3, [r7] 897:apps/rssi/main.c **** tone_time = jiffies; 7089 .loc 1 897 11 view .LVU2312 7090 0ae0 2C0984E5 str r0, [r4, #2348] 898:apps/rssi/main.c **** buzzer_volume(0); 7091 .loc 1 898 3 is_stmt 1 view .LVU2313 898:apps/rssi/main.c **** buzzer_volume(0); 7092 .loc 1 898 13 is_stmt 0 view .LVU2314 7093 0ae4 343984E5 str r3, [r4, #2356] 899:apps/rssi/main.c **** } 7094 .loc 1 899 3 is_stmt 1 view .LVU2315 7095 0ae8 FEFFFFEB bl buzzer_volume 7096 .LVL480: 899:apps/rssi/main.c **** } 7097 .loc 1 899 3 is_stmt 0 view .LVU2316 7098 0aec 74FDFFEA b .L408 7099 .L545: 7100 .align 2 7101 .L544: 7102 0af0 00000000 .word .LANCHOR1 7103 0af4 34020000 .word .LC57 7104 0af8 00000000 .word key_handler 7105 0afc 00000000 .word console_rx_cb 7106 0b00 00000000 .word l1a_l23_rx_cb 7107 0b04 00000000 .word l1a_l23_tx_cb 7108 0b08 00000000 .word l1a_l23_tx 7109 0b0c 54000000 .word .LANCHOR0+84 7110 0b10 F0040000 .word .LANCHOR0+1264 7111 0b14 00000000 .word .LANCHOR0 7112 0b18 00000000 .word jiffies 7113 0b1c 1A090000 .word .LANCHOR0+2330 7114 0b20 2A010000 .word 298 7115 0b24 04050000 .word .LANCHOR0+1284 7116 0b28 00000000 .word framebuffer 7117 0b2c 10090000 .word .LANCHOR0+2320 7118 0b30 FF030000 .word 1023 7119 0b34 E0040000 .word .LANCHOR0+1248 7120 0b38 77020000 .word .LC58 7121 0b3c 2A830000 .word 33578 7122 0b40 28000000 .word .LANCHOR0+40 7123 0b44 F8040000 .word .LANCHOR0+1272 7124 0b48 76040000 .word .LANCHOR0+1142 7125 0b4c B8040000 .word .LANCHOR0+1208 7126 0b50 7E020000 .word .LC59 7127 0b54 D2040000 .word .LANCHOR0+1234 7128 .LBE851: 7129 .LBE853: 7130 .cfi_endproc 7131 .LFE166: 7133 .global hr 7134 .section .rodata.str1.1 7135 .LC60: 7136 028c 3D3D3D3D .ascii "===================================================" 7136 3D3D3D3D 7136 3D3D3D3D 7136 3D3D3D3D 7136 3D3D3D3D 7137 02bf 3D3D3D3D .ascii "===================\012\000" 7137 3D3D3D3D 7137 3D3D3D3D 7137 3D3D3D3D 7137 3D3D3D0A 7138 .global assign 7139 .global ta 7140 .global rach_when 7141 .global rach_ra 7142 .global rach_ref 7143 .global rach 7144 .global freq 7145 .global nb_num 7146 .global ccch_conf 7147 .global cell_id 7148 .global lac 7149 .global mnc 7150 .global mcc 7151 .global ul_new 7152 .global si_new 7153 .global si_4 7154 .global si_3 7155 .global si_2ter 7156 .global si_2bis 7157 .global si_2 7158 .global si_1 7159 .global ul_max 7160 .global ul_levels 7161 .global bsic 7162 .global tone_on 7163 .global tone_time 7164 .global tone 7165 .global pm_scale 7166 .global pm_spectrum 7167 .global pm_max 7168 .global pm_count 7169 .global pm_meas 7170 .global pm_mode 7171 .global band 7172 .global sync_msg 7173 .LC61: 7174 02d4 00 .ascii "\000" 7175 .global sync_result 7176 .global cursor 7177 .global input 7178 .global max_power 7179 .global power 7180 .global max 7181 .global uplink 7182 .global pcs 7183 .global last_mode 7184 .global mode 7185 .global key_pressed_delay 7186 .global key_pressed_when 7187 .global key_pressed_code 7188 .global key_pressed 7189 .global key_code 7190 .data 7191 .align 2 7192 .set .LANCHOR1,. + 0 7195 key_code: 7196 0000 FF .byte -1 7197 0001 000000 .space 3 7200 sync_msg: 7201 0004 D4020000 .word .LC61 7204 pm_scale: 7205 0008 01000000 .word 1 7208 bands: 7209 000c 80000000 .word 128 7210 0010 FB000000 .word 251 7211 0014 7C000000 .word 124 7212 0018 00020000 .word 512 7213 001c 32200000 .word 8242 7214 0020 F4210000 .word 8692 7215 0024 BB030000 .word 955 7216 0028 7C000000 .word 124 7217 002c 75030000 .word 885 7218 0030 80000000 .word 128 7219 0034 3A220000 .word 8762 7220 0038 FC230000 .word 9212 7221 003c 00020000 .word 512 7222 0040 75030000 .word 885 7223 0044 FB000000 .word 251 7224 0048 BB030000 .word 955 7225 004c CE420000 .word 17102 7226 0050 84460000 .word 18052 7227 0054 00000000 .word 0 7228 0058 00000000 .word 0 7229 005c 00000000 .word 0 7230 0060 00000000 .word 0 7231 0064 00000000 .word 0 7232 0068 00000000 .word 0 7235 hr: 7236 006c 8C020000 .word .LC60 7239 pm_max: 7240 0070 02000000 .word 2 7241 .bss 7242 .align 2 7243 .set .LANCHOR0,. + 0 7246 pcs: 7247 0000 00000000 .space 4 7250 uplink: 7251 0004 00000000 .space 4 7254 rach: 7255 0008 00000000 .space 4 7258 rach_ra: 7259 000c 00 .space 1 7262 rach_ref: 7263 000d 000000 .space 3 7266 key_pressed: 7267 0010 00000000 .space 4 7270 key_pressed_when: 7271 0014 00000000 .space 4 7274 key_pressed_code: 7275 0018 00 .space 1 7276 0019 000000 .space 3 7279 key_pressed_delay: 7280 001c 00000000 .space 4 7283 pm_mode: 7284 0020 00 .space 1 7285 0021 000000 .space 3 7288 pm_count: 7289 0024 00000000 .space 4 7292 pm_meas: 7293 0028 00000000 .space 40 7293 00000000 7293 00000000 7293 00000000 7293 00000000 7296 max: 7297 0050 00000000 .space 4 7300 pm_spectrum: 7301 0054 00000000 .space 1024 7301 00000000 7301 00000000 7301 00000000 7301 00000000 7304 sync_result: 7305 0454 00000000 .space 4 7308 bsic: 7309 0458 00 .space 1 7312 power: 7313 0459 00 .space 1 7316 si_new: 7317 045a 0000 .space 2 7320 si_1: 7321 045c 00000000 .space 23 7321 00000000 7321 00000000 7321 00000000 7321 00000000 7324 si_2: 7325 0473 00000000 .space 23 7325 00000000 7325 00000000 7325 00000000 7325 00000000 7328 si_2bis: 7329 048a 00000000 .space 23 7329 00000000 7329 00000000 7329 00000000 7329 00000000 7332 si_2ter: 7333 04a1 00000000 .space 23 7333 00000000 7333 00000000 7333 00000000 7333 00000000 7336 si_3: 7337 04b8 00000000 .space 23 7337 00000000 7337 00000000 7337 00000000 7337 00000000 7340 si_4: 7341 04cf 00000000 .space 23 7341 00000000 7341 00000000 7341 00000000 7341 00000000 7344 assign: 7345 04e6 00 .space 1 7348 ta: 7349 04e7 00 .space 1 7352 ul_levels: 7353 04e8 00000000 .space 8 7353 00000000 7356 ul_max: 7357 04f0 00000000 .space 8 7357 00000000 7360 ul_new: 7361 04f8 0000 .space 2 7364 mode: 7365 04fa 00 .space 1 7366 04fb 00 .space 1 7369 cursor: 7370 04fc 00000000 .space 4 7373 rach_when: 7374 0500 00000000 .space 4 7377 ul_arfcn: 7378 0504 0000 .space 2 7381 mcc: 7382 0506 0000 .space 2 7385 mnc: 7386 0508 0000 .space 2 7389 lac: 7390 050a 0000 .space 2 7393 cell_id: 7394 050c 0000 .space 2 7397 freq: 7398 050e 00000000 .space 1024 7398 00000000 7398 00000000 7398 00000000 7398 00000000 7399 090e 0000 .space 2 7402 nb_num: 7403 0910 00000000 .space 4 7406 input: 7407 0914 00000000 .space 5 7407 00 7408 0919 00 .space 1 7411 arfcn: 7412 091a 0000 .space 2 7415 band: 7416 091c 00000000 .space 4 7419 max_power: 7420 0920 00 .space 1 7421 0921 000000 .space 3 7424 tone: 7425 0924 00000000 .space 4 7428 last_mode: 7429 0928 00 .space 1 7430 0929 000000 .space 3 7433 tone_on: 7434 092c 00000000 .space 4 7437 ccch_conf: 7438 0930 00000000 .space 4 7441 tone_time: 7442 0934 00000000 .space 4 7443 .text 7444 .Letext0: 7445 .file 6 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stdint.h" 7446 .file 7 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stddef.h" 7447 .file 8 "../../shared/libosmocore/include/osmocom/gsm/gsm_utils.h" 7448 .file 9 "include/keypad.h" 7449 .file 10 "../../shared/libosmocore/include/osmocom/core/linuxlist.h" 7450 .file 11 "include/comm/sercomm.h" 7451 .file 12 "include/fb/font.h" 7452 .file 13 "include/comm/timer.h" 7453 .file 14 "include/layer1/tdma_sched.h" 7454 .file 15 "include/layer1/mframe_sched.h" 7455 .file 16 "../../../include/l1ctl_proto.h" 7456 .file 17 "include/layer1/sync.h" 7457 .file 18 "include/layer1/l23_api.h" 7458 .file 19 "../../shared/libosmocore/include/osmocom/gsm/protocol/gsm_04_08.h" 7459 .file 20 "../../shared/libosmocore/include/osmocom/gsm/gsm48_ie.h" 7460 .file 21 "include/battery/battery.h" 7461 .file 22 "include/calypso/buzzer.h" 7462 .file 23 "../../shared/libosmocore/include/osmocom/core/panic.h" 7463 .file 24 "include/stdio.h" 7464 .file 25 "include/string.h" 7465 .file 26 "../../shared/libosmocore/include/osmocom/gsm/rsl.h" 7466 .file 27 "include/layer1/async.h" 7467 .file 28 "include/calypso/tpu.h" 7468 .file 29 "include/rf/readcal.h" 7469 .file 30 "include/calypso/clock.h" 7470 .file 31 "include/calypso/misc.h" 7471 .file 32 "include/board.h" 7472 .file 33 "" DEFINED SYMBOLS *ABS*:00000000 main.c /tmp/ccR2AazA.s:19 .text.fb_boxto:00000000 $a /tmp/ccR2AazA.s:23 .text.fb_boxto:00000000 fb_boxto /tmp/ccR2AazA.s:45 .text.fb_boxto:00000010 $d /tmp/ccR2AazA.s:57 .text.l1a_l23_rx_cb:00000000 $a /tmp/ccR2AazA.s:61 .text.l1a_l23_rx_cb:00000000 l1a_l23_rx_cb /tmp/ccR2AazA.s:139 .text.l1a_l23_rx_cb:00000050 $d /tmp/ccR2AazA.s:150 .text.msgb_put:00000000 $a /tmp/ccR2AazA.s:154 .text.msgb_put:00000000 msgb_put /tmp/ccR2AazA.s:245 .text.msgb_put:0000005c $d /tmp/ccR2AazA.s:250 .text.request_ul_levels:00000000 $a /tmp/ccR2AazA.s:254 .text.request_ul_levels:00000000 request_ul_levels /tmp/ccR2AazA.s:370 .text.request_ul_levels:000000a4 $d /tmp/ccR2AazA.s:376 .text.gsm48_match_ra:00000000 $a /tmp/ccR2AazA.s:380 .text.gsm48_match_ra:00000000 gsm48_match_ra /tmp/ccR2AazA.s:488 .text.gsm48_match_ra:0000008c $d /tmp/ccR2AazA.s:493 .text.key_handler:00000000 $a /tmp/ccR2AazA.s:497 .text.key_handler:00000000 key_handler /tmp/ccR2AazA.s:559 .text.key_handler:00000050 $d /tmp/ccR2AazA.s:571 .text.console_rx_cb:00000000 $a /tmp/ccR2AazA.s:575 .text.console_rx_cb:00000000 console_rx_cb /tmp/ccR2AazA.s:642 .text.console_rx_cb:0000003c $d /tmp/ccR2AazA.s:655 .text.l1a_l23_tx:00000000 $a /tmp/ccR2AazA.s:659 .text.l1a_l23_tx:00000000 l1a_l23_tx /tmp/ccR2AazA.s:707 .text.l1a_l23_tx:00000034 $d /tmp/ccR2AazA.s:719 .text.l1a_l23_tx:00000060 $a /tmp/ccR2AazA.s:974 .text.l1a_l23_tx:00000228 $d /tmp/ccR2AazA.s:989 .text.l1a_l23_tx:00000234 $a /tmp/ccR2AazA.s:1376 .text.l1a_l23_tx:00000430 $d /tmp/ccR2AazA.s:1392 .text.fb_putstr.isra.0:00000000 $a /tmp/ccR2AazA.s:1396 .text.fb_putstr.isra.0:00000000 fb_putstr.isra.0 /tmp/ccR2AazA.s:1417 .text.fb_putstr.isra.0:00000010 $d /tmp/ccR2AazA.s:1422 .text.print_display:00000000 $a /tmp/ccR2AazA.s:1426 .text.print_display:00000000 print_display /tmp/ccR2AazA.s:1497 .text.print_display:00000050 $d /tmp/ccR2AazA.s:1602 .text.refresh_display:00000000 $a /tmp/ccR2AazA.s:1606 .text.refresh_display:00000000 refresh_display /tmp/ccR2AazA.s:2049 .text.refresh_display:00000208 $d /tmp/ccR2AazA.s:2056 .text.refresh_display:0000021c $a /tmp/ccR2AazA.s:4466 .text.refresh_display:00000ee0 $d /tmp/ccR2AazA.s:4540 .text.toggle_up_down:00000000 $a /tmp/ccR2AazA.s:4544 .text.toggle_up_down:00000000 toggle_up_down /tmp/ccR2AazA.s:4614 .text.toggle_up_down:0000004c $d /tmp/ccR2AazA.s:4619 .text.exit_rach:00000000 $a /tmp/ccR2AazA.s:4623 .text.exit_rach:00000000 exit_rach /tmp/ccR2AazA.s:4664 .text.exit_rach:0000002c $d /tmp/ccR2AazA.s:4669 .text.toggle_spectrum:00000000 $a /tmp/ccR2AazA.s:4673 .text.toggle_spectrum:00000000 toggle_spectrum /tmp/ccR2AazA.s:4733 .text.toggle_spectrum:00000048 $d /tmp/ccR2AazA.s:4738 .text.inc_dec_arfcn.isra.0:00000000 $a /tmp/ccR2AazA.s:4742 .text.inc_dec_arfcn.isra.0:00000000 inc_dec_arfcn.isra.0 /tmp/ccR2AazA.s:4947 .text.inc_dec_arfcn.isra.0:00000154 $d /tmp/ccR2AazA.s:4955 .text.enter_arfcn:00000000 $a /tmp/ccR2AazA.s:4959 .text.enter_arfcn:00000000 enter_arfcn /tmp/ccR2AazA.s:5257 .text.enter_arfcn:00000160 $d /tmp/ccR2AazA.s:5264 .text.gsm48_decode_lai:00000000 $a /tmp/ccR2AazA.s:5269 .text.gsm48_decode_lai:00000000 gsm48_decode_lai /tmp/ccR2AazA.s:5354 .text.startup.main:00000000 $a /tmp/ccR2AazA.s:5359 .text.startup.main:00000000 main /tmp/ccR2AazA.s:5548 .text.startup.main:00000134 $d /tmp/ccR2AazA.s:5572 .text.startup.main:00000188 $a /tmp/ccR2AazA.s:6941 .text.startup.main:000009c0 $d /tmp/ccR2AazA.s:6948 .text.startup.main:000009cc $a /tmp/ccR2AazA.s:7102 .text.startup.main:00000af0 $d /tmp/ccR2AazA.s:7235 .data:0000006c hr /tmp/ccR2AazA.s:7344 .bss:000004e6 assign /tmp/ccR2AazA.s:7348 .bss:000004e7 ta /tmp/ccR2AazA.s:7373 .bss:00000500 rach_when /tmp/ccR2AazA.s:7258 .bss:0000000c rach_ra /tmp/ccR2AazA.s:7262 .bss:0000000d rach_ref /tmp/ccR2AazA.s:7254 .bss:00000008 rach /tmp/ccR2AazA.s:7397 .bss:0000050e freq /tmp/ccR2AazA.s:7402 .bss:00000910 nb_num /tmp/ccR2AazA.s:7437 .bss:00000930 ccch_conf /tmp/ccR2AazA.s:7393 .bss:0000050c cell_id /tmp/ccR2AazA.s:7389 .bss:0000050a lac /tmp/ccR2AazA.s:7385 .bss:00000508 mnc /tmp/ccR2AazA.s:7381 .bss:00000506 mcc /tmp/ccR2AazA.s:7360 .bss:000004f8 ul_new /tmp/ccR2AazA.s:7316 .bss:0000045a si_new /tmp/ccR2AazA.s:7340 .bss:000004cf si_4 /tmp/ccR2AazA.s:7336 .bss:000004b8 si_3 /tmp/ccR2AazA.s:7332 .bss:000004a1 si_2ter /tmp/ccR2AazA.s:7328 .bss:0000048a si_2bis /tmp/ccR2AazA.s:7324 .bss:00000473 si_2 /tmp/ccR2AazA.s:7320 .bss:0000045c si_1 /tmp/ccR2AazA.s:7356 .bss:000004f0 ul_max /tmp/ccR2AazA.s:7352 .bss:000004e8 ul_levels /tmp/ccR2AazA.s:7308 .bss:00000458 bsic /tmp/ccR2AazA.s:7433 .bss:0000092c tone_on /tmp/ccR2AazA.s:7441 .bss:00000934 tone_time /tmp/ccR2AazA.s:7424 .bss:00000924 tone /tmp/ccR2AazA.s:7204 .data:00000008 pm_scale /tmp/ccR2AazA.s:7300 .bss:00000054 pm_spectrum /tmp/ccR2AazA.s:7239 .data:00000070 pm_max /tmp/ccR2AazA.s:7288 .bss:00000024 pm_count /tmp/ccR2AazA.s:7292 .bss:00000028 pm_meas /tmp/ccR2AazA.s:7283 .bss:00000020 pm_mode /tmp/ccR2AazA.s:7415 .bss:0000091c band /tmp/ccR2AazA.s:7200 .data:00000004 sync_msg /tmp/ccR2AazA.s:7304 .bss:00000454 sync_result /tmp/ccR2AazA.s:7369 .bss:000004fc cursor /tmp/ccR2AazA.s:7406 .bss:00000914 input /tmp/ccR2AazA.s:7419 .bss:00000920 max_power /tmp/ccR2AazA.s:7312 .bss:00000459 power /tmp/ccR2AazA.s:7296 .bss:00000050 max /tmp/ccR2AazA.s:7250 .bss:00000004 uplink /tmp/ccR2AazA.s:7246 .bss:00000000 pcs /tmp/ccR2AazA.s:7428 .bss:00000928 last_mode /tmp/ccR2AazA.s:7364 .bss:000004fa mode /tmp/ccR2AazA.s:7279 .bss:0000001c key_pressed_delay /tmp/ccR2AazA.s:7270 .bss:00000014 key_pressed_when /tmp/ccR2AazA.s:7274 .bss:00000018 key_pressed_code /tmp/ccR2AazA.s:7266 .bss:00000010 key_pressed /tmp/ccR2AazA.s:7195 .data:00000000 key_code /tmp/ccR2AazA.s:7191 .data:00000000 $d /tmp/ccR2AazA.s:7208 .data:0000000c bands /tmp/ccR2AazA.s:7242 .bss:00000000 $d /tmp/ccR2AazA.s:7377 .bss:00000504 ul_arfcn /tmp/ccR2AazA.s:7411 .bss:0000091a arfcn UNDEFINED SYMBOLS framebuffer printf puts osmo_panic l1ctl_msgb_alloc l1a_l23_rx jiffies msgb_free rsl_dec_chan_nr sercomm_sendmsg memcpy gsm_fn2gsmtime l1s __aeabi_idivmod sprintf battery_info l1s_reset l1s_reset_hw __aeabi_idiv board_init dump_dev_id calypso_clk_dump keypad_set_handler sercomm_register_rx_cb read_factory_rf_calibration layer1_init tpu_frame_irq_en buzzer_mode_pwt buzzer_volume memset l1a_compl_execute osmo_timers_update l1a_l23_handler buzzer_note gsm48_decode_freq_list l1a_l23_tx_cb