Mercurial > hg > Members > tobaru > xv6-osx-rpi
diff src/start.s @ 0:53676d1f5817 default tip
firsh commit
author | tobaru |
---|---|
date | Sun, 04 Feb 2018 17:54:49 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/start.s Sun Feb 04 17:54:49 2018 +0900 @@ -0,0 +1,1518 @@ + .text + .syntax unified + .eabi_attribute 67, "2.09" + .cpu arm1136jf-s + .eabi_attribute 6, 6 + .eabi_attribute 8, 1 + .eabi_attribute 9, 1 + .fpu vfpv2 + .eabi_attribute 34, 0 + .eabi_attribute 17, 1 + .eabi_attribute 20, 1 + .eabi_attribute 21, 1 + .eabi_attribute 23, 3 + .eabi_attribute 24, 1 + .eabi_attribute 25, 1 + .eabi_attribute 38, 1 + .eabi_attribute 18, 4 + .eabi_attribute 26, 2 + .eabi_attribute 14, 0 + .file "start.c" + .file 1 "." "types.h" + .file 2 "start.c" + .globl _uart_putc + .p2align 2 + .type _uart_putc,%function + .code 32 +_uart_putc: +.Lfunc_begin0: + .loc 2 10 0 + .fnstart + .cfi_sections .debug_frame + .cfi_startproc + .pad #12 + sub sp, sp, #12 + .cfi_def_cfa_offset 12 + mov r1, r0 + str r0, [sp, #8] +.Ltmp0: + .loc 2 11 22 prologue_end + ldr r0, .LCPI0_0 + str r0, [sp, #4] + .loc 2 12 14 + ldr r0, [sp, #8] + .loc 2 12 6 is_stmt 0 + ldr r2, [sp, #4] + .loc 2 12 12 + strb r0, [r2] + .loc 2 13 1 is_stmt 1 + str r1, [sp] + add sp, sp, #12 + bx lr +.Ltmp1: + .p2align 2 + .loc 2 0 1 is_stmt 0 +.LCPI0_0: + .long 270471168 +.Lfunc_end0: + .size _uart_putc, .Lfunc_end0-_uart_putc + .cfi_endproc + .cantunwind + .fnend + + .globl _puts + .p2align 2 + .type _puts,%function + .code 32 +_puts: +.Lfunc_begin1: + .loc 2 17 0 is_stmt 1 + .fnstart + .cfi_startproc + .save {r11, lr} + push {r11, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 11, -8 + .setfp r11, sp + mov r11, sp + .cfi_def_cfa_register 11 + .pad #8 + sub sp, sp, #8 + mov r1, r0 + str r0, [sp, #4] +.Ltmp2: + .loc 2 18 5 prologue_end + str r1, [sp] + b .LBB1_1 +.LBB1_1: + .loc 2 18 13 is_stmt 0 + ldr r0, [sp, #4] + .loc 2 18 12 + ldrb r0, [r0] + .loc 2 18 5 + cmp r0, #0 + beq .LBB1_3 + b .LBB1_2 +.LBB1_2: +.Ltmp3: + .loc 2 19 21 is_stmt 1 + ldr r0, [sp, #4] + .loc 2 19 20 is_stmt 0 + ldrb r0, [r0] + .loc 2 19 9 + bl _uart_putc + .loc 2 20 10 is_stmt 1 + ldr r0, [sp, #4] + add r0, r0, #1 + str r0, [sp, #4] +.Ltmp4: + .loc 2 18 5 + b .LBB1_1 +.LBB1_3: + .loc 2 22 1 + mov sp, r11 + pop {r11, pc} +.Ltmp5: +.Lfunc_end1: + .size _puts, .Lfunc_end1-_puts + .cfi_endproc + .cantunwind + .fnend + + .globl _putint + .p2align 2 + .type _putint,%function + .code 32 +_putint: +.Lfunc_begin2: + .loc 2 25 0 + .fnstart + .cfi_startproc + .save {r11, lr} + push {r11, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 11, -8 + .setfp r11, sp + mov r11, sp + .cfi_def_cfa_register 11 + .pad #32 + sub sp, sp, #32 + mov r3, r2 + mov r12, r1 + mov lr, r0 + str r0, [r11, #-4] + str r1, [r11, #-8] + str r2, [r11, #-12] +.Ltmp6: + .loc 2 26 11 prologue_end + ldr r0, .LCPI2_0 + str r0, [sp, #16] +.Ltmp7: + .loc 2 29 9 + ldr r0, [r11, #-4] +.Ltmp8: + .loc 2 29 9 is_stmt 0 + cmp r0, #0 + str r3, [sp, #8] + str r12, [sp, #4] + str lr, [sp] + beq .LBB2_2 + b .LBB2_1 +.LBB2_1: +.Ltmp9: + .loc 2 30 15 is_stmt 1 + ldr r0, [r11, #-4] + .loc 2 30 9 is_stmt 0 + bl _puts + .loc 2 31 5 is_stmt 1 + b .LBB2_2 +.Ltmp10: +.LBB2_2: + .loc 2 33 14 + mov r0, #28 + str r0, [sp, #12] + .loc 2 33 10 is_stmt 0 + b .LBB2_3 +.LBB2_3: +.Ltmp11: + .loc 2 33 37 + ldr r0, [sp, #12] +.Ltmp12: + .loc 2 33 5 + cmp r0, #0 + blt .LBB2_6 + b .LBB2_4 +.LBB2_4: +.Ltmp13: + .loc 2 34 20 is_stmt 1 + ldr r0, [sp, #16] + .loc 2 34 25 is_stmt 0 + ldr r1, [r11, #-8] + .loc 2 34 32 + ldr r2, [sp, #12] + .loc 2 34 37 + mov r3, #15 + and r1, r3, r1, lsr r2 + .loc 2 34 20 + ldrb r0, [r0, r1] + .loc 2 34 9 + bl _uart_putc + .loc 2 35 5 is_stmt 1 + b .LBB2_5 +.Ltmp14: +.LBB2_5: + .loc 2 33 51 + ldr r0, [sp, #12] + sub r0, r0, #4 + str r0, [sp, #12] + .loc 2 33 5 is_stmt 0 + b .LBB2_3 +.Ltmp15: +.LBB2_6: + .loc 2 37 9 is_stmt 1 + ldr r0, [r11, #-12] +.Ltmp16: + .loc 2 37 9 is_stmt 0 + cmp r0, #0 + beq .LBB2_8 + b .LBB2_7 +.LBB2_7: +.Ltmp17: + .loc 2 38 15 is_stmt 1 + ldr r0, [r11, #-12] + .loc 2 38 9 is_stmt 0 + bl _puts + .loc 2 39 5 is_stmt 1 + b .LBB2_8 +.Ltmp18: +.LBB2_8: + .loc 2 40 1 + mov sp, r11 + pop {r11, pc} +.Ltmp19: + .p2align 2 + .loc 2 0 1 is_stmt 0 +.LCPI2_0: + .long .L.str +.Lfunc_end2: + .size _putint, .Lfunc_end2-_putint + .cfi_endproc + .cantunwind + .fnend + + .globl get_pde + .p2align 2 + .type get_pde,%function + .code 32 +get_pde: +.Lfunc_begin3: + .loc 2 53 0 is_stmt 1 + .fnstart + .cfi_startproc + .pad #8 + sub sp, sp, #8 + .cfi_def_cfa_offset 8 + mov r1, r0 + str r0, [sp, #4] +.Ltmp20: + .loc 2 54 10 prologue_end + ldr r0, [sp, #4] + lsr r0, r0, #20 + str r0, [sp, #4] + .loc 2 55 12 + ldr r0, .LCPI3_0 + ldr r0, [r0] + .loc 2 55 25 is_stmt 0 + ldr r2, [sp, #4] + .loc 2 55 12 + ldr r0, [r0, r2, lsl #2] + .loc 2 55 5 + str r1, [sp] + add sp, sp, #8 + bx lr +.Ltmp21: + .p2align 2 + .loc 2 0 5 +.LCPI3_0: + .long kernel_pgtbl +.Lfunc_end3: + .size get_pde, .Lfunc_end3-get_pde + .cfi_endproc + .cantunwind + .fnend + + .globl set_bootpgtbl + .p2align 2 + .type set_bootpgtbl,%function + .code 32 +set_bootpgtbl: +.Lfunc_begin4: + .loc 2 60 0 is_stmt 1 + .fnstart + .cfi_startproc + .save {r4, r5, r11, lr} + push {r4, r5, r11, lr} + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 11, -8 + .cfi_offset 5, -12 + .cfi_offset 4, -16 + .setfp r11, sp, #8 + add r11, sp, #8 + .cfi_def_cfa 11, 8 + .pad #40 + sub sp, sp, #40 + mov r12, r3 + mov lr, r2 + mov r4, r1 + mov r5, r0 + str r0, [r11, #-12] + str r1, [r11, #-16] + str r2, [r11, #-20] + str r3, [sp, #24] +.Ltmp22: + .loc 2 65 10 prologue_end + ldr r0, [r11, #-12] + lsr r0, r0, #20 + str r0, [r11, #-12] + .loc 2 66 10 + ldr r0, [r11, #-16] + lsr r0, r0, #20 + str r0, [r11, #-16] + .loc 2 67 10 + ldr r0, [r11, #-20] + lsr r0, r0, #20 + str r0, [r11, #-20] + mov r0, #0 +.Ltmp23: + .loc 2 69 14 + str r0, [sp, #16] + .loc 2 69 10 is_stmt 0 + str r12, [sp, #12] + str lr, [sp, #8] + str r4, [sp, #4] + str r5, [sp] + b .LBB4_1 +.LBB4_1: +.Ltmp24: + .loc 2 69 19 + ldr r0, [sp, #16] + .loc 2 69 25 + ldr r1, [r11, #-20] +.Ltmp25: + .loc 2 69 5 + cmp r0, r1 + bhs .LBB4_10 + b .LBB4_2 +.LBB4_2: +.Ltmp26: + .loc 2 70 16 is_stmt 1 + ldr r0, [r11, #-16] + .loc 2 70 20 is_stmt 0 + lsl r0, r0, #20 + .loc 2 70 13 + str r0, [sp, #20] +.Ltmp27: + .loc 2 72 14 is_stmt 1 + ldr r0, [sp, #24] +.Ltmp28: + .loc 2 72 13 is_stmt 0 + cmp r0, #0 + bne .LBB4_4 + b .LBB4_3 +.LBB4_3: +.Ltmp29: + .loc 2 74 17 is_stmt 1 + ldr r0, [sp, #20] + mov r1, #14 + orr r1, r1, #1024 + orr r0, r0, r1 + str r0, [sp, #20] + .loc 2 75 9 + b .LBB4_5 +.Ltmp30: +.LBB4_4: + .loc 2 77 17 + ldr r0, [sp, #20] + mov r1, #2 + orr r1, r1, #1024 + orr r0, r0, r1 + str r0, [sp, #20] + b .LBB4_5 +.Ltmp31: +.LBB4_5: + .loc 2 81 13 + ldr r0, [r11, #-12] +.Ltmp32: + .loc 2 81 13 is_stmt 0 + cmp r0, #255 + bhi .LBB4_7 + b .LBB4_6 +.LBB4_6: +.Ltmp33: + .loc 2 82 32 is_stmt 1 + ldr r0, [sp, #20] + .loc 2 82 13 is_stmt 0 + ldr r1, .LCPI4_1 + ldr r1, [r1] + .loc 2 82 24 + ldr r2, [r11, #-12] + .loc 2 82 30 + str r0, [r1, r2, lsl #2] + .loc 2 83 9 is_stmt 1 + b .LBB4_8 +.Ltmp34: +.LBB4_7: + .loc 2 84 34 + ldr r0, [sp, #20] + .loc 2 84 13 is_stmt 0 + ldr r1, .LCPI4_0 + ldr r1, [r1] + .loc 2 84 26 + ldr r2, [r11, #-12] + .loc 2 84 32 + str r0, [r1, r2, lsl #2] + b .LBB4_8 +.Ltmp35: +.LBB4_8: + .loc 2 87 13 is_stmt 1 + ldr r0, [r11, #-12] + add r0, r0, #1 + str r0, [r11, #-12] + .loc 2 88 12 + ldr r0, [r11, #-16] + add r0, r0, #1 + str r0, [r11, #-16] + .loc 2 89 5 + b .LBB4_9 +.Ltmp36: +.LBB4_9: + .loc 2 69 33 + ldr r0, [sp, #16] + add r0, r0, #1 + str r0, [sp, #16] + .loc 2 69 5 is_stmt 0 + b .LBB4_1 +.Ltmp37: +.LBB4_10: + .loc 2 90 1 is_stmt 1 + sub sp, r11, #8 + pop {r4, r5, r11, pc} +.Ltmp38: + .p2align 2 + .loc 2 0 1 is_stmt 0 +.LCPI4_0: + .long kernel_pgtbl +.LCPI4_1: + .long user_pgtbl +.Lfunc_end4: + .size set_bootpgtbl, .Lfunc_end4-set_bootpgtbl + .cfi_endproc + .cantunwind + .fnend + + .globl load_pgtlb + .p2align 2 + .type load_pgtlb,%function + .code 32 +load_pgtlb: +.Lfunc_begin5: + .loc 2 105 0 is_stmt 1 + .fnstart + .cfi_startproc + .save {r11, lr} + push {r11, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 11, -8 + .setfp r11, sp + mov r11, sp + .cfi_def_cfa_register 11 + .pad #32 + sub sp, sp, #32 + mov r2, r1 + mov r3, r0 + str r0, [r11, #-4] + str r1, [r11, #-8] +.Ltmp39: + .loc 2 111 5 prologue_end + @APP + MRC p15, 0, r0, c0, c0, 0 + .code 32 + @NO_APP + str r0, [r11, #-12] +.Ltmp40: + .loc 2 113 9 + ldrb r0, [r11, #-9] +.Ltmp41: + .loc 2 113 9 is_stmt 0 + cmp r0, #65 + str r2, [sp, #8] + str r3, [sp, #4] + bne .LBB5_2 + b .LBB5_1 +.LBB5_1: +.Ltmp42: + .loc 2 115 5 is_stmt 1 + b .LBB5_2 +.Ltmp43: +.LBB5_2: + .loc 2 117 13 + ldrh r0, [r11, #-10] + .loc 2 117 24 is_stmt 0 + and r0, r0, #15 + .loc 2 117 10 + strb r0, [r11, #-13] +.Ltmp44: + .loc 2 119 10 is_stmt 1 + ldrb r0, [r11, #-13] + .loc 2 119 21 is_stmt 0 + cmp r0, #7 + beq .LBB5_5 + b .LBB5_3 +.LBB5_3: + .loc 2 119 25 + ldrb r0, [r11, #-13] +.Ltmp45: + .loc 2 119 9 + cmp r0, #15 + beq .LBB5_5 + b .LBB5_4 +.LBB5_4: +.Ltmp46: + .loc 2 120 9 is_stmt 1 + ldr r0, .LCPI5_0 + bl _puts + .loc 2 121 5 + b .LBB5_5 +.Ltmp47: +.LBB5_5: + .loc 2 126 9 + ldr r0, .LCPI5_1 + str r0, [sp, #12] + .loc 2 127 49 + ldr r0, [sp, #12] + .loc 2 127 5 is_stmt 0 + @APP + MCR p15, 0, r0, c3, c0, 0 + .code 32 + @NO_APP + .loc 2 131 9 is_stmt 1 + mov r0, #4 + str r0, [sp, #12] + .loc 2 132 49 + ldr r0, [sp, #12] + .loc 2 132 5 is_stmt 0 + @APP + MCR p15, 0, r0, c2, c0, 2 + .code 32 + @NO_APP + .loc 2 135 17 is_stmt 1 + ldr r0, .LCPI5_2 + ldr r0, [r0] + .loc 2 135 9 is_stmt 0 + str r0, [sp, #12] + .loc 2 136 49 is_stmt 1 + ldr r0, [sp, #12] + .loc 2 136 5 is_stmt 0 + @APP + MCR p15, 0, r0, c2, c0, 1 + .code 32 + @NO_APP + .loc 2 139 17 is_stmt 1 + ldr r0, [r11, #-8] + .loc 2 139 9 is_stmt 0 + str r0, [sp, #12] + .loc 2 140 49 is_stmt 1 + ldr r0, [sp, #12] + .loc 2 140 5 is_stmt 0 + @APP + MCR p15, 0, r0, c2, c0, 0 + .code 32 + @NO_APP + .loc 2 143 5 is_stmt 1 + @APP + MRC p15, 0, r0, c1, c0, 0 + .code 32 + @NO_APP + str r0, [sp, #12] + .loc 2 145 9 + ldr r0, [sp, #12] + ldr r1, .LCPI5_3 + orr r0, r0, r1 + str r0, [sp, #12] + .loc 2 147 49 + ldr r0, [sp, #12] + .loc 2 147 5 is_stmt 0 + @APP + MCR p15, 0, r0, c1, c0, 0 + .code 32 + @NO_APP + .loc 2 149 5 is_stmt 1 + bl _flush_all + .loc 2 150 1 + mov sp, r11 + pop {r11, pc} +.Ltmp48: + .p2align 2 + .loc 2 0 1 is_stmt 0 +.LCPI5_0: + .long .L.str.1 +.LCPI5_1: + .long 1431655765 +.LCPI5_2: + .long kernel_pgtbl +.LCPI5_3: + .long 8400909 +.Lfunc_end5: + .size load_pgtlb, .Lfunc_end5-load_pgtlb + .cfi_endproc + .cantunwind + .fnend + + .p2align 2 + .type _flush_all,%function + .code 32 +_flush_all: +.Lfunc_begin6: + .loc 2 93 0 is_stmt 1 + .fnstart + .cfi_startproc + .pad #4 + sub sp, sp, #4 + .cfi_def_cfa_offset 4 + mov r0, #0 +.Ltmp49: + .loc 2 94 10 prologue_end + str r0, [sp] + .loc 2 97 50 + ldr r0, [sp] + .loc 2 97 5 is_stmt 0 + @APP + MCR p15, 0, r0, c8, c7, 0 + .code 32 + @NO_APP + .loc 2 102 1 is_stmt 1 + add sp, sp, #4 + bx lr +.Ltmp50: +.Lfunc_end6: + .size _flush_all, .Lfunc_end6-_flush_all + .cfi_endproc + .cantunwind + .fnend + + .globl clear_bss + .p2align 2 + .type clear_bss,%function + .code 32 +clear_bss: +.Lfunc_begin7: + .loc 2 162 0 + .fnstart + .cfi_startproc + .save {r11, lr} + push {r11, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 11, -8 + .setfp r11, sp + mov r11, sp + .cfi_def_cfa_register 11 + .pad #8 + sub sp, sp, #8 +.Ltmp51: + .loc 2 163 5 prologue_end + ldr r0, .LCPI7_0 + ldr r1, .LCPI7_1 + sub r2, r1, r0 + mov r1, #0 + bl memset + .loc 2 164 1 + str r0, [sp, #4] + mov sp, r11 + pop {r11, pc} +.Ltmp52: + .p2align 2 + .loc 2 0 1 is_stmt 0 +.LCPI7_0: + .long edata +.LCPI7_1: + .long end +.Lfunc_end7: + .size clear_bss, .Lfunc_end7-clear_bss + .cfi_endproc + .cantunwind + .fnend + + .globl start + .p2align 2 + .type start,%function + .code 32 +start: +.Lfunc_begin8: + .loc 2 167 0 is_stmt 1 + .fnstart + .cfi_startproc + .save {r11, lr} + push {r11, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 11, -8 + .setfp r11, sp + mov r11, sp + .cfi_def_cfa_register 11 + .pad #16 + sub sp, sp, #16 +.Ltmp53: + .loc 2 169 5 prologue_end + ldr r0, .LCPI8_0 + bl _puts + .loc 2 173 5 + mov r0, #1048576 + mov lr, #0 + str r0, [sp, #8] + mov r0, lr + mov r1, lr + ldr r2, [sp, #8] + mov r3, lr + str lr, [sp, #4] + bl set_bootpgtbl + .loc 2 174 5 + mov r0, #-2147483648 + ldr r1, [sp, #4] + ldr r2, [sp, #8] + ldr r3, [sp, #4] + bl set_bootpgtbl + .loc 2 177 12 + mov r0, #983040 + orr r0, r0, #-2147483648 + str r0, [r11, #-4] +.Ltmp54: + .loc 2 179 9 + ldr r0, [r11, #-4] + .loc 2 179 16 is_stmt 0 + ldr r1, .LCPI8_1 +.Ltmp55: + .loc 2 179 9 + cmp r0, r1 + bhi .LBB8_2 + b .LBB8_1 +.LBB8_1: +.Ltmp56: + .loc 2 180 9 is_stmt 1 + ldr r0, .LCPI8_2 + bl cprintf + .loc 2 181 5 + b .LBB8_2 +.Ltmp57: +.LBB8_2: + .loc 2 183 5 + mov r0, #16711680 + orr r0, r0, #-16777216 + mov r2, #1048576 + mov r1, #0 + str r1, [sp] + ldr r3, [sp] + bl set_bootpgtbl + .loc 2 184 5 + mov r0, #-1879048192 + mov r1, #268435456 + mov r2, #134217728 + mov r3, #1 + bl set_bootpgtbl + .loc 2 186 17 + ldr r0, .LCPI8_3 + ldr r0, [r0] + .loc 2 186 31 is_stmt 0 + ldr r1, .LCPI8_4 + ldr r1, [r1] + .loc 2 186 5 + bl load_pgtlb + .loc 2 187 5 is_stmt 1 + bl jump_stack + .loc 2 190 5 + bl clear_bss + .loc 2 192 5 + bl kmain + .loc 2 193 1 + mov sp, r11 + pop {r11, pc} +.Ltmp58: + .p2align 2 + .loc 2 0 1 is_stmt 0 +.LCPI8_0: + .long .L.str.2 +.LCPI8_1: + .long end +.LCPI8_2: + .long .L.str.3 +.LCPI8_3: + .long kernel_pgtbl +.LCPI8_4: + .long user_pgtbl +.Lfunc_end8: + .size start, .Lfunc_end8-start + .cfi_endproc + .cantunwind + .fnend + + .type .L.str,%object + .section .rodata.str1.1,"aMS",%progbits,1 +.L.str: + .asciz "0123456789ABCDEF" + .size .L.str, 17 + + .type kernel_pgtbl,%object + .data + .globl kernel_pgtbl + .p2align 2 +kernel_pgtbl: + .long _kernel_pgtbl + .size kernel_pgtbl, 4 + + .type user_pgtbl,%object + .globl user_pgtbl + .p2align 2 +user_pgtbl: + .long _user_pgtbl + .size user_pgtbl, 4 + + .type .L.str.1,%object + .section .rodata.str1.1,"aMS",%progbits,1 +.L.str.1: + .asciz "need AARM v6 or higher\n" + .size .L.str.1, 24 + + .type .L.str.2,%object +.L.str.2: + .asciz "starting xv6 for ARM...\n" + .size .L.str.2, 25 + + .type .L.str.3,%object +.L.str.3: + .asciz "error: vector table overlaps kernel\n" + .size .L.str.3, 37 + + .section .debug_str,"MS",%progbits,1 +.Linfo_string0: + .asciz "clang version 6.0.0 " +.Linfo_string1: + .asciz "start.c" +.Linfo_string2: + .asciz "/mnt/dalmore-home/one/src/xv6-rpi/src" +.Linfo_string3: + .asciz "kernel_pgtbl" +.Linfo_string4: + .asciz "unsigned int" +.Linfo_string5: + .asciz "uint32" +.Linfo_string6: + .asciz "user_pgtbl" +.Linfo_string7: + .asciz "unsigned char" +.Linfo_string8: + .asciz "uint8" +.Linfo_string9: + .asciz "uint" +.Linfo_string10: + .asciz "_uart_putc" +.Linfo_string11: + .asciz "_puts" +.Linfo_string12: + .asciz "_putint" +.Linfo_string13: + .asciz "get_pde" +.Linfo_string14: + .asciz "set_bootpgtbl" +.Linfo_string15: + .asciz "load_pgtlb" +.Linfo_string16: + .asciz "_flush_all" +.Linfo_string17: + .asciz "clear_bss" +.Linfo_string18: + .asciz "start" +.Linfo_string19: + .asciz "c" +.Linfo_string20: + .asciz "int" +.Linfo_string21: + .asciz "uart0" +.Linfo_string22: + .asciz "s" +.Linfo_string23: + .asciz "char" +.Linfo_string24: + .asciz "prefix" +.Linfo_string25: + .asciz "val" +.Linfo_string26: + .asciz "suffix" +.Linfo_string27: + .asciz "arr" +.Linfo_string28: + .asciz "idx" +.Linfo_string29: + .asciz "virt" +.Linfo_string30: + .asciz "phy" +.Linfo_string31: + .asciz "len" +.Linfo_string32: + .asciz "dev_mem" +.Linfo_string33: + .asciz "pde" +.Linfo_string34: + .asciz "kern_pgtbl" +.Linfo_string35: + .asciz "ret" +.Linfo_string36: + .asciz "arch" +.Linfo_string37: + .asciz "vectbl" + .section .debug_abbrev,"",%progbits + .byte 1 + .byte 17 + .byte 1 + .byte 37 + .byte 14 + .byte 19 + .byte 5 + .byte 3 + .byte 14 + .byte 16 + .byte 23 + .byte 27 + .byte 14 + .ascii "\264B" + .byte 25 + .byte 17 + .byte 1 + .byte 18 + .byte 6 + .byte 0 + .byte 0 + .byte 2 + .byte 52 + .byte 0 + .byte 3 + .byte 14 + .byte 73 + .byte 19 + .byte 63 + .byte 25 + .byte 58 + .byte 11 + .byte 59 + .byte 11 + .byte 2 + .byte 24 + .byte 0 + .byte 0 + .byte 3 + .byte 15 + .byte 0 + .byte 73 + .byte 19 + .byte 0 + .byte 0 + .byte 4 + .byte 22 + .byte 0 + .byte 73 + .byte 19 + .byte 3 + .byte 14 + .byte 58 + .byte 11 + .byte 59 + .byte 11 + .byte 0 + .byte 0 + .byte 5 + .byte 36 + .byte 0 + .byte 3 + .byte 14 + .byte 62 + .byte 11 + .byte 11 + .byte 11 + .byte 0 + .byte 0 + .byte 6 + .byte 46 + .byte 1 + .byte 17 + .byte 1 + .byte 18 + .byte 6 + .byte 64 + .byte 24 + .byte 3 + .byte 14 + .byte 58 + .byte 11 + .byte 59 + .byte 11 + .byte 39 + .byte 25 + .byte 63 + .byte 25 + .byte 0 + .byte 0 + .byte 7 + .byte 5 + .byte 0 + .byte 2 + .byte 24 + .byte 3 + .byte 14 + .byte 58 + .byte 11 + .byte 59 + .byte 11 + .byte 73 + .byte 19 + .byte 0 + .byte 0 + .byte 8 + .byte 52 + .byte 0 + .byte 2 + .byte 24 + .byte 3 + .byte 14 + .byte 58 + .byte 11 + .byte 59 + .byte 11 + .byte 73 + .byte 19 + .byte 0 + .byte 0 + .byte 9 + .byte 46 + .byte 1 + .byte 17 + .byte 1 + .byte 18 + .byte 6 + .byte 64 + .byte 24 + .byte 3 + .byte 14 + .byte 58 + .byte 11 + .byte 59 + .byte 11 + .byte 39 + .byte 25 + .byte 73 + .byte 19 + .byte 63 + .byte 25 + .byte 0 + .byte 0 + .byte 10 + .byte 46 + .byte 1 + .byte 17 + .byte 1 + .byte 18 + .byte 6 + .byte 64 + .byte 24 + .byte 3 + .byte 14 + .byte 58 + .byte 11 + .byte 59 + .byte 11 + .byte 39 + .byte 25 + .byte 0 + .byte 0 + .byte 11 + .byte 46 + .byte 0 + .byte 17 + .byte 1 + .byte 18 + .byte 6 + .byte 64 + .byte 24 + .byte 3 + .byte 14 + .byte 58 + .byte 11 + .byte 59 + .byte 11 + .byte 39 + .byte 25 + .byte 63 + .byte 25 + .byte 0 + .byte 0 + .byte 12 + .byte 53 + .byte 0 + .byte 73 + .byte 19 + .byte 0 + .byte 0 + .byte 0 + .section .debug_info,"",%progbits +.Lcu_begin0: + .long 628 + .short 4 + .long .debug_abbrev + .byte 4 + .byte 1 + .long .Linfo_string0 + .short 12 + .long .Linfo_string1 + .long .Lline_table_start0 + .long .Linfo_string2 + + .long .Lfunc_begin0 + .long .Lfunc_end8-.Lfunc_begin0 + .byte 2 + .long .Linfo_string3 + .long 55 + + .byte 2 + .byte 47 + .byte 5 + .byte 3 + .long kernel_pgtbl + .byte 3 + .long 60 + .byte 4 + .long 71 + .long .Linfo_string5 + .byte 1 + .byte 4 + .byte 5 + .long .Linfo_string4 + .byte 7 + .byte 4 + .byte 2 + .long .Linfo_string6 + .long 55 + + .byte 2 + .byte 48 + .byte 5 + .byte 3 + .long user_pgtbl + .byte 3 + .long 100 + .byte 4 + .long 111 + .long .Linfo_string8 + .byte 1 + .byte 6 + .byte 5 + .long .Linfo_string7 + .byte 8 + .byte 1 + .byte 4 + .long 71 + .long .Linfo_string9 + .byte 1 + .byte 1 + .byte 6 + .long .Lfunc_begin0 + .long .Lfunc_end0-.Lfunc_begin0 + .byte 1 + .byte 91 + .long .Linfo_string10 + .byte 2 + .byte 9 + + + .byte 7 + .byte 2 + .byte 125 + .byte 8 + .long .Linfo_string19 + .byte 2 + .byte 9 + .long 602 + .byte 8 + .byte 2 + .byte 125 + .byte 4 + .long .Linfo_string21 + .byte 2 + .byte 11 + .long 609 + .byte 0 + .byte 6 + .long .Lfunc_begin1 + .long .Lfunc_end1-.Lfunc_begin1 + .byte 1 + .byte 91 + .long .Linfo_string11 + .byte 2 + .byte 16 + + + .byte 7 + .byte 2 + .byte 125 + .byte 4 + .long .Linfo_string22 + .byte 2 + .byte 16 + .long 619 + .byte 0 + .byte 6 + .long .Lfunc_begin2 + .long .Lfunc_end2-.Lfunc_begin2 + .byte 1 + .byte 91 + .long .Linfo_string12 + .byte 2 + .byte 24 + + + .byte 7 + .byte 2 + .byte 145 + .byte 124 + .long .Linfo_string24 + .byte 2 + .byte 24 + .long 619 + .byte 7 + .byte 2 + .byte 145 + .byte 120 + .long .Linfo_string25 + .byte 2 + .byte 24 + .long 118 + .byte 7 + .byte 2 + .byte 145 + .byte 116 + .long .Linfo_string26 + .byte 2 + .byte 24 + .long 619 + .byte 8 + .byte 2 + .byte 125 + .byte 16 + .long .Linfo_string27 + .byte 2 + .byte 26 + .long 619 + .byte 8 + .byte 2 + .byte 125 + .byte 12 + .long .Linfo_string28 + .byte 2 + .byte 27 + .long 602 + .byte 0 + .byte 9 + .long .Lfunc_begin3 + .long .Lfunc_end3-.Lfunc_begin3 + .byte 1 + .byte 91 + .long .Linfo_string13 + .byte 2 + .byte 52 + + .long 60 + + .byte 7 + .byte 2 + .byte 125 + .byte 4 + .long .Linfo_string29 + .byte 2 + .byte 52 + .long 60 + .byte 0 + .byte 6 + .long .Lfunc_begin4 + .long .Lfunc_end4-.Lfunc_begin4 + .byte 1 + .byte 91 + .long .Linfo_string14 + .byte 2 + .byte 59 + + + .byte 7 + .byte 2 + .byte 145 + .byte 116 + .long .Linfo_string29 + .byte 2 + .byte 59 + .long 60 + .byte 7 + .byte 2 + .byte 145 + .byte 112 + .long .Linfo_string30 + .byte 2 + .byte 59 + .long 60 + .byte 7 + .byte 2 + .byte 145 + .byte 108 + .long .Linfo_string31 + .byte 2 + .byte 59 + .long 118 + .byte 7 + .byte 2 + .byte 125 + .byte 24 + .long .Linfo_string32 + .byte 2 + .byte 59 + .long 602 + .byte 8 + .byte 2 + .byte 125 + .byte 20 + .long .Linfo_string33 + .byte 2 + .byte 61 + .long 60 + .byte 8 + .byte 2 + .byte 125 + .byte 16 + .long .Linfo_string28 + .byte 2 + .byte 62 + .long 602 + .byte 0 + .byte 6 + .long .Lfunc_begin5 + .long .Lfunc_end5-.Lfunc_begin5 + .byte 1 + .byte 91 + .long .Linfo_string15 + .byte 2 + .byte 104 + + + .byte 7 + .byte 2 + .byte 145 + .byte 124 + .long .Linfo_string34 + .byte 2 + .byte 104 + .long 55 + .byte 7 + .byte 2 + .byte 145 + .byte 120 + .long .Linfo_string6 + .byte 2 + .byte 104 + .long 55 + .byte 8 + .byte 2 + .byte 145 + .byte 116 + .long .Linfo_string35 + .byte 2 + .byte 106 + .long 118 + .byte 8 + .byte 2 + .byte 145 + .byte 115 + .long .Linfo_string36 + .byte 2 + .byte 107 + .long 624 + .byte 8 + .byte 2 + .byte 125 + .byte 12 + .long .Linfo_string25 + .byte 2 + .byte 108 + .long 118 + .byte 0 + .byte 10 + .long .Lfunc_begin6 + .long .Lfunc_end6-.Lfunc_begin6 + .byte 1 + .byte 91 + .long .Linfo_string16 + .byte 2 + .byte 92 + + .byte 8 + .byte 2 + .byte 125 + .byte 0 + .long .Linfo_string25 + .byte 2 + .byte 94 + .long 118 + .byte 0 + .byte 11 + .long .Lfunc_begin7 + .long .Lfunc_end7-.Lfunc_begin7 + .byte 1 + .byte 91 + .long .Linfo_string17 + .byte 2 + .byte 161 + + + .byte 6 + .long .Lfunc_begin8 + .long .Lfunc_end8-.Lfunc_begin8 + .byte 1 + .byte 91 + .long .Linfo_string18 + .byte 2 + .byte 166 + + + .byte 8 + .byte 2 + .byte 145 + .byte 124 + .long .Linfo_string37 + .byte 2 + .byte 168 + .long 60 + .byte 0 + .byte 5 + .long .Linfo_string20 + .byte 5 + .byte 4 + .byte 3 + .long 614 + .byte 12 + .long 100 + .byte 3 + .long 624 + .byte 5 + .long .Linfo_string23 + .byte 8 + .byte 1 + .byte 0 + .section .debug_ranges,"",%progbits + .section .debug_macinfo,"",%progbits +.Lcu_macro_begin0: + .byte 0 + .section .debug_pubnames,"",%progbits + .long .LpubNames_end0-.LpubNames_begin0 +.LpubNames_begin0: + .short 2 + .long .Lcu_begin0 + .long 632 + .long 570 + .asciz "start" + .long 433 + .asciz "load_pgtlb" + .long 207 + .asciz "_putint" + .long 129 + .asciz "_uart_putc" + .long 78 + .asciz "user_pgtbl" + .long 295 + .asciz "get_pde" + .long 38 + .asciz "kernel_pgtbl" + .long 521 + .asciz "_flush_all" + .long 175 + .asciz "_puts" + .long 331 + .asciz "set_bootpgtbl" + .long 553 + .asciz "clear_bss" + .long 0 +.LpubNames_end0: + .section .debug_pubtypes,"",%progbits + .long .LpubTypes_end0-.LpubTypes_begin0 +.LpubTypes_begin0: + .short 2 + .long .Lcu_begin0 + .long 632 + .long 118 + .asciz "uint" + .long 60 + .asciz "uint32" + .long 71 + .asciz "unsigned int" + .long 100 + .asciz "uint8" + .long 111 + .asciz "unsigned char" + .long 602 + .asciz "int" + .long 624 + .asciz "char" + .long 0 +.LpubTypes_end0: + + .ident "clang version 6.0.0 " + .section ".note.GNU-stack","",%progbits + .eabi_attribute 30, 6 + .section .debug_line,"",%progbits +.Lline_table_start0: