1

下面是 NetBSD 5.1 内核崩溃的堆栈跟踪。从 minicore 收集的基本数据是:

-------------------------------------------------------------
                       VALID MAGIC: 0xdfeedfee
--------------------------PANIC STRING-----------------------  
panic string is :cache error @ EPC 0xffffffff80359a78 

L1D_CACHE_ERROR_LOG 0

L1D_CACHE_INTERRUPT 0 

status 0x8305, cause 0x78

堆栈跟踪 :

sys/arch/evbmips/navasota/md_dump.c:52: 803e092c:

sys/arch/evbmips/rmixl/machdep.c:1247: 8032c468:

系统/内核/subr_prf.c:313:802934ec:

sys/bcm/soc/miim.c:1588: 804b6be0:

sys/bcm/soc/phy/phyreg.c:1049: 806eb6fc:

sys/bcm/soc/phy/wc40.c:9257: 808a7914:

sys/bcm/soc/phy/wc40.c:3664: 808acbe4:

sys/bcm/soc/phyctrl.c:1124: 804bc6ac:

sys/bcm/bcm/esw/port.c:10104: 805fbd48 <_bcm_port_link_get+0x298>:

sys/bcm/bcm/esw/bcm_elink.c:1812: 805b803c <_bcm_esw_linkscan_update+0x27bc>:

sys/bcm/bcm/esw/bcm_elink.c:3201: 805ba83c <_bcm_esw_linkscan_thread+0x35c

??:0:8031ab9c:

这是在 MIPS 上运行的。我在这里需要两件不同的事情的帮助:

1) 我看到 MIPS 正在通过软件管理其缓存。这是什么架构?如果有人用一些指针帮助我,那就太好了。当我试图理解这一点时,我发现这可能与缓存一致性问题有关。(或任何硬件问题?)

2)什么应该是调试这个的好起点?想了解如何解码上述状态和原因。

4

1 回答 1

1

您可以在此处从 Imagination 下载 MIPS 架构参考手册。您应该获得一份See MIPS run的副本,以便用户友好地解释处理器的工作原理。

您的 Cause 寄存器的 Excode 为 30,对应于 CacheErr。See MIPS Run说这是由缓存中的 ECC 或奇偶校验错误引起的,这听起来像是硬件故障。

状态寄存器还显示 ECC/奇偶校验错误。

尝试在另一台机器上运行代码,看看它是否仍然失败。

于 2015-03-12T20:58:57.450 回答