📄 elf-reloc-8.s
字号:
.size __setup_str_root_data_setup, 11__setup_str_root_data_setup: .ascii "rootflags=\0" .section .init.setup .align 3 .type __setup_root_data_setup, @object .size __setup_root_data_setup, 16__setup_root_data_setup: .quad __setup_str_root_data_setup .quad root_data_setup .section .init.data .type __setup_str_fs_names_setup, @object .size __setup_str_fs_names_setup, 12__setup_str_fs_names_setup: .ascii "rootfstype=\0" .section .init.setup .align 3 .type __setup_fs_names_setup, @object .size __setup_fs_names_setup, 16__setup_fs_names_setup: .quad __setup_str_fs_names_setup .quad fs_names_setup .section .init.text .align 2 .align 4 .ent get_fs_namesget_fs_names: .frame $30,32,$26,0 .mask 0x4000600,-32 ldah $29,0($27) !gpdisp!53 lda $29,0($29) !gpdisp!53$get_fs_names..ng: ldah $1,root_fs_names($29) !gprelhigh lda $30,-32($30) ldq $17,root_fs_names($1) !gprellow stq $10,16($30) mov $16,$10 stq $26,0($30) stq $9,8($30) .prologue 1 beq $17,$L226 ldq $27,strcpy($29) !literal!58 jsr $26,($27),strcpy !lituse_jsr!58 ldah $29,0($26) !gpdisp!59 ldbu $1,0($10) lda $29,0($29) !gpdisp!59 lda $10,1($10) beq $1,$L232 .align 4$L231: ldbu $1,-1($10) cmpeq $1,44,$1 bne $1,$L245$L227: ldbu $1,0($10) lda $10,1($10) bne $1,$L231 .align 4$L232: stb $31,0($10) ldq $26,0($30) ldq $9,8($30) ldq $10,16($30) lda $30,32($30) ret $31,($26),1 .align 4$L245: stb $31,-1($10) br $31,$L227$L226: ldq $27,get_filesystem_list($29) !literal!56 jsr $26,($27),get_filesystem_list !lituse_jsr!56 ldah $29,0($26) !gpdisp!57 addq $10,$0,$0 lda $9,-1($10) lda $29,0($29) !gpdisp!57 stb $31,0($0) beq $9,$L232 .align 4$L241: ldq $27,strchr($29) !literal!54 lda $9,1($9) lda $17,10($31) mov $9,$16 jsr $26,($27),strchr !lituse_jsr!54 ldah $29,0($26) !gpdisp!55 ldbu $1,0($9) lda $29,0($29) !gpdisp!55 lda $9,1($9) cmpeq $1,9,$1 bne $1,$L238$L235: mov $0,$9 bne $0,$L241 br $31,$L232 .align 4$L238: ldbu $1,0($9) lda $9,1($9) cmpeq $1,10,$2 stb $1,0($10) lda $10,1($10) beq $2,$L238 stb $31,-1($10) br $31,$L235 .end get_fs_names .section .rodata.str1.1$LC7: .ascii "/root\0"$LC8: .ascii "VFS: Cannot open root device \"%s\" or %s\12\0"$LC9: .ascii "Please append a correct \"root=\" boot option\12\0"$LC10: .ascii "VFS: Unable to mount root fs on %s\0"$LC12: .ascii " readonly\0"$LC13: .ascii "\0"$LC11: .ascii "VFS: Mounted root (%s filesystem)%s.\12\0" .section .init.text .align 2 .align 4 .ent mount_block_rootmount_block_root: .frame $30,64,$26,0 .mask 0x400fe00,-64 ldah $29,0($27) !gpdisp!60 lda $29,0($29) !gpdisp!60$mount_block_root..ng: ldq $1,names_cachep($29) !literal lda $30,-64($30) ldq $27,kmem_cache_alloc($29) !literal!82 stq $12,32($30) stq $11,24($30) mov $16,$12 mov $17,$11 stq $26,0($30) stq $9,8($30) lda $17,464($31) ldq $16,0($1) stq $10,16($30) stq $13,40($30) stq $14,48($30) stq $15,56($30) .prologue 1 jsr $26,($27),kmem_cache_alloc !lituse_jsr!82 ldah $29,0($26) !gpdisp!83 lda $29,0($29) !gpdisp!83 mov $0,$16 mov $0,$10 bsr $26,get_fs_names !samegp$L247: ldbu $1,0($10) mov $10,$9 beq $1,$L267 ldah $1,$LC7($29) !gprelhigh ldah $13,root_mount_data($29) !gprelhigh ldq $15,ROOT_DEV($29) !literal lda $14,$LC7($1) !gprellow$L262: ldq $20,root_mount_data($13) !gprellow ldq $27,sys_mount($29) !literal!80 mov $9,$18 mov $12,$16 mov $14,$17 mov $11,$19 jsr $26,($27),sys_mount !lituse_jsr!80 ldah $29,0($26) !gpdisp!81 addl $31,$0,$0 lda $29,0($29) !gpdisp!81 mov $9,$16 lda $1,13($0) lda $2,22($0) beq $1,$L255 bgt $1,$L259 beq $2,$L250$L252: ldl $1,0($15) ldq $27,kdevname($29) !literal!78 bis $31,$1,$16 jsr $26,($27),kdevname !lituse_jsr!78 ldah $29,0($26) !gpdisp!79 lda $29,0($29) !gpdisp!79 mov $0,$18 ldq $27,printk($29) !literal!76 ldah $17,root_device_name($29) !gprelhigh ldah $16,$LC8($29) !gprelhigh lda $17,root_device_name($17) !gprellow lda $16,$LC8($16) !gprellow jsr $26,($27),printk !lituse_jsr!76 ldah $29,0($26) !gpdisp!77 lda $29,0($29) !gpdisp!77 ldq $27,printk($29) !literal!74 ldah $16,$LC9($29) !gprelhigh lda $16,$LC9($16) !gprellow jsr $26,($27),printk !lituse_jsr!74 ldah $29,0($26) !gpdisp!75 lda $29,0($29) !gpdisp!75 ldl $1,0($15) ldq $27,kdevname($29) !literal!72 bis $31,$1,$16 jsr $26,($27),kdevname !lituse_jsr!72 ldah $29,0($26) !gpdisp!73 lda $29,0($29) !gpdisp!73$L269: mov $0,$17 ldah $16,$LC10($29) !gprelhigh lda $16,$LC10($16) !gprellow ldq $27,panic($29) !literal!67 jsr $26,($27),panic !lituse_jsr!67 .align 4$L250: ldq $27,strlen($29) !literal!70 jsr $26,($27),strlen !lituse_jsr!70 ldah $29,0($26) !gpdisp!71 addq $9,$0,$0 lda $29,0($29) !gpdisp!71 ldbu $1,1($0) lda $9,1($0) bne $1,$L262$L267: ldq $1,ROOT_DEV($29) !literal ldq $27,kdevname($29) !literal!68 ldl $2,0($1) bis $31,$2,$16 jsr $26,($27),kdevname !lituse_jsr!68 ldah $29,0($26) !gpdisp!69 lda $29,0($29) !gpdisp!69 br $31,$L269$L259: bne $0,$L252$L254: ldq $1,names_cachep($29) !literal ldq $27,kmem_cache_free($29) !literal!65 mov $10,$17 ldq $16,0($1) jsr $26,($27),kmem_cache_free !lituse_jsr!65 ldah $29,0($26) !gpdisp!66 lda $29,0($29) !gpdisp!66 mov $14,$16 ldq $27,sys_chdir($29) !literal!63 jsr $26,($27),sys_chdir !lituse_jsr!63 ldah $29,0($26) !gpdisp!64 ldq $4,64($8) lda $29,0($29) !gpdisp!64 ldah $1,$LC12($29) !gprelhigh lda $18,$LC12($1) !gprellow ldq $2,1264($4) ldq $3,40($2) ldq $2,ROOT_DEV($29) !literal ldq $1,40($3) ldl $3,16($1) ldq $4,56($1) ldq $5,96($1) stl $3,0($2) ldq $17,0($4) blbs $5,$L265 ldah $1,$LC13($29) !gprelhigh lda $18,$LC13($1) !gprellow$L265: ldq $27,printk($29) !literal!61 ldah $16,$LC11($29) !gprelhigh lda $16,$LC11($16) !gprellow jsr $26,($27),printk !lituse_jsr!61 ldah $29,0($26) !gpdisp!62 ldq $26,0($30) ldq $9,8($30) lda $29,0($29) !gpdisp!62 ldq $10,16($30) ldq $11,24($30) ldq $12,32($30) ldq $13,40($30) ldq $14,48($30) ldq $15,56($30) lda $30,64($30) ret $31,($26),1$L255: bis $11,1,$11 br $31,$L247 .end mount_block_root .align 2 .align 4 .ent create_devcreate_dev: .frame $30,96,$26,0 .mask 0x4000600,-96 ldah $29,0($27) !gpdisp!84 lda $29,0($29) !gpdisp!84$create_dev..ng: ldq $27,sys_unlink($29) !literal!87 lda $30,-96($30) stq $9,8($30) stq $10,16($30) mov $16,$9 mov $17,$10 stq $26,0($30) .prologue 1 jsr $26,($27),sys_unlink !lituse_jsr!87 ldah $29,0($26) !gpdisp!88 lda $29,0($29) !gpdisp!88 lda $0,-1($31) mov $9,$16 mov $10,$18 ldl $1,do_devfs($29) !gprel lda $17,24960($31) beq $1,$L280$L270: ldq $26,0($30) ldq $9,8($30) ldq $10,16($30) lda $30,96($30) ret $31,($26),1 .align 4$L280: ldq $27,sys_mknod($29) !literal!85 jsr $26,($27),sys_mknod !lituse_jsr!85 ldah $29,0($26) !gpdisp!86 lda $29,0($29) !gpdisp!86 addl $31,$0,$0 br $31,$L270 .end create_dev .align 2 .align 4 .ent rd_load_image$rd_load_image..ng:rd_load_image: .frame $30,0,$26,0 .prologue 0 mov $31,$0 ret $31,($26),1 .end rd_load_image .section .rodata.str1.1$LC14: .ascii "/dev/root\0" .section .init.text .align 2 .align 4 .ent rd_load_diskrd_load_disk: .frame $30,0,$26,0 ldah $29,0($27) !gpdisp!89 lda $29,0($29) !gpdisp!89$rd_load_disk..ng: .prologue 1 ldah $16,$LC14($29) !gprelhigh lda $16,$LC14($16) !gprellow br $31,rd_load_image !samegp .end rd_load_disk .align 2 .align 4 .ent mount_rootmount_root: .frame $30,16,$26,0 .mask 0x4000200,-16 ldah $29,0($27) !gpdisp!90 lda $29,0($29) !gpdisp!90$mount_root..ng: ldq $1,ROOT_DEV($29) !literal lda $30,-16($30) ldah $18,root_device_name($29) !gprelhigh stq $9,8($30) lda $18,root_device_name($18) !gprellow stq $26,0($30) .prologue 1 ldah $9,$LC14($29) !gprelhigh lda $9,$LC14($9) !gprellow ldl $17,0($1) mov $9,$16 bsr $26,create_dev !samegp ldq $26,0($30) mov $9,$16 ldl $17,root_mountflags($29) !gprel ldq $9,8($30) lda $30,16($30) br $31,mount_block_root !samegp .end mount_root .align 2 .align 4 .ent handle_initrd$handle_initrd..ng:handle_initrd: .frame $30,0,$26,0 .prologue 0 ret $31,($26),1 .end handle_initrd .section .rodata.str1.1$LC15: .ascii "/dev/initrd\0" .section .init.text .align 2 .align 4 .ent initrd_loadinitrd_load: .frame $30,0,$26,0 ldah $29,0($27) !gpdisp!91 lda $29,0($29) !gpdisp!91$initrd_load..ng: .prologue 1 ldah $16,$LC15($29) !gprelhigh lda $16,$LC15($16) !gprellow br $31,rd_load_image !samegp .end initrd_load .section .rodata.str1.1$LC16: .ascii "/dev\0"$LC17: .ascii ".\0"$LC18: .ascii "/\0" .text .align 2 .align 4 .globl prepare_namespace .ent prepare_namespaceprepare_namespace: .frame $30,32,$26,0 .mask 0x4000e00,-32 ldah $29,0($27) !gpdisp!92 lda $29,0($29) !gpdisp!92$prepare_namespace..ng: lda $30,-32($30) stq $10,16($30) stq $9,8($30) ldah $9,saved_root_name($29) !gprelhigh ldq $10,ROOT_DEV($29) !literal stq $11,24($30) stq $26,0($30) .prologue 1 ldbu $2,saved_root_name($9) !gprellow ldl $1,0($10) zapnot $1,15,$1 srl $1,8,$1 cmpeq $1,2,$11 bne $2,$L296$L287: ldl $17,0($10) ldah $16,$LC14($29) !gprelhigh mov $31,$18 lda $16,$LC14($16) !gprellow bsr $26,create_dev !samegp ldah $1,mount_initrd($29) !gprelhigh ldl $2,mount_initrd($1) !gprellow beq $2,$L290 bsr $26,initrd_load !samegp beq $0,$L293 ldl $1,0($10) lda $1,-256($1) bne $1,$L297 .align 4$L293: bsr $26,mount_root !samegp$L292: ldq $27,sys_umount($29) !literal!98 ldah $16,$LC16($29) !gprelhigh mov $31,$17 lda $16,$LC16($16) !gprellow jsr $26,($27),sys_umount !lituse_jsr!98 ldah $29,0($26) !gpdisp!99 lda $29,0($29) !gpdisp!99 mov $31,$18 lda $19,8192($31) mov $31,$20 ldah $9,$LC17($29) !gprelhigh ldq $27,sys_mount($29) !literal!96 ldah $17,$LC18($29) !gprelhigh lda $9,$LC17($9) !gprellow lda $17,$LC18($17) !gprellow mov $9,$16 jsr $26,($27),sys_mount !lituse_jsr!96 ldah $29,0($26) !gpdisp!97 lda $29,0($29) !gpdisp!97 mov $9,$16 ldq $27,sys_chroot($29) !literal!94 jsr $26,($27),sys_chroot !lituse_jsr!94 ldah $29,0($26) !gpdisp!95 lda $29,0($29) !gpdisp!95 ldq $1,security_ops($29) !literal ldq $2,0($1) ldq $27,184($2) jsr $26,($27),0 ldah $29,0($26) !gpdisp!93 ldq $26,0($30) ldq $9,8($30) lda $29,0($29) !gpdisp!93 ldq $10,16($30) ldq $11,24($30) lda $30,32($30) ret $31,($26),1$L297: bsr $26,handle_initrd !samegp br $31,$L292 .align 4$L290: beq $11,$L293 ldah $1,rd_doload($29) !gprelhigh ldl $2,rd_doload($1) !gprellow beq $2,$L293 mov $31,$16 bsr $26,rd_load_disk !samegp beq $0,$L293 lda $1,256($31) stl $1,0($10) br $31,$L293 .align 4$L296: lda $9,saved_root_name($9) !gprellow mov $9,$16 bsr $26,name_to_dev_t !samegp mov $9,$16 ldq $27,memcmp($29) !literal!102 ldah $17,$LC5($29) !gprelhigh stl $0,0($10) lda $18,5($31) lda $17,$LC5($17) !gprellow jsr $26,($27),memcmp !lituse_jsr!102 ldah $29,0($26) !gpdisp!103 lda $29,0($29) !gpdisp!103 lda $1,5($9) cmoveq $0,$1,$9 ldq $27,strcpy($29) !literal!100 ldah $16,root_device_name($29) !gprelhigh lda $16,root_device_name($16) !gprellow mov $9,$17 jsr $26,($27),strcpy !lituse_jsr!100 ldah $29,0($26) !gpdisp!101 lda $29,0($29) !gpdisp!101 br $31,$L287 .end prepare_namespace .comm ROOT_DEV,4,4 .globl rd_doload .section .init.data .align 2 .type rd_doload, @object .size rd_doload, 4rd_doload: .zero 4 .section .bss .type root_device_name, @object .size root_device_name, 64root_device_name: .zero 64 .type saved_root_name, @object .size saved_root_name, 64saved_root_name: .zero 64 .section .init.data .align 3 .type root_mount_data, @object .size root_mount_data, 8root_mount_data: .zero 8 .align 3 .type root_fs_names, @object .size root_fs_names, 8root_fs_names: .zero 8 .ident "GCC: (GNU) 3.3 20021103 (experimental)"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -