`sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/arch/loongarch/featuresmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/zh_TW/arch/loongarch/featuresmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/it_IT/arch/loongarch/featuresmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ja_JP/arch/loongarch/featuresmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ko_KR/arch/loongarch/featuresmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/sp_SP/arch/loongarch/featuresmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhX/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/arch/loongarch/features.rsthKubhnote)}(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&]uh1hhhhhhKubh field_body)}(h)Documentation/arch/loongarch/features.rsth]h)}(hhh]h)Documentation/arch/loongarch/features.rst}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h Translatorh]h Translator}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhKubh)}(h%Huacai Chen h]h)}(h$Huacai Chen h](h Huacai Chen <}(hjhhhNhNubh reference)}(hchenhuacai@loongson.cnh]hchenhuacai@loongson.cn}(hj)hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:chenhuacai@loongson.cnuh1j'hjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhsection)}(hhh](htitle)}(h(Feature status on loongarch architectureh]h(Feature status on loongarch architecture}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjWhNhNubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jthjqubju)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jthjqubju)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jthjqubju)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jthjqubju)}(hhh]h}(h]h ]h"]h$]h&]colwidthKQuh1jthjqubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(h Subsystemh]h Subsystem}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhfeatureshKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hFeatureh]hFeature}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hKconfigh]hKconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hStatush]hStatus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjqubhtbody)}(hhh](j)}(hhh](j)}(hhh]h)}(hcoreh]hcore}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hcBPF-JITh]hcBPF-JIT}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjSubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h HAVE_CBPF_JITh]h HAVE_CBPF_JIT}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjjubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hTODOh]hTODO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h$arch supports cBPF JIT optimizationsh]h$arch supports cBPF JIT optimizations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hcoreh]hcore}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(heBPF-JITh]heBPF-JIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h HAVE_EBPF_JITh]h HAVE_EBPF_JIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h$arch supports eBPF JIT optimizationsh]h$arch supports eBPF JIT optimizations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hcoreh]hcore}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hj4ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hgeneric-idle-threadh]hgeneric-idle-thread}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjKubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hGENERIC_SMP_IDLE_THREADh]hGENERIC_SMP_IDLE_THREAD}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjbubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hokh]hok}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjyubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(h6arch makes use of the generic SMP idle thread facilityh]h6arch makes use of the generic SMP idle thread facility}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hcoreh]hcore}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h jump-labelsh]h jump-labels}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHAVE_ARCH_JUMP_LABELh]hHAVE_ARCH_JUMP_LABEL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h4arch supports live patched, high efficiency branchesh]h4arch supports live patched, high efficiency branches}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hcoreh]hcore}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hj,ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hmseal-system-mappingsh]hmseal-system-mappings}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjCubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(h#ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGSh]h#ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjZubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hTODOh]hTODO}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjqubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(h#arch supports mseal system mappingsh]h#arch supports mseal system mappings}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hcoreh]hcore}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hthread-info-in-taskh]hthread-info-in-task}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTHREAD_INFO_IN_TASKh]hTHREAD_INFO_IN_TASK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTODOh]hTODO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hNarch makes use of the core kernel facility to embed thread_info in task_structh]hNarch makes use of the core kernel facility to embed thread_info in task_struct}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hcoreh]hcore}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj$ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(h tracehookh]h tracehook}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj;ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hHAVE_ARCH_TRACEHOOKh]hHAVE_ARCH_TRACEHOOK}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjRubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hokh]hok}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjiubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(h7arch supports tracehook (ptrace) register handling APIsh]h7arch supports tracehook (ptrace) register handling APIs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdebug-vm-pgtableh]hdebug-vm-pgtable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hARCH_HAS_DEBUG_VM_PGTABLEh]hARCH_HAS_DEBUG_VM_PGTABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h4arch supports pgtable tests for semantics complianceh]h4arch supports pgtable tests for semantics compliance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hgcov-profile-allh]hgcov-profile-all}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hARCH_HAS_GCOV_PROFILE_ALLh]hARCH_HAS_GCOV_PROFILE_ALL}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjJubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTODOh]hTODO}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjaubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h7arch supports whole-kernel GCOV code coverage profilingh]h7arch supports whole-kernel GCOV code coverage profiling}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjxubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hKASANh]hKASAN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHAVE_ARCH_KASANh]hHAVE_ARCH_KASAN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h.arch supports the KASAN runtime memory checkerh]h.arch supports the KASAN runtime memory checker}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hkcovh]hkcov}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj+ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ARCH_HAS_KCOVh]h ARCH_HAS_KCOV}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjBubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hokh]hok}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjYubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h.arch supports kcov for coverage-guided fuzzingh]h.arch supports kcov for coverage-guided fuzzing}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjpubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hkgdbh]hkgdb}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHAVE_ARCH_KGDBh]hHAVE_ARCH_KGDB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&arch supports the kGDB kernel debuggerh]h&arch supports the kGDB kernel debugger}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hkmemleakh]hkmemleak}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj#ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hHAVE_DEBUG_KMEMLEAKh]hHAVE_DEBUG_KMEMLEAK}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj:ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hokh]hok}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjQubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h-arch supports the kernel memory leak detectorh]h-arch supports the kernel memory leak detector}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjhubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hkprobesh]hkprobes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h HAVE_KPROBESh]h HAVE_KPROBES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h'arch supports live patched kernel probeh]h'arch supports live patched kernel probe}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hkprobes-on-ftraceh]hkprobes-on-ftrace}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hHAVE_KPROBES_ON_FTRACEh]hHAVE_KPROBES_ON_FTRACE}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj2 ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hokh]hok}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjI ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h7arch supports combined kprobes and ftrace live patchingh]h7arch supports combined kprobes and ftrace live patching}(hjc hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj` ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj} ubj)}(hhh]h)}(h kretprobesh]h kretprobes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj} ubj)}(hhh]h)}(hHAVE_KRETPROBESh]hHAVE_KRETPROBES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj} ubj)}(hhh]h)}(hokh]hok}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj} ubj)}(hhh]h)}(h+arch supports kernel function-return probesh]h+arch supports kernel function-return probes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj} ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h optprobesh]h optprobes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hHAVE_OPTPROBESh]hHAVE_OPTPROBES}(hj- hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj* ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hTODOh]hTODO}(hjD hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjA ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h$arch supports live patched optprobesh]h$arch supports live patched optprobes}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjX ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjx ubah}(h]h ]h"]h$]h&]uh1jhju ubj)}(hhh]h)}(hstackprotectorh]hstackprotector}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhju ubj)}(hhh]h)}(hHAVE_STACKPROTECTORh]hHAVE_STACKPROTECTOR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhju ubj)}(hhh]h)}(hokh]hok}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhju ubj)}(hhh]h)}(h7arch supports compiler driven stack overflow protectionh]h7arch supports compiler driven stack overflow protection}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhju ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(huprobesh]huprobes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hARCH_SUPPORTS_UPROBESh]hARCH_SUPPORTS_UPROBES}(hj% hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj" ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hokh]hok}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj9 ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h&arch supports live patched user probesh]h&arch supports live patched user probes}(hjS hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjP ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hdebugh]hdebug}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjp ubah}(h]h ]h"]h$]h&]uh1jhjm ubj)}(hhh]h)}(huser-ret-profilerh]huser-ret-profiler}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhjm ubj)}(hhh]h)}(hHAVE_USER_RETURN_NOTIFIERh]hHAVE_USER_RETURN_NOTIFIER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhjm ubj)}(hhh]h)}(hTODOh]hTODO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhjm ubj)}(hhh]h)}(h9arch supports user-space return from system call profilerh]h9arch supports user-space return from system call profiler}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhjm ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hioh]hio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hdma-contiguoush]hdma-contiguous}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hHAVE_DMA_CONTIGUOUSh]hHAVE_DMA_CONTIGUOUS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hokh]hok}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj1 ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h7arch supports the DMA CMA (continuous memory allocator)h]h7arch supports the DMA CMA (continuous memory allocator)}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjH ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hlockingh]hlocking}(hjk hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjh ubah}(h]h ]h"]h$]h&]uh1jhje ubj)}(hhh]h)}(h cmpxchg-localh]h cmpxchg-local}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhje ubj)}(hhh]h)}(hHAVE_CMPXCHG_LOCALh]hHAVE_CMPXCHG_LOCAL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhje ubj)}(hhh]h)}(hTODOh]hTODO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhje ubj)}(hhh]h)}(h(arch supports the this_cpu_cmpxchg() APIh]h(arch supports the this_cpu_cmpxchg() API}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhje ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(hlockingh]hlocking}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hlockdeph]hlockdep}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hLOCKDEP_SUPPORTh]hLOCKDEP_SUPPORT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hokh]hok}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj) ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h