This translates Documentation/parisc/debugging.rst into Chinese. Signed-off-by: Yanteng Si <siyanteng@xxxxxxxxxxx> --- .../translations/zh_CN/parisc/debugging.rst | 41 +++++++++++++++++++ .../translations/zh_CN/parisc/index.rst | 6 ++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 Documentation/translations/zh_CN/parisc/debugging.rst diff --git a/Documentation/translations/zh_CN/parisc/debugging.rst b/Documentation/translations/zh_CN/parisc/debugging.rst new file mode 100644 index 000000000000..99af303fd3d8 --- /dev/null +++ b/Documentation/translations/zh_CN/parisc/debugging.rst @@ -0,0 +1,41 @@ +.. include:: ../disclaimer-zh_CN.rst + +:Original: Documentation/parisc/debugging.rst +:Translator: Yanteng Si <siyanteng@xxxxxxxxxxx> + +.. _cn_parisc_debugging: + +================= +调试PA-RISC +================= + +好吧,这里有一些关于调试linux/parisc的低级(偏硬件)部分的提示。 + + +1. 绝对地址 +===================== + +很多汇编代码目前是以实模式运行的,这意味着绝对地址被使用,而不是像内核其他 +部分那样使用虚拟地址。要将绝对地址转换为虚拟地址,你可以在System.map中查 +找,添加__PAGE_OFFSET(目前是0x10000000)。 + + +2. HPMCs +======== + +当实模式的代码试图访问不存在的内存时,你会得到一个HPMC,而不是一个内核opps。 +为了调试HPMC,尝试找到系统响应者/请求者地址。系统请求者地址应该与处理器的 +HPA(I/O范围内的高地址)相匹配;系统响应者地址是实模式代码试图访问的地址。 + +系统响应者地址的典型值是大于__PAGE_OFFSET (0x10000000)的地址,这意味着 +在实际模式代码试图访问它之前,一个虚拟地址没有被翻译成一个物理地址。 + + +3. 有趣的Q位 +============ + +某些非常关键的代码必须清除PSW中的Q位。当Q位被清除时,CPU不会更新中断处理 +程序所读取的寄存器,以找出机器被中断的位置——所以如果你在清除Q位的指令和再 +次设置Q位的RFI之间遇到中断,你不知道它到底发生在哪里。如果你幸运的话,IAOQ +会指向清除Q位的指令,如果你不幸运的话,它会指向任何地方。通常Q位的问题会 +表现在无法解释的系统挂起或运行到物理内存的末端。 diff --git a/Documentation/translations/zh_CN/parisc/index.rst b/Documentation/translations/zh_CN/parisc/index.rst index ef232d46b1ba..b913d664e735 100644 --- a/Documentation/translations/zh_CN/parisc/index.rst +++ b/Documentation/translations/zh_CN/parisc/index.rst @@ -10,9 +10,13 @@ PA-RISC体系架构 ==================== -Todolist: +.. toctree:: + :maxdepth: 2 debugging + +Todolist: + registers features -- 2.27.0