Files
cubelinux-kernel/Documentation/translations/zh_TW/arch/parisc/debugging.rst
T
Greg Kroah-Hartman 598cf27219 Linux 6.19.3
Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org
Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Tested-by: Peter Schneider <pschneider1968@googlemail.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Salvatore Bonaccorso <carnil@debian.org>
Tested-by: Brett A C Sheffield <bacs@librecast.net>
Tested-by: Mark Brown <broonie@kernel.org>
Tested-by: Luna Jernberg <droidbittin@gmail.com>
Tested-by: Ronald Warsow <rwarsow@gmx.de>
Tested-by: Justin M. Forbes <jforbes@fedoraproject.org>
Tested-by: Ron Economos <re@w6rz.net>
Tested-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-02-19 16:33:27 +01:00

47 lines
1.7 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.. include:: ../../disclaimer-zh_TW.rst
:Original: Documentation/arch/parisc/debugging.rst
:翻譯:
司延騰 Yanteng Si <siyanteng@loongson.cn>
.. _tw_parisc_debugging:
=================
調試PA-RISC
=================
好吧,這裏有一些關於調試linux/parisc的較底層部分的信息。
1. 絕對地址
=====================
很多彙編代碼目前運行在實模式下,這意味着會使用絕對地址,而不是像內核其他
部分那樣使用虛擬地址。要將絕對地址轉換爲虛擬地址,你可以在System.map中查
找,添加__PAGE_OFFSET(目前是0x10000000)。
2. HPMCs
========
當實模式的代碼試圖訪問不存在的內存時,會出現HPMC(high priority machine
check)而不是內核oops。若要調試HPMC,請嘗試找到系統響應程序/請求程序地址。
系統請求程序地址應該與(某)處理器的HPA(I/O範圍內的高地址)相匹配;系統響應程
序地址是實模式代碼試圖訪問的地址。
系統響應程序地址的典型值是大於__PAGE_OFFSET (0x10000000)的地址,這意味着
在實模式試圖訪問它之前,虛擬地址沒有被翻譯成物理地址。
3. 有趣的Q位
============
某些非常關鍵的代碼必須清除PSW中的Q位。當Q位被清除時,CPU不會更新中斷處理
程序所讀取的寄存器,以找出機器被中斷的位置——所以如果你在清除Q位的指令和再
次設置Q位的RFI之間遇到中斷,你不知道它到底發生在哪裏。如果你幸運的話,IAOQ
會指向清除Q位的指令,如果你不幸運的話,它會指向任何地方。通常Q位的問題會
表現爲無法解釋的系統掛起或物理內存越界。