Mercurial > hg > Members > tobaru > xv6-osx-rpi
view 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 source
.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: