<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.jackslab.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-cn">
		<id>http://wiki.jackslab.org/index.php?action=history&amp;feed=atom&amp;title=%E6%8D%89%E8%99%AB%E6%97%A5%E8%AE%B0_0011%3A_insmod_failed_on_RMI_XLR_%281%29</id>
		<title>捉虫日记 0011: insmod failed on RMI XLR (1) - 版本历史</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.jackslab.org/index.php?action=history&amp;feed=atom&amp;title=%E6%8D%89%E8%99%AB%E6%97%A5%E8%AE%B0_0011%3A_insmod_failed_on_RMI_XLR_%281%29"/>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E6%8D%89%E8%99%AB%E6%97%A5%E8%AE%B0_0011:_insmod_failed_on_RMI_XLR_(1)&amp;action=history"/>
		<updated>2026-05-21T09:32:23Z</updated>
		<subtitle>本wiki的该页面的版本历史</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://wiki.jackslab.org/index.php?title=%E6%8D%89%E8%99%AB%E6%97%A5%E8%AE%B0_0011:_insmod_failed_on_RMI_XLR_(1)&amp;diff=18572&amp;oldid=prev</id>
		<title>2025年12月4日 (四) 03:37 Comcat</title>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E6%8D%89%E8%99%AB%E6%97%A5%E8%AE%B0_0011:_insmod_failed_on_RMI_XLR_(1)&amp;diff=18572&amp;oldid=prev"/>
				<updated>2025-12-04T03:37:22Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一版本&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;2025年12月4日 (四) 03:37的版本&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第533行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第533行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;== Reference ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [[GNU/Linux 内核移植捉虫笔记 (Linux Kernel Debug Notes)]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Comcat</name></author>	</entry>

	<entry>
		<id>http://wiki.jackslab.org/index.php?title=%E6%8D%89%E8%99%AB%E6%97%A5%E8%AE%B0_0011:_insmod_failed_on_RMI_XLR_(1)&amp;diff=2305&amp;oldid=prev</id>
		<title>2014年5月19日 (一) 09:16 Comcat</title>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E6%8D%89%E8%99%AB%E6%97%A5%E8%AE%B0_0011:_insmod_failed_on_RMI_XLR_(1)&amp;diff=2305&amp;oldid=prev"/>
				<updated>2014-05-19T09:16:25Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一版本&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;2014年5月19日 (一) 09:16的版本&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1. &lt;/del&gt;Phenomenon&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;== &lt;/ins&gt;Phenomenon &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;环境：&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;环境：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160;  &lt;/del&gt;RMI XLR732 (8 core, 32 threads)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160;  &lt;/del&gt;Linux 2.6.27.14&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* &lt;/ins&gt;RMI XLR732 (8 core, 32 threads)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* &lt;/ins&gt;Linux 2.6.27.14&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;产品内核版本从 2.6.27.8 升级到 2.6.27.14 后，启动到 udev modprobe modules 时，出现如下信息：&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;产品内核版本从 2.6.27.8 升级到 2.6.27.14 后，启动到 udev modprobe modules 时，出现如下信息：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;......&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;......&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;VFS: Mounted root (nfs filesystem).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;VFS: Mounted root (nfs filesystem).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第72行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第76行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Mounting other filesystems: [ OK ]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Mounting other filesystems: [ OK ]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Starting sshd:&amp;#160; &amp;#160; &amp;#160;  &amp;lt;------------- kernel hung up here&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Starting sshd:&amp;#160; &amp;#160; &amp;#160;  &amp;lt;------------- kernel hung up here&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;此为必现，每次 dump 出的信息几乎一样。&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;此为必现，每次 dump 出的信息几乎一样。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第77行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第83行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;若移去 rootfs 中的 modules，则可进入 rootfs，在进入系统后，insmod 则：&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;若移去 rootfs 中的 modules，则可进入 rootfs，在进入系统后，insmod 则：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; insmod ./hwtimer_test.ko&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; insmod ./hwtimer_test.ko&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;CPU 29 Unable to handle kernel paging request at virtual address 0000000000000000, epc == ffffffff800000c4, ra == ffffffff80000008&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;CPU 29 Unable to handle kernel paging request at virtual address 0000000000000000, epc == ffffffff800000c4, ra == ffffffff80000008&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第125行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第132行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; ls&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; ls&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;abc hd.tst hwtimer_test.ko microperl n.out t.pl&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;abc hd.tst hwtimer_test.ko microperl n.out t.pl&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2. &lt;/del&gt;Analysis&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;== &lt;/ins&gt;Analysis &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;From the dumped context, we can get the information:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;From the dumped context, we can get the information:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; Cause: 00808008&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  ----&amp;gt; TLB load exception&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; Cause: 00808008&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  ----&amp;gt; TLB load exception&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; BadVA: 0000000000000000&amp;#160; &amp;#160;  ----&amp;gt; access 0x0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; BadVA: 0000000000000000&amp;#160; &amp;#160;  ----&amp;gt; access 0x0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; epc: ffffffff800000d0&amp;#160; &amp;#160; &amp;#160;  ----&amp;gt; in TLB refill handler&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; epc: ffffffff800000d0&amp;#160; &amp;#160; &amp;#160;  ----&amp;gt; in TLB refill handler&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Decode the dumped Code (df7b0000 335a0ff0 037ad82d &amp;lt;df7a0000&amp;gt; ...) the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Decode the dumped Code (df7b0000 335a0ff0 037ad82d &amp;lt;df7a0000&amp;gt; ...) the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;related instruction is:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;related instruction is:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  c:&amp;#160;  df7b0000&amp;#160; &amp;#160; ld k1,0(k1)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  c:&amp;#160;  df7b0000&amp;#160; &amp;#160; ld k1,0(k1)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;10:&amp;#160;  335a0ff0&amp;#160; &amp;#160; andi&amp;#160; &amp;#160; k0,k0,0xff0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;10:&amp;#160;  335a0ff0&amp;#160; &amp;#160; andi&amp;#160; &amp;#160; k0,k0,0xff0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第147行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第159行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;28:&amp;#160;  001bd9ba&amp;#160; &amp;#160; dsrl&amp;#160; &amp;#160; k1,k1,0x6&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;28:&amp;#160;  001bd9ba&amp;#160; &amp;#160; dsrl&amp;#160; &amp;#160; k1,k1,0x6&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2c:&amp;#160;  409b1800&amp;#160; &amp;#160; mtc0&amp;#160; &amp;#160; k1,c0_entrylo1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2c:&amp;#160;  409b1800&amp;#160; &amp;#160; mtc0&amp;#160; &amp;#160; k1,c0_entrylo1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Obviously it's the last part of TLB refill handler.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Obviously it's the last part of TLB refill handler.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第163行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第176行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;I have tried following upstream git tree:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;I have tried following upstream git tree:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; kernel.org 2.6.27.14&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; kernel.org 2.6.27.14&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; kernel.org 2.6.27.11&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; kernel.org 2.6.27.11&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第172行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第186行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; linux-mips 2.6.27.14&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; linux-mips 2.6.27.14&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; linux-mips 2.6.27.8&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; linux-mips 2.6.27.8&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;All are failed. It's cool!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;All are failed. It's cool!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第181行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第196行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Try the tester's wrlinux version, the same phenomenon:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Try the tester's wrlinux version, the same phenomenon:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; uname -a&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; uname -a&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Linux localhost 2.6.27.12-WR3.0zz_standard #1 SMP PREEMPT Mon Feb 9 14:16:26 CST 2009 mips64 mips64 mips64 GNU/Linux&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Linux localhost 2.6.27.12-WR3.0zz_standard #1 SMP PREEMPT Mon Feb 9 14:16:26 CST 2009 mips64 mips64 mips64 GNU/Linux&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第229行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第245行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Code: df7b0000 335a0ff0 037ad82d &amp;lt;df7a0000&amp;gt; df7b0008 001ad1ba 409a1000 001bd9ba 409b1800&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Code: df7b0000 335a0ff0 037ad82d &amp;lt;df7a0000&amp;gt; df7b0008 001ad1ba 409a1000 001bd9ba 409b1800&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Segmentation fault&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Segmentation fault&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2009.2.9 12:40&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2009.2.9 12:40&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第260行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第277行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;添加了一个系统调用 sys_comcat &amp;gt;^..^&amp;lt;，在其内直接访问 0x0 地址，用一个用户态的小程序，触发了 sys_comcat， 打算模拟问题发生的上下文。内核行为如下：&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;添加了一个系统调用 sys_comcat &amp;gt;^..^&amp;lt;，在其内直接访问 0x0 地址，用一个用户态的小程序，触发了 sys_comcat， 打算模拟问题发生的上下文。内核行为如下：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; uname -a&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; uname -a&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Linux localhost 2.6.27.15-WR3.0zz_standard-dirty #7 SMP PREEMPT Tue Feb 10 13:53:31 CST 2009 mips64 mips64 mips64 GNU/Linux&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Linux localhost 2.6.27.15-WR3.0zz_standard-dirty #7 SMP PREEMPT Tue Feb 10 13:53:31 CST 2009 mips64 mips64 mips64 GNU/Linux&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第297行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第315行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; ...&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; ...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Call Trace:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Call Trace:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Code: (Bad address in epc)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Code: (Bad address in epc)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Segmentation fault&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Segmentation fault&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;可以看到，没什么大的收获；&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;可以看到，没什么大的收获；&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第315行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第334行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;晚上出去乱晃了下，金汤玉线，看悠闲匆忙的各色人等，稍感轻松。回来冷静了下，把问题板上的 TLB refill handler dump 出来，好好分析了一下：&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;晚上出去乱晃了下，金汤玉线，看悠闲匆忙的各色人等，稍感轻松。回来冷静了下，把问题板上的 TLB refill handler dump 出来，好好分析了一下：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;dtlb.o:&amp;#160; &amp;#160;  file format elf64-tradbigmips&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;dtlb.o:&amp;#160; &amp;#160;  file format elf64-tradbigmips&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第400行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第420行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;118:&amp;#160; &amp;#160; 03e00008&amp;#160; &amp;#160;  jr&amp;#160; &amp;#160; ra&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;118:&amp;#160; &amp;#160; 03e00008&amp;#160; &amp;#160;  jr&amp;#160; &amp;#160; ra&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;11c:&amp;#160; &amp;#160; 67bd0010&amp;#160; &amp;#160;  daddiu&amp;#160; &amp;#160; sp,sp,16&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;11c:&amp;#160; &amp;#160; 67bd0010&amp;#160; &amp;#160;  daddiu&amp;#160; &amp;#160; sp,sp,16&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第412行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第433行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;把昨晚遗留的不清晰的分析，又仔细看了下，可以确认现内核里 mips64 之 TLB refill handler 会根据 VA 确定使用的 PGD 入口：&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;把昨晚遗留的不清晰的分析，又仔细看了下，可以确认现内核里 mips64 之 TLB refill handler 会根据 VA 确定使用的 PGD 入口：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xe0000000 00000000 ~ 0xffffffff ffffffff -----&amp;gt; 用 module_pg_dir&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xe0000000 00000000 ~ 0xffffffff ffffffff -----&amp;gt; 用 module_pg_dir&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xc0000000 00000000 ~ 0xdfffffff ffffffff -----&amp;gt; 用 swapper_pg_current&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xc0000000 00000000 ~ 0xdfffffff ffffffff -----&amp;gt; 用 swapper_pg_current&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x00000000 00000000 ~ 0x7fffffff ffffffff -----&amp;gt; 用 pgd_current&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x00000000 00000000 ~ 0x7fffffff ffffffff -----&amp;gt; 用 pgd_current&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;显然设计时，内核用 0xc0000000 00000000 作 vmalloc 的始地址&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;显然设计时，内核用 0xc0000000 00000000 作 vmalloc 的始地址&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第425行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第448行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;比较了前天夜里临时用于 workaound 的 TLB refill handler，发现其中没有用 module_pg_dir：&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;比较了前天夜里临时用于 workaound 的 TLB refill handler，发现其中没有用 module_pg_dir：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x00000000 00000000 ~ 0x7fffffff ffffffff -----&amp;gt; 用 pgd_current&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0x00000000 00000000 ~ 0x7fffffff ffffffff -----&amp;gt; 用 pgd_current&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xc0000000 00000000 （xkphys 因是固定映射，忽略之）往上的虚拟地址一律用 swapper_pg_current&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;0xc0000000 00000000 （xkphys 因是固定映射，忽略之）往上的虚拟地址一律用 swapper_pg_current&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2009.2.11 15:40&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2009.2.11 15:40&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第447行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第472行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;可以详细确认是一个 PCI IDE Card 驱动引起的问题 (PDC202xx_new):&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;可以详细确认是一个 PCI IDE Card 驱动引起的问题 (PDC202xx_new):&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; insmod ./nls_cp437.ko&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; insmod ./nls_cp437.ko&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; ls&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;root@localhost:/root&amp;gt; ls&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第495行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第521行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Module&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; Size Used by&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Module&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; Size Used by&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&amp;lt;hung here&amp;gt;&amp;gt; ----&amp;gt; kernel can not respones sysrq interrupt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&amp;lt;hung here&amp;gt;&amp;gt; ----&amp;gt; kernel can not respones sysrq interrupt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2009.02.11 00:55&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2009.02.11 00:55&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第504行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第531行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2009.02.12 22:21&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;2009.02.12 22:21&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;--------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;--------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Comcat</name></author>	</entry>

	<entry>
		<id>http://wiki.jackslab.org/index.php?title=%E6%8D%89%E8%99%AB%E6%97%A5%E8%AE%B0_0011:_insmod_failed_on_RMI_XLR_(1)&amp;diff=2304&amp;oldid=prev</id>
		<title>Comcat：以“1. Phenomenon  环境：      RMI XLR732 (8 core, 32 threads)      Linux 2.6.27.14  产品内核版本从 2.6.27.8 升级到 2.6.27.14 后，启动到 udev modprobe ...”为内容创建页面</title>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E6%8D%89%E8%99%AB%E6%97%A5%E8%AE%B0_0011:_insmod_failed_on_RMI_XLR_(1)&amp;diff=2304&amp;oldid=prev"/>
				<updated>2014-05-19T09:12:30Z</updated>
		
		<summary type="html">&lt;p&gt;以“1. Phenomenon  环境：      RMI XLR732 (8 core, 32 threads)      Linux 2.6.27.14  产品内核版本从 2.6.27.8 升级到 2.6.27.14 后，启动到 udev modprobe ...”为内容创建页面&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;1. Phenomenon&lt;br /&gt;
&lt;br /&gt;
环境：&lt;br /&gt;
     RMI XLR732 (8 core, 32 threads)&lt;br /&gt;
     Linux 2.6.27.14&lt;br /&gt;
&lt;br /&gt;
产品内核版本从 2.6.27.8 升级到 2.6.27.14 后，启动到 udev modprobe modules 时，出现如下信息：&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
VFS: Mounted root (nfs filesystem).&lt;br /&gt;
Freeing unused kernel memory: 216k freed&lt;br /&gt;
INIT: version 2.86 booting&lt;br /&gt;
        Welcome to Wind River Linux&lt;br /&gt;
Starting udev: [ OK ]&lt;br /&gt;
Setting hostname localhost: [ OK ]&lt;br /&gt;
Checking filesystems&lt;br /&gt;
Checking all file systems.&lt;br /&gt;
[ OK ]&lt;br /&gt;
Mounting local filesystems: [ OK ]&lt;br /&gt;
Enabling /etc/fstab swaps: [ OK ]&lt;br /&gt;
CPU 0 Unable to handle kernel paging request at virtual address 0000000000000000, epc == ffffffff800000d0, ra == ffffffff80000008&lt;br /&gt;
Oops[#1]:&lt;br /&gt;
Cpu 0&lt;br /&gt;
$ 0   : 0000000000000000 000000002aab0748 0000000000000000 ffffff0000000000&lt;br /&gt;
$ 4   : c000000000000000 000000002aaaa000 0000000000011d88 ffffffffffffffbf&lt;br /&gt;
$ 8   : 7f454c4602020100 0000000000000000 0001000800000001 0000000000000000&lt;br /&gt;
$12   : 0000000000000000 ffffffff834056fc ffffffff83485048 0000000000002af8&lt;br /&gt;
$16   : 000000002aaaa000 0000000000006748 000000002aaaa000 0000000000417148&lt;br /&gt;
$20   : c000000000000000 0000000000417100 0000000000417330 000000002aaaa000&lt;br /&gt;
$24   : 0000000000000008 ffffffff835e2710                                 &lt;br /&gt;
$28   : a800000126710000 a800000126713d20 000000000041733c ffffffff80000008&lt;br /&gt;
Hi    : 0000000000000007&lt;br /&gt;
Lo    : 0000000000000001&lt;br /&gt;
epc   : ffffffff800000d0 0xffffffff800000d0&lt;br /&gt;
    Not tainted&lt;br /&gt;
ra    : ffffffff80000008 0xffffffff80000008&lt;br /&gt;
Status: 10005ce3    KX SX UX KERNEL EXL IE&lt;br /&gt;
Cause : 00808008&lt;br /&gt;
BadVA : 0000000000000000&lt;br /&gt;
PrId : 000c0b04 (RMI Phoenix)&lt;br /&gt;
Modules linked in:&lt;br /&gt;
Process modprobe (pid: 1573, threadinfo=a800000126710000, task=a8000001266aafe8, tls=000000002aaafec0)&lt;br /&gt;
Stack : a800000126716710 a8000001265e2438 a8000001265e23f0 a8000001265e2dc8&lt;br /&gt;
        a8000001265e3150 a8000001265e3140 a8000001265587c0 0000000000007000&lt;br /&gt;
        a8000001265e2dc8 ffffffff834b25e8 0000000000007000 ffffffff8340fb68&lt;br /&gt;
        a8000001276686c0 ffffffff834bdcec a800000127668598 a8000001265e3140&lt;br /&gt;
        000000002aaaa000 a8000001265e3150 a8000001265e23f0 0000000008100073&lt;br /&gt;
        a8000001265587c0 ffffffff834bfb3c 0000000000000000 0000000000000003&lt;br /&gt;
        0000000000000000 ffffffff8340ff98 a800000127668598 000000002aaaa000&lt;br /&gt;
        a800000126725380 ffffffff836169e8 0000000010005ce1 a800000126558824&lt;br /&gt;
        000000002aaaa000 a800000126725380 0000000000006748 0000000000417148&lt;br /&gt;
        000000002aaaa000 ffffffff838c0000 0000000000000000 0000000000417100&lt;br /&gt;
        ...&lt;br /&gt;
Call Trace:&lt;br /&gt;
[&amp;lt;ffffffff834b25e8&amp;gt;] vma_prio_tree_insert+0x28/0x60&lt;br /&gt;
[&amp;lt;ffffffff8340fb68&amp;gt;] _spin_unlock+0x18/0x38&lt;br /&gt;
[&amp;lt;ffffffff834bdcec&amp;gt;] vma_link+0x13c/0x218&lt;br /&gt;
[&amp;lt;ffffffff834bfb3c&amp;gt;] mmap_region+0x67c/0x728&lt;br /&gt;
[&amp;lt;ffffffff8340ff98&amp;gt;] _spin_lock_irqsave+0x20/0xf8&lt;br /&gt;
[&amp;lt;ffffffff836169e8&amp;gt;] __up_write+0x40/0x2c8&lt;br /&gt;
[&amp;lt;ffffffff834850bc&amp;gt;] sys_init_module+0x74/0x1b0&lt;br /&gt;
[&amp;lt;ffffffff8340394c&amp;gt;] handle_sys+0x16c/0x188&lt;br /&gt;
[&amp;lt;ffffffff834056f4&amp;gt;] __bzero+0x90/0x11c&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Code: df7b0000 335a0ff0 037ad82d &amp;lt;df7a0000&amp;gt; df7b0008 001ad1ba 409a1000 001bd9ba 409b1800&lt;br /&gt;
INIT: Entering runlevel: 3&lt;br /&gt;
Entering non-interactive startup&lt;br /&gt;
Starting system logger: [ OK ]&lt;br /&gt;
Starting kernel logger: [ OK ]&lt;br /&gt;
Starting portmap: [ OK ]&lt;br /&gt;
Mounting other filesystems: [ OK ]&lt;br /&gt;
Starting sshd:       &amp;lt;------------- kernel hung up here&lt;br /&gt;
&lt;br /&gt;
此为必现，每次 dump 出的信息几乎一样。&lt;br /&gt;
&lt;br /&gt;
若移去 rootfs 中的 modules，则可进入 rootfs，在进入系统后，insmod 则：&lt;br /&gt;
&lt;br /&gt;
root@localhost:/root&amp;gt; insmod ./hwtimer_test.ko&lt;br /&gt;
CPU 29 Unable to handle kernel paging request at virtual address 0000000000000000, epc == ffffffff800000c4, ra == ffffffff80000008&lt;br /&gt;
Oops[#1]:&lt;br /&gt;
Cpu 29&lt;br /&gt;
$ 0   : 0000000000000000 00000000004b5c0c 0000000000000000 ffffff0000000000&lt;br /&gt;
$ 4   : c000000000000000 000000000049cf58 0000000000024c74 ffffffffffffffbf&lt;br /&gt;
$ 8   : 7f454c4602020100 0000000000000000 0001000800000001 0000000000000000&lt;br /&gt;
$12   : 0000000000000000 ffffffff834056fc ffffffff83485048 000000000000c808&lt;br /&gt;
$16   : 000000000049cf58 0000000000018cb4 000000000049cf58 000000000049cf48&lt;br /&gt;
$20   : c000000000000000 0000000000000003 000000000040e284 000000000040b6fc&lt;br /&gt;
$24   : 0000000000000034 ffffffff835e2818&lt;br /&gt;
$28   : a800000123e6c000 a800000123e6fd20 0000000000000000 ffffffff80000008&lt;br /&gt;
Hi    : 0000000000000007&lt;br /&gt;
Lo    : 0000000000000001&lt;br /&gt;
epc   : ffffffff800000c4 0xffffffff800000c4&lt;br /&gt;
    Not tainted&lt;br /&gt;
ra    : ffffffff80000008 0xffffffff80000008&lt;br /&gt;
Status: 1000dce3    KX SX UX KERNEL EXL IE&lt;br /&gt;
Cause : 00800008&lt;br /&gt;
BadVA : 0000000000000000&lt;br /&gt;
PrId : 000c0b04 (RMI Phoenix)&lt;br /&gt;
Modules linked in:&lt;br /&gt;
Process insmod (pid: 2052, threadinfo=a800000123e6c000, task=a8000001252fafe8, tls=00000000004a3470)&lt;br /&gt;
Stack : 0000000000000000 00000001ffffffff a800000125f59d40 0000000000000000&lt;br /&gt;
        0000000000000000 0000000000000000 000001a8000001a7 000001a8000001a8&lt;br /&gt;
        a800000125c8eb48 ffffffff838f4720 a800000125c8ea80 ffffffff834100e8&lt;br /&gt;
        a80000012666a540 a800000127428960 ffffffff83961240 ffffffff8360fe38&lt;br /&gt;
        a800000125c8ea80 ffffffff834100e8 a800000127428960 ffffffff8340fb68&lt;br /&gt;
        000001a7000001a6 000001a7000001a7 a800000125c8eb48 ffffffff838f4720&lt;br /&gt;
        a800000125c8ea80 ffffffff834fee74 a800000125f59d40 0000000000000000&lt;br /&gt;
        a800000125301680 0000000000000003 a800000125301680 0000000000000018&lt;br /&gt;
        a8000001253016e0 a800000125f59d40 0000000000018cb4 000000000049cf48&lt;br /&gt;
        000000000049cf58 ffffffff838c0000 000000007f94df11 0000000000000003&lt;br /&gt;
        ...&lt;br /&gt;
Call Trace:&lt;br /&gt;
[&amp;lt;ffffffff834100e8&amp;gt;] _spin_lock+0x20/0xb8&lt;br /&gt;
[&amp;lt;ffffffff8360fe38&amp;gt;] _atomic_dec_and_lock+0x178/0x240&lt;br /&gt;
[&amp;lt;ffffffff834100e8&amp;gt;] _spin_lock+0x20/0xb8&lt;br /&gt;
[&amp;lt;ffffffff8340fb68&amp;gt;] _spin_unlock+0x18/0x38&lt;br /&gt;
[&amp;lt;ffffffff834fee74&amp;gt;] mntput_no_expire+0x54/0x2b0&lt;br /&gt;
[&amp;lt;ffffffff834850bc&amp;gt;] sys_init_module+0x74/0x1b0&lt;br /&gt;
[&amp;lt;ffffffff8340394c&amp;gt;] handle_sys+0x16c/0x188&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Code: 335a0ff8 037ad82d 403aa000 &amp;lt;df7b0000&amp;gt; 335a0ff0 037ad82d df7a0000 df7b0008 001ad1ba&lt;br /&gt;
Segmentation fault&lt;br /&gt;
root@localhost:/root&amp;gt; ls&lt;br /&gt;
abc hd.tst hwtimer_test.ko microperl n.out t.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Analysis&lt;br /&gt;
&lt;br /&gt;
From the dumped context, we can get the information:&lt;br /&gt;
&lt;br /&gt;
    Cause: 00808008             ----&amp;gt; TLB load exception&lt;br /&gt;
    BadVA: 0000000000000000     ----&amp;gt; access 0x0&lt;br /&gt;
    epc: ffffffff800000d0       ----&amp;gt; in TLB refill handler&lt;br /&gt;
&lt;br /&gt;
Decode the dumped Code (df7b0000 335a0ff0 037ad82d &amp;lt;df7a0000&amp;gt; ...) the&lt;br /&gt;
related instruction is:&lt;br /&gt;
&lt;br /&gt;
   c:   df7b0000    ld k1,0(k1)&lt;br /&gt;
10:   335a0ff0    andi    k0,k0,0xff0&lt;br /&gt;
14:   037ad82d    daddu   k1,k1,k0&lt;br /&gt;
18:   df7a0000    ld k0,0(k1)        &amp;lt;--- cause the exception, so we can guess k1 ==0&lt;br /&gt;
1c:   df7b0008    ld k1,8(k1)&lt;br /&gt;
20:   001ad1ba    dsrl    k0,k0,0x6&lt;br /&gt;
24:   409a1000    mtc0    k0,c0_entrylo0&lt;br /&gt;
28:   001bd9ba    dsrl    k1,k1,0x6&lt;br /&gt;
2c:   409b1800    mtc0    k1,c0_entrylo1&lt;br /&gt;
&lt;br /&gt;
Obviously it's the last part of TLB refill handler.&lt;br /&gt;
&lt;br /&gt;
So, we can get the process:&lt;br /&gt;
&lt;br /&gt;
sys_init_module() ---&amp;gt; ... ---&amp;gt; TLB refill ---&amp;gt; there is no ralated page table entry for the virtual address ---&amp;gt; exception&lt;br /&gt;
&lt;br /&gt;
2009.2.8 20:55&lt;br /&gt;
----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The old dev git tree (old wrlinux 3.0 with upstream 2.6.27.8) on my&lt;br /&gt;
machine is OK.&lt;br /&gt;
&lt;br /&gt;
I have tried following upstream git tree:&lt;br /&gt;
&lt;br /&gt;
        kernel.org 2.6.27.14&lt;br /&gt;
        kernel.org 2.6.27.11&lt;br /&gt;
        kernel.org 2.6.27.9&lt;br /&gt;
        kernel.org 2.6.27.8&lt;br /&gt;
        kernel.org 2.6.27.7&lt;br /&gt;
        kernel.org 2.6.27.4&lt;br /&gt;
&lt;br /&gt;
        linux-mips 2.6.27.14&lt;br /&gt;
        linux-mips 2.6.27.8&lt;br /&gt;
&lt;br /&gt;
All are failed. It's cool!&lt;br /&gt;
&lt;br /&gt;
2009.2.8 23:21&lt;br /&gt;
----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Try the tester's wrlinux version, the same phenomenon:&lt;br /&gt;
&lt;br /&gt;
root@localhost:/root&amp;gt; uname -a&lt;br /&gt;
Linux localhost 2.6.27.12-WR3.0zz_standard #1 SMP PREEMPT Mon Feb 9 14:16:26 CST 2009 mips64 mips64 mips64 GNU/Linux&lt;br /&gt;
&lt;br /&gt;
root@localhost:/root&amp;gt; insmod ./nls_cp437.ko&lt;br /&gt;
Oops[#3]:&lt;br /&gt;
Cpu 29&lt;br /&gt;
$ 0   : 0000000000000000 000000000049dae8 0000000000000000 ffffff0000000000&lt;br /&gt;
$ 4   : c00000000000a000 000000000049af58 0000000000006190 ffffffffffffffbf&lt;br /&gt;
$ 8   : 7f454c4602020100 0000000000000000 0001000800000001 0000000000000000&lt;br /&gt;
$12   : 0000000000000000 ffffffff834056ec ffffffff83484ee0 0000000000001cb8&lt;br /&gt;
$16   : 000000000049af58 0000000000002b90 000000000049af58 000000000049af48&lt;br /&gt;
$20   : c00000000000a000 0000000000000003 0000000000000000 0000000000519da8&lt;br /&gt;
$24   : 0000000000000010 0000000000000000&lt;br /&gt;
$28   : a800000124c5c000 a800000124c5fd20 0000000000000000 ffffffff80000008&lt;br /&gt;
Hi    : 0000000000000007&lt;br /&gt;
Lo    : 0000000000000001&lt;br /&gt;
epc   : ffffffff800000d0 0xffffffff800000d0&lt;br /&gt;
    Tainted: G      D&lt;br /&gt;
ra    : ffffffff80000008 0xffffffff80000008&lt;br /&gt;
Status: 1000dce3    KX SX UX KERNEL EXL IE&lt;br /&gt;
Cause : 00800008&lt;br /&gt;
BadVA : 0000000000000000&lt;br /&gt;
PrId : 000c0b04 (RMI Phoenix)&lt;br /&gt;
Modules linked in:&lt;br /&gt;
Process insmod (pid: 2463, threadinfo=a800000124c5c000, task=a800000123f45220, tls=00000000004a1470)&lt;br /&gt;
Stack : 0000000000000000 ffffffff83400a00 0000000000000000 0000000000000001&lt;br /&gt;
        0000000000000000 0000000000000000 00000000000001e3 0000000000010000&lt;br /&gt;
        00000000000001e3 0000000000000001 a80000012755dc68 00000000004120b8&lt;br /&gt;
        000000000049d1d0 000000000050baa0 0000000000000000 ffffffffc0000008&lt;br /&gt;
        ffffffff834da880 0000000300000002 0000000000002b90 0000000000000003&lt;br /&gt;
        a800000126529e00 0000000000000003 a800000123f4a580 0000000000000018&lt;br /&gt;
        a800000123f4a5e0 a8000001264ab200 0000000000000000 ffffffff835e3b60&lt;br /&gt;
        a800000123f4a580 0000000000000003 a800000124c5c000 a800000124c5fe60&lt;br /&gt;
        0000000000000000 ffffffff834da9c0 0000000000002b90 000000000049af48&lt;br /&gt;
        000000000049af58 ffffffff838c0000 000000000049af48 0000000000000003&lt;br /&gt;
        ...&lt;br /&gt;
Call Trace:&lt;br /&gt;
[&amp;lt;ffffffff83400a00&amp;gt;] ret_from_irq+0x0/0x4&lt;br /&gt;
[&amp;lt;ffffffff834da880&amp;gt;] sys_close+0x0/0x210&lt;br /&gt;
[&amp;lt;ffffffff835e3b60&amp;gt;] cap_file_free_security+0x0/0x8&lt;br /&gt;
[&amp;lt;ffffffff834da9c0&amp;gt;] sys_close+0x140/0x210&lt;br /&gt;
[&amp;lt;ffffffff83484f54&amp;gt;] sys_init_module+0x74/0x1b0&lt;br /&gt;
[&amp;lt;ffffffff8340394c&amp;gt;] handle_sys+0x16c/0x188&lt;br /&gt;
[&amp;lt;ffffffff834705e0&amp;gt;] sys_ni_syscall+0x0/0x8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Code: df7b0000 335a0ff0 037ad82d &amp;lt;df7a0000&amp;gt; df7b0008 001ad1ba 409a1000 001bd9ba 409b1800&lt;br /&gt;
Segmentation fault&lt;br /&gt;
&lt;br /&gt;
2009.2.9 12:40&lt;br /&gt;
----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
yshi 在 Cavium 的板子上试了下，确认该问题不是一个通用的 MIPS specific issue, only RMI XLR specific issue，总算是个好消息。&lt;br /&gt;
&lt;br /&gt;
2009.2.9 16:07&lt;br /&gt;
----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
换了个板子，外设有点不一样，其他都相同，问题不见了，真见了鬼。&lt;br /&gt;
&lt;br /&gt;
2009.2.9 18:40&lt;br /&gt;
----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
和兄弟几个暂时找到一个规避方法，用很丑的 TLB refill handler 替代了动态生成的，总算可以喘口气了。明天得好好比较这两个 TLB refill handler 的不同。谢谢 Guijin 和 Mark 的一起努力。&lt;br /&gt;
&lt;br /&gt;
2009.2.9 22:45&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
严重怀疑是 XLR SoC 内的 MAC 驱动引起的问题，遂在内核中 disable MAC，使用 8139 网卡挂 NFS，问题依然如故，此可以确认问题与 MAC 驱动无关。&lt;br /&gt;
&lt;br /&gt;
2009.2.10 11:15&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
添加了一个系统调用 sys_comcat &amp;gt;^..^&amp;lt;，在其内直接访问 0x0 地址，用一个用户态的小程序，触发了 sys_comcat， 打算模拟问题发生的上下文。内核行为如下：&lt;br /&gt;
&lt;br /&gt;
root@localhost:/root&amp;gt; uname -a&lt;br /&gt;
Linux localhost 2.6.27.15-WR3.0zz_standard-dirty #7 SMP PREEMPT Tue Feb 10 13:53:31 CST 2009 mips64 mips64 mips64 GNU/Linux&lt;br /&gt;
root@localhost:/root&amp;gt; ./syscall&lt;br /&gt;
CPU 25 Unable to handle kernel paging request at virtual address 0000000000000000, epc == 0000000000000000, ra == ffffffff8340394c&lt;br /&gt;
Oops[#1]:&lt;br /&gt;
Cpu 25&lt;br /&gt;
$ 0   : 0000000000000000 fffffffffffffff8 00000000000010ea 00000000004005f0&lt;br /&gt;
$ 4   : 0000000000000001 000000007f90c774 000000007f90c77c 0000000000000000&lt;br /&gt;
$ 8   : 000000007f90c774 000000002e0267fc 000000002e176950 0000000000000000&lt;br /&gt;
$12   : 0000000000000000 ffffffffc0000008 0000000000000000 fffffffff0000000&lt;br /&gt;
$16   : 0000000000400618 00000000004004c0 00000000004b0000 00000000004dc968&lt;br /&gt;
$20   : 00000000004dc988 00000000004dc968 0000000000000000 00000000004e6e60&lt;br /&gt;
$24   : 0000000000000000 00000000004005e0                                 &lt;br /&gt;
$28   : a800000123d24000 a800000123d27eb0 000000007f90c698 ffffffff8340394c&lt;br /&gt;
Hi    : 00000000000001a5&lt;br /&gt;
Lo    : 0000000000005e17&lt;br /&gt;
epc   : 0000000000000000 0x0&lt;br /&gt;
    Not tainted&lt;br /&gt;
ra    : ffffffff8340394c handle_sys+0x16c/0x188&lt;br /&gt;
Status: 1000dce3    KX SX UX KERNEL EXL IE&lt;br /&gt;
Cause : 00800008&lt;br /&gt;
BadVA : 0000000000000000&lt;br /&gt;
PrId : 000c0b04 (RMI Phoenix)&lt;br /&gt;
Modules linked in:&lt;br /&gt;
Process syscall (pid: 1984, threadinfo=a800000123d24000, task=a80000012519b6c0, tls=000000002aaafea0)&lt;br /&gt;
Stack : 0000000000000000 fffffffffffffff8 00000000000010ea 000000002aaa8a30&lt;br /&gt;
        0000000000000001 000000007f90c774 000000007f90c77c 0000000000000000&lt;br /&gt;
        000000002e170344 000000000ffffffe 000000000000006c 000000007f90c670&lt;br /&gt;
        ffffffffffffffff 000000007f90c5c8 000000002dfd9c24 fffffffff0000000&lt;br /&gt;
        0000000000400618 00000000004004c0 00000000004b0000 00000000004dc968&lt;br /&gt;
        00000000004dc988 00000000004dc968 0000000000000000 00000000004e6e60&lt;br /&gt;
        0000000000000000 00000000004005e0 0000000000000000 0000000000000000&lt;br /&gt;
        000000002e176950 000000007f90c698 0000000000000000 000000002e026948&lt;br /&gt;
        000000000000dcf3 00000000000001a5 0000000000005e17 000000002e03e8a0&lt;br /&gt;
        0000000000800020 00000000004005f4 ffffffff8396c000 ffffffff8396c000&lt;br /&gt;
        ...&lt;br /&gt;
Call Trace:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Code: (Bad address in epc)&lt;br /&gt;
&lt;br /&gt;
Segmentation fault&lt;br /&gt;
&lt;br /&gt;
可以看到，没什么大的收获；&lt;br /&gt;
&lt;br /&gt;
倒是可以确认：问题是内核访问了一个地址，进 TLB refill handler 后，在索引到 PMD 时，对应的项为空，即拿到了一个错误的页表基地址，此后迅速又来了一个 TLB Miss ---&amp;gt; TLB refill exception 由于此时 EXL 为1，则进入 offset 0x180 的通用异常入口，ExcCode 为 2，则为 TLB Load exception，内核进入 handle_tlbl 处理之，不知为何 handle_tlbl 进了最后的 do_page_fault() ，后 dump reg &amp;amp; stack 就发了个 SIGSEGV 给进程了。&lt;br /&gt;
&lt;br /&gt;
让人匪夷所思的是索引到了 PMD 的空项，等于是到 0x0 处去读取页表了&lt;br /&gt;
&lt;br /&gt;
2009.2.10 14:23&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
晚上出去乱晃了下，金汤玉线，看悠闲匆忙的各色人等，稍感轻松。回来冷静了下，把问题板上的 TLB refill handler dump 出来，好好分析了一下：&lt;br /&gt;
&lt;br /&gt;
dtlb.o:     file format elf64-tradbigmips&lt;br /&gt;
&lt;br /&gt;
Disassembly of section .text:&lt;br /&gt;
&lt;br /&gt;
0000000000000000 &amp;lt;main&amp;gt;:&lt;br /&gt;
   0:    67bdfff0     daddiu    sp,sp,-16&lt;br /&gt;
   4:    ffbe0000     sd    s8,0(sp)&lt;br /&gt;
   8:    03a0f02d     move    s8,sp&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    @0xffffffff80000000                       &lt;br /&gt;
   c:    07610005     bgez    k1,24 &amp;lt;main+0x24&amp;gt; /* vaddr[61] != 1 (0xc000..0000 ~ 0xdfff..ffff), branch */   &lt;br /&gt;
10:    3c1bc000     lui    k1,0xc000        -----&amp;gt; at delay slot, commit new value to k1 after reading k1 (bgez)&lt;br /&gt;
                                           &lt;br /&gt;
                                            # vaddr is at 0xe000000000000000 ~ 0xffffffffffffffff&lt;br /&gt;
14:    035bd02f     dsubu    k0,k0,k1        /* k0 = vaddr - 0xc000000000000000 */&lt;br /&gt;
18:    3c1b8396     lui    k1,0x8396&lt;br /&gt;
1c:    10000023     b    ac &amp;lt;main+0xac&amp;gt;        ----&amp;gt; @@@&lt;br /&gt;
20:    277ba000     addiu    k1,k1,-24576    /* 0xffffffff8395a000, module_pg_dir */&lt;br /&gt;
&lt;br /&gt;
24:    001bd83c     dsll32    k1,k1,0x0        /* (0xffffffffc0000000 &amp;lt;&amp;lt; 32) */&lt;br /&gt;
28:    035bd02f     dsubu    k0,k0,k1        /* k0 = vaddr - 0xc000000000000000 */&lt;br /&gt;
2c:    1000001f     b    ac &amp;lt;main+0xac&amp;gt;        ----&amp;gt; @@@&lt;br /&gt;
30:    3c1b8396     lui    k1,0x8396            /* 0xffffffff83960000, swapper_pg_current */&lt;br /&gt;
    ...&lt;br /&gt;
    ...&lt;br /&gt;
    ...&lt;br /&gt;
    @0xffffffff80000080&lt;br /&gt;
8c:    403a4000     dmfc0    k0,c0_badvaddr        &lt;br /&gt;
&lt;br /&gt;
90:    0740001a     bltz    k0,fc &amp;lt;main+0xfc&amp;gt;    /* if badvaddr &amp;gt;= 0x80000000 00000000 branch */&lt;br /&gt;
&lt;br /&gt;
94:   403b2000    dmfc0   k1,c0_context&lt;br /&gt;
98:   001bddfa    dsrl    k1,k1,0x17      /* get (smp_processor_id() &amp;lt;&amp;lt; 3) (26-23), see asm/mmu_context.h */&lt;br /&gt;
9c:   3c1a8396    lui k0,0x8396           /* swapper_pg_current = 0xffffffff83960000 */&lt;br /&gt;
a0:   037ad82d    daddu   k1,k1,k0        /* seem like is p_tmp = swapper_pg_current[smp_processor_id()] */&lt;br /&gt;
a4:   403a4000    dmfc0   k0,c0_badvaddr&lt;br /&gt;
a8:   df7b2000    ld k1,8192(k1)         /*&lt;br /&gt;
                                             * pgd = *((void *)(p_tmp + 8192), 8 bytes per pgd entry, pgd_current = 0xffffffff83962000,&lt;br /&gt;
                                             * 0x2000 = 8192&lt;br /&gt;
                                             * actually it's pgd = pgd_current[smp_processor_id()]&lt;br /&gt;
                                             */&lt;br /&gt;
&lt;br /&gt;
@@@&lt;br /&gt;
ac:    001ad6fa     dsrl    k0,k0,0x1b        # &amp;gt;&amp;gt; 27&lt;br /&gt;
b0:    335a1ff8     andi    k0,k0,0x1ff8    /* get (vaddr[39:30] &amp;lt;&amp;lt; 3), for indexing pgd */&lt;br /&gt;
b4:    037ad82d     daddu    k1,k1,k0        /* index pgd */&lt;br /&gt;
&lt;br /&gt;
b8:    403a4000     dmfc0    k0,c0_badvaddr&lt;br /&gt;
bc:    df7b0000     ld    k1,0(k1)            /* get p_pmd */&lt;br /&gt;
c0:    001ad4ba     dsrl    k0,k0,0x12&lt;br /&gt;
c4:    335a0ff8     andi    k0,k0,0xff8        /* get (vaddr[29:21] &amp;lt;&amp;lt; 3), for indexing pmd */&lt;br /&gt;
c8:    037ad82d     daddu    k1,k1,k0        /* index pmd */&lt;br /&gt;
&lt;br /&gt;
cc:    403aa000     dmfc0    k0,c0_xcontext   &lt;br /&gt;
d0:    df7b0000     ld    k1,0(k1)            /* get p_pt */       &lt;br /&gt;
d4:    335a0ff0     andi    k0,k0,0xff0        /* get (va[20:13] &amp;lt;&amp;lt; 4), actually use va[20:12] index the pt, va[12]=0, for indexing pt */&lt;br /&gt;
d8:    037ad82d     daddu    k1,k1,k0        /* index pt */&lt;br /&gt;
&lt;br /&gt;
dc:    df7a0000     ld    k0,0(k1)            /* get even page addr */    &amp;lt;-------------&lt;br /&gt;
e0:    df7b0008     ld    k1,8(k1)            /* get odd page addr */&lt;br /&gt;
&lt;br /&gt;
e4:    001ad1ba     dsrl    k0,k0,0x6        /* ignore the low 6 bits, it's for os */&lt;br /&gt;
e8:    409a1000     mtc0    k0,c0_entrylo0    /* tlb even page entry */&lt;br /&gt;
ec:    001bd9ba     dsrl    k1,k1,0x6        /* same as above */&lt;br /&gt;
f0:    409b1800     mtc0    k1,c0_entrylo1    /* tlb odd page entry */&lt;br /&gt;
f4:    42000006     tlbwr                    /* random write tlb */&lt;br /&gt;
f8:    42000018     eret                   &lt;br /&gt;
&lt;br /&gt;
fc:    001ad8b8     dsll    k1,k0,0x2        # go here, vaddr is in xkphys or xkseg (&amp;gt;0x8000..0000)&lt;br /&gt;
                                            # 0x8000..0000 ~ 0xc000..0000 is xkphys, unmapped,&lt;br /&gt;
                                            # so vaddr &amp;gt; 0xc000..0000; vaddr &amp;lt;&amp;lt; 2&lt;br /&gt;
100:    1000ffc2     b    c &amp;lt;main+0xc&amp;gt;&lt;br /&gt;
&lt;br /&gt;
104:    00000000     nop&lt;br /&gt;
108:    00000000     nop&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
10c:    0000102d     move    v0,zero&lt;br /&gt;
110:    03c0e82d     move    sp,s8&lt;br /&gt;
114:    dfbe0000     ld    s8,0(sp)&lt;br /&gt;
118:    03e00008     jr    ra&lt;br /&gt;
11c:    67bd0010     daddiu    sp,sp,16&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
内核直接 dump 的16进制值，稍微处理了下，内嵌到 C 环境里，objdump 来的。&lt;br /&gt;
&lt;br /&gt;
一直自以为对 MIPS TLB 这里很了解，哪知遇到很 COOL 的问题还是无所适从，似乎引以自傲的分析能力下降了不少，严重鄙视自己。&lt;br /&gt;
&lt;br /&gt;
2009.2.11 01:15&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
把昨晚遗留的不清晰的分析，又仔细看了下，可以确认现内核里 mips64 之 TLB refill handler 会根据 VA 确定使用的 PGD 入口：&lt;br /&gt;
&lt;br /&gt;
0xe0000000 00000000 ~ 0xffffffff ffffffff -----&amp;gt; 用 module_pg_dir&lt;br /&gt;
0xc0000000 00000000 ~ 0xdfffffff ffffffff -----&amp;gt; 用 swapper_pg_current&lt;br /&gt;
0x00000000 00000000 ~ 0x7fffffff ffffffff -----&amp;gt; 用 pgd_current&lt;br /&gt;
&lt;br /&gt;
显然设计时，内核用 0xc0000000 00000000 作 vmalloc 的始地址&lt;br /&gt;
0xe0000000 00000000 作模块所用内存之始地址&lt;br /&gt;
&lt;br /&gt;
2009.2.11 11:30&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
比较了前天夜里临时用于 workaound 的 TLB refill handler，发现其中没有用 module_pg_dir：&lt;br /&gt;
&lt;br /&gt;
0x00000000 00000000 ~ 0x7fffffff ffffffff -----&amp;gt; 用 pgd_current&lt;br /&gt;
0xc0000000 00000000 （xkphys 因是固定映射，忽略之）往上的虚拟地址一律用 swapper_pg_current&lt;br /&gt;
&lt;br /&gt;
2009.2.11 15:40&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
下午略感疲惫，于是去水里泡了下，仰面朝天，任清水淹没双耳，整个世界清静了...... 四肢任意挥洒，找寻生命本原最舒适的姿势。出来后身轻如燕，可惜只是一种感觉。&lt;br /&gt;
&lt;br /&gt;
回来后思路清晰，把能用的 old git tree （2.6.27.4，没打 workaround 的 patch）patch 导出，到 linux-mips 的 git tree 上试了 2.6.27.4 和 2.6.27.14 皆无问题；鉴于这个 old git tree 仅有部分外设驱动，联想到同样的内核在外设不同板子上的不同现象，直接怀疑是某个驱动导致的问题。&lt;br /&gt;
&lt;br /&gt;
于是把最终 check-in 的 patch 只打串口，网口，PCI-X，试了下，没问题！加 SPI4.2，又没问题。再加 IDE，问题出现！本来隐隐地感觉是后来 review 时，不经意修改了什么 patch 导致的&lt;br /&gt;
，都做好 diff 的心理准备了，总算上苍庇佑，让搜索范围小了很多。&lt;br /&gt;
&lt;br /&gt;
绕了这一圈，是过于在意内核dump 出的 register &amp;amp; stack 信息了，迷失在自我的兴趣里。&lt;br /&gt;
&lt;br /&gt;
2009.02.11 22:02&lt;br /&gt;
--------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
可以详细确认是一个 PCI IDE Card 驱动引起的问题 (PDC202xx_new):&lt;br /&gt;
&lt;br /&gt;
root@localhost:/root&amp;gt; insmod ./nls_cp437.ko&lt;br /&gt;
root@localhost:/root&amp;gt; ls&lt;br /&gt;
lib      raza_xlr_atx_64_be-linux-modules-WR3.0zz_standard.tar.bz2&lt;br /&gt;
nls_cp437.ko     syscall&lt;br /&gt;
pdc202xx_new.ko&lt;br /&gt;
root@localhost:/root&amp;gt; lsmod&lt;br /&gt;
Module                  Size Used by&lt;br /&gt;
nls_cp437               8064 0&lt;br /&gt;
root@localhost:/root&amp;gt; rmmod /nls_cp437.ko&lt;br /&gt;
root@localhost:/root&amp;gt; ls&lt;br /&gt;
lib      raza_xlr_atx_64_be-linux-modules-WR3.0zz_standard.tar.bz2&lt;br /&gt;
nls_cp437.ko     syscall&lt;br /&gt;
pdc202xx_new.ko&lt;br /&gt;
root@localhost:/root&amp;gt; insmod ./pdc202xx_new.ko&lt;br /&gt;
&lt;br /&gt;
isa bounce pool size: 16 pages&lt;br /&gt;
*********************************************&lt;br /&gt;
cpu_12 received a bus/cache error&lt;br /&gt;
*********************************************&lt;br /&gt;
Bridge: Phys Addr = 0x0128000000, Device_AERR = 0x00000020&lt;br /&gt;
Bridge: The devices reporting AERR are:&lt;br /&gt;
    cpu 5&lt;br /&gt;
CPU: (XLR specific) Cache Error log = 0x0000000ae43bf601, Phy Addr = 0x0015c877e8&lt;br /&gt;
CPU: epc = 0xffffffff83423fc8, errorepc = 0xffffffff83422438, cacheerr = 0x00000000&lt;br /&gt;
Can not handle bus/cache error - Halting cpu&lt;br /&gt;
Unhandled kernel unaligned access[#1]:&lt;br /&gt;
Cpu 6586379&lt;br /&gt;
$ 0   : 0000000000000000 0000000000000010 0000000000000000 0000000000000000&lt;br /&gt;
$ 4   : ffffffff83423fb0 0000000000000000 ffffffff83431330 afa2001c00001921&lt;br /&gt;
$ 8   : 000000000380302d a800000124f1bcd0 a8000001266f2030 ffffffffffffffff&lt;br /&gt;
$12   : 000000001000dce1 000000001000001e a800000127807f70 a800000127807f80&lt;br /&gt;
$16   : a800000124f1bcd0 ffffffffde530100 afa2001c00001821 ae8200001000fff6&lt;br /&gt;
$20   : a8000001250041f0 0000000000000000 0000000000000060 000000000040b6fc&lt;br /&gt;
$24   : 0000000000000010 ffffffff8361d8e8                                 &lt;br /&gt;
$28   : a800000124f18000 a800000124f1bca0 0000000000000000 ffffffff83400a00&lt;br /&gt;
Hi    : fffffffffffffabd&lt;br /&gt;
Lo    : 300011aab40b6000&lt;br /&gt;
epc   : ffffffff83423fc8 do_ade+0x3c0/0x428&lt;br /&gt;
    Not tainted&lt;br /&gt;
ra    : ffffffff83400a00 ret_from_exception+0x0/0x20&lt;br /&gt;
Status: 1000dce3    &amp;lt;1&amp;gt;CPU 0 Unable to handle kernel paging request at virtual address 0000000000000002, epc == ffffffff83431298, ra == ffffffff83431394&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@localhost:/root&amp;gt; insmod ./pdc202xx_new.ko&lt;br /&gt;
isa bounce pool size: 16 pages&lt;br /&gt;
root@localhost:/root&amp;gt; lsmod&lt;br /&gt;
Module                  Size Used by&lt;br /&gt;
&amp;lt;&amp;lt;hung here&amp;gt;&amp;gt; ----&amp;gt; kernel can not respones sysrq interrupt.&lt;br /&gt;
&lt;br /&gt;
2009.02.11 00:55&lt;br /&gt;
--------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
抽手解决了另外一个小问题：hwtimer 在内核升级后（默认开启 HRT），不准了，Tiejun 帮了看了一下，改起来很麻烦，而且影响到以后 HRT 的实现，索性就将 vCPU0 也用同样的时钟源了，这样就对称了，hwtimer 和 HRT 的问题也就自然的解了，喜欢这个简单的设计。想起了刚被强化了的“大道至简”的理念，太 COOL 了，orz&lt;br /&gt;
&lt;br /&gt;
2009.02.12 22:21&lt;br /&gt;
--------------------------&lt;/div&gt;</summary>
		<author><name>Comcat</name></author>	</entry>

	</feed>