Mercurial > hg > Members > tobaru > xv6-osx-rpi
diff src/obj_dump_gcc @ 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/obj_dump_gcc Sun Feb 04 17:54:49 2018 +0900 @@ -0,0 +1,305 @@ + +build/start.o_gcc: file format elf32-littlearm + + +Disassembly of section .text: + +00000000 <_uart_putc>: + 0: e52db004 push {fp} ; (str fp, [sp, #-4]!) + 4: e28db000 add fp, sp, #0 + 8: e24dd014 sub sp, sp, #20 + c: e50b0010 str r0, [fp, #-16] + 10: e59f301c ldr r3, [pc, #28] ; 34 <_uart_putc+0x34> + 14: e50b3008 str r3, [fp, #-8] + 18: e51b3010 ldr r3, [fp, #-16] + 1c: e6ef2073 uxtb r2, r3 + 20: e51b3008 ldr r3, [fp, #-8] + 24: e5c32000 strb r2, [r3] + 28: e24bd000 sub sp, fp, #0 + 2c: e49db004 pop {fp} ; (ldr fp, [sp], #4) + 30: e12fff1e bx lr + 34: 101f1000 .word 0x101f1000 + +00000038 <_puts>: + 38: e92d4800 push {fp, lr} + 3c: e28db004 add fp, sp, #4 + 40: e24dd008 sub sp, sp, #8 + 44: e50b0008 str r0, [fp, #-8] + 48: ea000006 b 68 <_puts+0x30> + 4c: e51b3008 ldr r3, [fp, #-8] + 50: e5d33000 ldrb r3, [r3] + 54: e1a00003 mov r0, r3 + 58: ebfffffe bl 0 <_uart_putc> + 5c: e51b3008 ldr r3, [fp, #-8] + 60: e2833001 add r3, r3, #1 + 64: e50b3008 str r3, [fp, #-8] + 68: e51b3008 ldr r3, [fp, #-8] + 6c: e5d33000 ldrb r3, [r3] + 70: e3530000 cmp r3, #0 + 74: 1afffff4 bne 4c <_puts+0x14> + 78: e24bd004 sub sp, fp, #4 + 7c: e8bd8800 pop {fp, pc} + +00000080 <_putint>: + 80: e92d4800 push {fp, lr} + 84: e28db004 add fp, sp, #4 + 88: e24dd018 sub sp, sp, #24 + 8c: e50b0010 str r0, [fp, #-16] + 90: e50b1014 str r1, [fp, #-20] ; 0xffffffec + 94: e50b2018 str r2, [fp, #-24] ; 0xffffffe8 + 98: e59f3078 ldr r3, [pc, #120] ; 118 <_putint+0x98> + 9c: e50b300c str r3, [fp, #-12] + a0: e51b3010 ldr r3, [fp, #-16] + a4: e3530000 cmp r3, #0 + a8: 0a000001 beq b4 <_putint+0x34> + ac: e51b0010 ldr r0, [fp, #-16] + b0: ebfffffe bl 38 <_puts> + b4: e3a0301c mov r3, #28 + b8: e50b3008 str r3, [fp, #-8] + bc: ea00000b b f0 <_putint+0x70> + c0: e51b2014 ldr r2, [fp, #-20] ; 0xffffffec + c4: e51b3008 ldr r3, [fp, #-8] + c8: e1a03332 lsr r3, r2, r3 + cc: e203300f and r3, r3, #15 + d0: e51b200c ldr r2, [fp, #-12] + d4: e0823003 add r3, r2, r3 + d8: e5d33000 ldrb r3, [r3] + dc: e1a00003 mov r0, r3 + e0: ebfffffe bl 0 <_uart_putc> + e4: e51b3008 ldr r3, [fp, #-8] + e8: e2433004 sub r3, r3, #4 + ec: e50b3008 str r3, [fp, #-8] + f0: e51b3008 ldr r3, [fp, #-8] + f4: e3530000 cmp r3, #0 + f8: aafffff0 bge c0 <_putint+0x40> + fc: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8 + 100: e3530000 cmp r3, #0 + 104: 0a000001 beq 110 <_putint+0x90> + 108: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8 + 10c: ebfffffe bl 38 <_puts> + 110: e24bd004 sub sp, fp, #4 + 114: e8bd8800 pop {fp, pc} + 118: 00000000 .word 0x00000000 + +0000011c <get_pde>: + 11c: e52db004 push {fp} ; (str fp, [sp, #-4]!) + 120: e28db000 add fp, sp, #0 + 124: e24dd00c sub sp, sp, #12 + 128: e50b0008 str r0, [fp, #-8] + 12c: e51b3008 ldr r3, [fp, #-8] + 130: e1a03a23 lsr r3, r3, #20 + 134: e50b3008 str r3, [fp, #-8] + 138: e59f3020 ldr r3, [pc, #32] ; 160 <get_pde+0x44> + 13c: e5932000 ldr r2, [r3] + 140: e51b3008 ldr r3, [fp, #-8] + 144: e1a03103 lsl r3, r3, #2 + 148: e0823003 add r3, r2, r3 + 14c: e5933000 ldr r3, [r3] + 150: e1a00003 mov r0, r3 + 154: e24bd000 sub sp, fp, #0 + 158: e49db004 pop {fp} ; (ldr fp, [sp], #4) + 15c: e12fff1e bx lr + 160: 00000000 .word 0x00000000 + +00000164 <set_bootpgtbl>: + 164: e52db004 push {fp} ; (str fp, [sp, #-4]!) + 168: e28db000 add fp, sp, #0 + 16c: e24dd01c sub sp, sp, #28 + 170: e50b0010 str r0, [fp, #-16] + 174: e50b1014 str r1, [fp, #-20] ; 0xffffffec + 178: e50b2018 str r2, [fp, #-24] ; 0xffffffe8 + 17c: e50b301c str r3, [fp, #-28] ; 0xffffffe4 + 180: e51b3010 ldr r3, [fp, #-16] + 184: e1a03a23 lsr r3, r3, #20 + 188: e50b3010 str r3, [fp, #-16] + 18c: e51b3014 ldr r3, [fp, #-20] ; 0xffffffec + 190: e1a03a23 lsr r3, r3, #20 + 194: e50b3014 str r3, [fp, #-20] ; 0xffffffec + 198: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8 + 19c: e1a03a23 lsr r3, r3, #20 + 1a0: e50b3018 str r3, [fp, #-24] ; 0xffffffe8 + 1a4: e3a03000 mov r3, #0 + 1a8: e50b300c str r3, [fp, #-12] + 1ac: ea000029 b 258 <set_bootpgtbl+0xf4> + 1b0: e51b3014 ldr r3, [fp, #-20] ; 0xffffffec + 1b4: e1a03a03 lsl r3, r3, #20 + 1b8: e50b3008 str r3, [fp, #-8] + 1bc: e51b301c ldr r3, [fp, #-28] ; 0xffffffe4 + 1c0: e3530000 cmp r3, #0 + 1c4: 1a000004 bne 1dc <set_bootpgtbl+0x78> + 1c8: e51b3008 ldr r3, [fp, #-8] + 1cc: e3833b01 orr r3, r3, #1024 ; 0x400 + 1d0: e383300e orr r3, r3, #14 + 1d4: e50b3008 str r3, [fp, #-8] + 1d8: ea000003 b 1ec <set_bootpgtbl+0x88> + 1dc: e51b3008 ldr r3, [fp, #-8] + 1e0: e3833b01 orr r3, r3, #1024 ; 0x400 + 1e4: e3833002 orr r3, r3, #2 + 1e8: e50b3008 str r3, [fp, #-8] + 1ec: e51b3010 ldr r3, [fp, #-16] + 1f0: e35300ff cmp r3, #255 ; 0xff + 1f4: 8a000007 bhi 218 <set_bootpgtbl+0xb4> + 1f8: e59f3074 ldr r3, [pc, #116] ; 274 <set_bootpgtbl+0x110> + 1fc: e5932000 ldr r2, [r3] + 200: e51b3010 ldr r3, [fp, #-16] + 204: e1a03103 lsl r3, r3, #2 + 208: e0823003 add r3, r2, r3 + 20c: e51b2008 ldr r2, [fp, #-8] + 210: e5832000 str r2, [r3] + 214: ea000006 b 234 <set_bootpgtbl+0xd0> + 218: e59f3058 ldr r3, [pc, #88] ; 278 <set_bootpgtbl+0x114> + 21c: e5932000 ldr r2, [r3] + 220: e51b3010 ldr r3, [fp, #-16] + 224: e1a03103 lsl r3, r3, #2 + 228: e0823003 add r3, r2, r3 + 22c: e51b2008 ldr r2, [fp, #-8] + 230: e5832000 str r2, [r3] + 234: e51b3010 ldr r3, [fp, #-16] + 238: e2833001 add r3, r3, #1 + 23c: e50b3010 str r3, [fp, #-16] + 240: e51b3014 ldr r3, [fp, #-20] ; 0xffffffec + 244: e2833001 add r3, r3, #1 + 248: e50b3014 str r3, [fp, #-20] ; 0xffffffec + 24c: e51b300c ldr r3, [fp, #-12] + 250: e2833001 add r3, r3, #1 + 254: e50b300c str r3, [fp, #-12] + 258: e51b200c ldr r2, [fp, #-12] + 25c: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8 + 260: e1520003 cmp r2, r3 + 264: 3affffd1 bcc 1b0 <set_bootpgtbl+0x4c> + 268: e24bd000 sub sp, fp, #0 + 26c: e49db004 pop {fp} ; (ldr fp, [sp], #4) + 270: e12fff1e bx lr + ... + +0000027c <_flush_all>: + 27c: e52db004 push {fp} ; (str fp, [sp, #-4]!) + 280: e28db000 add fp, sp, #0 + 284: e24dd00c sub sp, sp, #12 + 288: e3a03000 mov r3, #0 + 28c: e50b3008 str r3, [fp, #-8] + 290: e51b3008 ldr r3, [fp, #-8] + 294: ee083f17 mcr 15, 0, r3, cr8, cr7, {0} + 298: e24bd000 sub sp, fp, #0 + 29c: e49db004 pop {fp} ; (ldr fp, [sp], #4) + 2a0: e12fff1e bx lr + +000002a4 <load_pgtlb>: + 2a4: e92d4800 push {fp, lr} + 2a8: e28db004 add fp, sp, #4 + 2ac: e24dd018 sub sp, sp, #24 + 2b0: e50b0018 str r0, [fp, #-24] ; 0xffffffe8 + 2b4: e50b101c str r1, [fp, #-28] ; 0xffffffe4 + 2b8: ee103f10 mrc 15, 0, r3, cr0, cr0, {0} + 2bc: e50b3008 str r3, [fp, #-8] + 2c0: e51b3008 ldr r3, [fp, #-8] + 2c4: e1a03823 lsr r3, r3, #16 + 2c8: e6ef3073 uxtb r3, r3 + 2cc: e203300f and r3, r3, #15 + 2d0: e54b3009 strb r3, [fp, #-9] + 2d4: e55b3009 ldrb r3, [fp, #-9] + 2d8: e3530007 cmp r3, #7 + 2dc: 0a000004 beq 2f4 <load_pgtlb+0x50> + 2e0: e55b3009 ldrb r3, [fp, #-9] + 2e4: e353000f cmp r3, #15 + 2e8: 0a000001 beq 2f4 <load_pgtlb+0x50> + 2ec: e59f0070 ldr r0, [pc, #112] ; 364 <load_pgtlb+0xc0> + 2f0: ebfffffe bl 38 <_puts> + 2f4: e59f306c ldr r3, [pc, #108] ; 368 <load_pgtlb+0xc4> + 2f8: e50b3010 str r3, [fp, #-16] + 2fc: e51b3010 ldr r3, [fp, #-16] + 300: ee033f10 mcr 15, 0, r3, cr3, cr0, {0} + 304: e3a03004 mov r3, #4 + 308: e50b3010 str r3, [fp, #-16] + 30c: e51b3010 ldr r3, [fp, #-16] + 310: ee023f50 mcr 15, 0, r3, cr2, cr0, {2} + 314: e59f3050 ldr r3, [pc, #80] ; 36c <load_pgtlb+0xc8> + 318: e5933000 ldr r3, [r3] + 31c: e50b3010 str r3, [fp, #-16] + 320: e51b3010 ldr r3, [fp, #-16] + 324: ee023f30 mcr 15, 0, r3, cr2, cr0, {1} + 328: e51b301c ldr r3, [fp, #-28] ; 0xffffffe4 + 32c: e50b3010 str r3, [fp, #-16] + 330: e51b3010 ldr r3, [fp, #-16] + 334: ee023f10 mcr 15, 0, r3, cr2, cr0, {0} + 338: ee113f10 mrc 15, 0, r3, cr1, cr0, {0} + 33c: e50b3010 str r3, [fp, #-16] + 340: e51b2010 ldr r2, [fp, #-16] + 344: e59f3024 ldr r3, [pc, #36] ; 370 <load_pgtlb+0xcc> + 348: e1823003 orr r3, r2, r3 + 34c: e50b3010 str r3, [fp, #-16] + 350: e51b3010 ldr r3, [fp, #-16] + 354: ee013f10 mcr 15, 0, r3, cr1, cr0, {0} + 358: ebffffc7 bl 27c <_flush_all> + 35c: e24bd004 sub sp, fp, #4 + 360: e8bd8800 pop {fp, pc} + 364: 00000014 .word 0x00000014 + 368: 55555555 .word 0x55555555 + 36c: 00000000 .word 0x00000000 + 370: 0080300d .word 0x0080300d + +00000374 <clear_bss>: + 374: e92d4800 push {fp, lr} + 378: e28db004 add fp, sp, #4 + 37c: e59f2018 ldr r2, [pc, #24] ; 39c <clear_bss+0x28> + 380: e59f3018 ldr r3, [pc, #24] ; 3a0 <clear_bss+0x2c> + 384: e0633002 rsb r3, r3, r2 + 388: e59f0010 ldr r0, [pc, #16] ; 3a0 <clear_bss+0x2c> + 38c: e3a01000 mov r1, #0 + 390: e1a02003 mov r2, r3 + 394: ebfffffe bl 0 <memset> + 398: e8bd8800 pop {fp, pc} + ... + +000003a4 <start>: + 3a4: e92d4800 push {fp, lr} + 3a8: e28db004 add fp, sp, #4 + 3ac: e24dd008 sub sp, sp, #8 + 3b0: e59f00a0 ldr r0, [pc, #160] ; 458 <start+0xb4> + 3b4: ebfffffe bl 38 <_puts> + 3b8: e3a00000 mov r0, #0 + 3bc: e3a01000 mov r1, #0 + 3c0: e3a02601 mov r2, #1048576 ; 0x100000 + 3c4: e3a03000 mov r3, #0 + 3c8: ebfffffe bl 164 <set_bootpgtbl> + 3cc: e3a00102 mov r0, #-2147483648 ; 0x80000000 + 3d0: e3a01000 mov r1, #0 + 3d4: e3a02601 mov r2, #1048576 ; 0x100000 + 3d8: e3a03000 mov r3, #0 + 3dc: ebfffffe bl 164 <set_bootpgtbl> + 3e0: e59f3074 ldr r3, [pc, #116] ; 45c <start+0xb8> + 3e4: e50b3008 str r3, [fp, #-8] + 3e8: e59f3070 ldr r3, [pc, #112] ; 460 <start+0xbc> + 3ec: e51b2008 ldr r2, [fp, #-8] + 3f0: e1520003 cmp r2, r3 + 3f4: 8a000001 bhi 400 <start+0x5c> + 3f8: e59f0064 ldr r0, [pc, #100] ; 464 <start+0xc0> + 3fc: ebfffffe bl 0 <cprintf> + 400: e59f0060 ldr r0, [pc, #96] ; 468 <start+0xc4> + 404: e3a01000 mov r1, #0 + 408: e3a02601 mov r2, #1048576 ; 0x100000 + 40c: e3a03000 mov r3, #0 + 410: ebfffffe bl 164 <set_bootpgtbl> + 414: e3a00209 mov r0, #-1879048192 ; 0x90000000 + 418: e3a01201 mov r1, #268435456 ; 0x10000000 + 41c: e3a02302 mov r2, #134217728 ; 0x8000000 + 420: e3a03001 mov r3, #1 + 424: ebfffffe bl 164 <set_bootpgtbl> + 428: e59f303c ldr r3, [pc, #60] ; 46c <start+0xc8> + 42c: e5932000 ldr r2, [r3] + 430: e59f3038 ldr r3, [pc, #56] ; 470 <start+0xcc> + 434: e5933000 ldr r3, [r3] + 438: e1a00002 mov r0, r2 + 43c: e1a01003 mov r1, r3 + 440: ebfffffe bl 2a4 <load_pgtlb> + 444: ebfffffe bl 0 <jump_stack> + 448: ebfffffe bl 374 <clear_bss> + 44c: ebfffffe bl 0 <kmain> + 450: e24bd004 sub sp, fp, #4 + 454: e8bd8800 pop {fp, pc} + 458: 0000002c .word 0x0000002c + 45c: 800f0000 .word 0x800f0000 + 460: 00000000 .word 0x00000000 + 464: 00000048 .word 0x00000048 + 468: ffff0000 .word 0xffff0000 + ...