查看Dump the MIPS TLB refill handler的源代码
←
Dump the MIPS TLB refill handler
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 进入系统后 dump == 先确定你的 refill exception 的入口: MIPS32/64R1 的入口都在物理地址 0x0 处 MIPS32/64R2 则要注意 cp0_ebase 寄存器对所有异常基地址的设置 cavium cn3/58xx 实现 MIPS64R2,要留意。 raza xlr732 实现 MIPS64R1,因此直接读 /dev/mem 偏移 0x0 处: <source lang=bash> root@rmi_atx_2-1:/root> xxd -l 0x100 -g 4 /dev/mem 0000000: 07130025 3c1bc000 035bd02f 3c1b8397 ...%<....[./<... 0000010: 10000023 277b8000 001bd83c 035bd02f ...#'{.....<.[./ 0000020: 3c1b8397 1000001e 277be000 00000000 <.......'{...... 0000030: 00000000 00000000 00000000 00000000 ................ 0000040: 00000000 00000000 00000000 00000000 ................ 0000050: 00000000 00000000 00000000 00000000 ................ 0000060: 00000000 00000000 00000000 00000000 ................ 0000070: 00000000 00000000 00000000 00000000 ................ 0000080: 403a4000 0740001a 403b2000 001bddfa @:@..@..@; ..... 0000090: 3c1a8397 037ad82d 403a4000 df7b0000 <....z.-@:@..{.. 00000a0: 001ad6fa 335a1ff8 037ad82d 403a4000 ....3Z...z.-@:@. 00000b0: df7b0000 001ad4ba 335a0ff8 037ad82d .{......3Z...z.- 00000c0: 403aa000 df7b0000 335a0ff0 037ad82d @:...{..3Z...z.- 00000d0: df7a0000 df7b0008 001ad1ba 409a1000 .z...{......@... 00000e0: 001bd9ba 409b1800 42000006 42000018 ....@...B...B... 00000f0: 001ad8b8 1000ffc2 00000000 00000000 ................ </source> 然后用两条 vim replace 指令处理下: <pre> :%s/\(.*:\ \)\([0-9a-f\ ]*\).*/\2/g :%s/\([0-9a-f]\{8\}\ \)/".word\ 0x\1\\n\\t"\r/g </pre> 就可以得到如下: <pre> ".word 0x07610005 \n\t" ".word 0x3c1bc000 \n\t" ".word 0x035bd02f \n\t" ".word 0x3c1b8397 \n\t" ".word 0x10000023 \n\t" ".word 0x277b8000 \n\t" ".word 0x001bd83c \n\t" ".word 0x035bd02f \n\t" ".word 0x3c1b8397 \n\t" ".word 0x1000001e \n\t" ".word 0x277be000 \n\t" ".word 0x00000000 \n\t" ".word 0x00000000 \n\t" ".word 0x00000000 \n\t" ".word 0x00000000 \n\t" ".word 0x00000000 \n\t" ".word 0x00000000 \n\t" ".word 0x00000000 \n\t" ".word 0x00000000 \n\t" ".word 0x00000000 \n\t" ...... </pre> 包在 <source lang=c> int main() { asm ( <<here>> ); } </source> 里,用交叉编译工具编译后,再 objdump: <source lang=bash> mips-wrs-linux-gnu-mips64_xlr-glibc_small--gcc -c abc.c -o abc.o mips-wrs-linux-gnu-mips64_xlr-glibc_small--objdump -d abc.o > abc.s </source> 即得 <br><br><br><br> <br><br><br><br> <br><br><br><br> <br><br><br><br>
返回到
Dump the MIPS TLB refill handler
。
个人工具
3.137.143.219
该IP地址的讨论
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面