M+sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/arch/parisc/debuggingmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/zh_TW/arch/parisc/debuggingmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/it_IT/arch/parisc/debuggingmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ja_JP/arch/parisc/debuggingmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ko_KR/arch/parisc/debuggingmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/sp_SP/arch/parisc/debuggingmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhnote)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]h paragraph)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_CN/disclaimer-zh_CN.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhV/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/arch/parisc/debugging.rsthKubh field_body)}(h(Documentation/arch/parisc/debugging.rst h]h)}(h'Documentation/arch/parisc/debugging.rsth]h'Documentation/arch/parisc/debugging.rst}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h翻译h]h翻译}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh)}(h-司延腾 Yanteng Si h]h)}(h,司延腾 Yanteng Si h](h司延腾 Yanteng Si <}(hjhhhNhNubh reference)}(hsiyanteng@loongson.cnh]hsiyanteng@loongson.cn}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:siyanteng@loongson.cnuh1jhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhtarget)}(h.. _cn_parisc_debugging:h]h}(h]h ]h"]h$]h&]refidcn-parisc-debugginguh1jDhKhhhhhhubhsection)}(hhh](htitle)}(h 调试PA-RISCh]h 调试PA-RISC}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjThhhhhK ubh)}(hN好吧,这里有一些关于调试linux/parisc的较底层部分的信息。h]hN好吧,这里有一些关于调试linux/parisc的较底层部分的信息。}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjThhubjS)}(hhh](jX)}(h1. 绝对地址h]h1. 绝对地址}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjuhhhhhKubh)}(hX 很多汇编代码目前运行在实模式下,这意味着会使用绝对地址,而不是像内核其他 部分那样使用虚拟地址。要将绝对地址转换为虚拟地址,你可以在System.map中查 找,添加__PAGE_OFFSET(目前是0x10000000)。h]hX 很多汇编代码目前运行在实模式下,这意味着会使用绝对地址,而不是像内核其他 部分那样使用虚拟地址。要将绝对地址转换为虚拟地址,你可以在System.map中查 找,添加__PAGE_OFFSET(目前是0x10000000)。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuhhubeh}(h]id1ah ]h"]1. 绝对地址ah$]h&]uh1jRhjThhhhhKubjS)}(hhh](jX)}(h2. HPMCsh]h2. HPMCs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjhhhhhKubh)}(hXn当实模式的代码试图访问不存在的内存时,会出现HPMC(high priority machine check)而不是内核oops。若要调试HPMC,请尝试找到系统响应程序/请求程序地址。 系统请求程序地址应该与(某)处理器的HPA(I/O范围内的高地址)相匹配;系统响应程 序地址是实模式代码试图访问的地址。h]hXn当实模式的代码试图访问不存在的内存时,会出现HPMC(high priority machine check)而不是内核oops。若要调试HPMC,请尝试找到系统响应程序/请求程序地址。 系统请求程序地址应该与(某)处理器的HPA(I/O范围内的高地址)相匹配;系统响应程 序地址是实模式代码试图访问的地址。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h系统响应程序地址的典型值是大于__PAGE_OFFSET (0x10000000)的地址,这意味着 在实模式试图访问它之前,虚拟地址没有被翻译成物理地址。h]h系统响应程序地址的典型值是大于__PAGE_OFFSET (0x10000000)的地址,这意味着 在实模式试图访问它之前,虚拟地址没有被翻译成物理地址。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjhhubeh}(h]hpmcsah ]h"]2. hpmcsah$]h&]uh1jRhjThhhhhKubjS)}(hhh](jX)}(h3. 有趣的Q位h]h3. 有趣的Q位}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjhhhhhK'ubh)}(hX某些非常关键的代码必须清除PSW中的Q位。当Q位被清除时,CPU不会更新中断处理 程序所读取的寄存器,以找出机器被中断的位置——所以如果你在清除Q位的指令和再 次设置Q位的RFI之间遇到中断,你不知道它到底发生在哪里。如果你幸运的话,IAOQ 会指向清除Q位的指令,如果你不幸运的话,它会指向任何地方。通常Q位的问题会 表现为无法解释的系统挂起或物理内存越界。h]hX某些非常关键的代码必须清除PSW中的Q位。当Q位被清除时,CPU不会更新中断处理 程序所读取的寄存器,以找出机器被中断的位置——所以如果你在清除Q位的指令和再 次设置Q位的RFI之间遇到中断,你不知道它到底发生在哪里。如果你幸运的话,IAOQ 会指向清除Q位的指令,如果你不幸运的话,它会指向任何地方。通常Q位的问题会 表现为无法解释的系统挂起或物理内存越界。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjhhubeh}(h]qah ]h"]3. 有趣的q位ah$]h&]uh1jRhjThhhhhK'ubeh}(h](pa-riscjQeh ]h"]( 调试pa-risccn_parisc_debuggingeh$]h&]uh1jRhhhhhhhK expect_referenced_by_name}jjFsexpect_referenced_by_id}jQjFsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jWN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj(error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh، _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}jQ]jFasnameids}(jjQjjjjjjjju nametypes}(jjjjjuh}(jQjTjjTjjujjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j6KsRparse_messages]transform_messages]hsystem_message)}(hhh]h)}(hhh]h9Hyperlink target "cn-parisc-debugging" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypeINFOsourceh،lineKuh1juba transformerN include_log]:Documentation/translations/zh_CN/arch/parisc/debugging.rst(NNNNta decorationNhhub.