sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget+/translations/zh_CN/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_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhE/var/lib/git/docbuild/linux/Documentation/arch/loongarch/features.rsthKubhsection)}(hhh](htitle)}(h(Feature status on loongarch architectureh]h(Feature status on loongarch architecture}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhNhNubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1hhhubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1hhhubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1hhhubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1hhhubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthKQuh1hhhubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h paragraph)}(h Subsystemh]h Subsystem}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhfeatureshKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hFeatureh]hFeature}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj-ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hKconfigh]hKconfig}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjDubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hStatush]hStatus}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj[ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h Descriptionh]h Description}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjrubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1jhhubhtbody)}(hhh](j )}(hhh](j)}(hhh]j)}(hcoreh]hcore}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hcBPF-JITh]hcBPF-JIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h HAVE_CBPF_JITh]h HAVE_CBPF_JIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hTODOh]hTODO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h$arch supports cBPF JIT optimizationsh]h$arch supports cBPF JIT optimizations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hcoreh]hcore}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(heBPF-JITh]heBPF-JIT}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hj0ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h HAVE_EBPF_JITh]h HAVE_EBPF_JIT}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjGubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hj^ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h$arch supports eBPF JIT optimizationsh]h$arch supports eBPF JIT optimizations}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjuubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hcoreh]hcore}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hgeneric-idle-threadh]hgeneric-idle-thread}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hGENERIC_SMP_IDLE_THREADh]hGENERIC_SMP_IDLE_THREAD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(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&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hcoreh]hcore}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h jump-labelsh]h jump-labels}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hj(ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hHAVE_ARCH_JUMP_LABELh]hHAVE_ARCH_JUMP_LABEL}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hj?ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjVubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h4arch supports live patched, high efficiency branchesh]h4arch supports live patched, high efficiency branches}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjmubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hcoreh]hcore}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hmseal-system-mappingsh]hmseal-system-mappings}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h#ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGSh]h#ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hTODOh]hTODO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h#arch supports mseal system mappingsh]h#arch supports mseal system mappings}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hcoreh]hcore}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hthread-info-in-taskh]hthread-info-in-task}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hTHREAD_INFO_IN_TASKh]hTHREAD_INFO_IN_TASK}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hj7ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hTODOh]hTODO}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjNubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(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}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK hjeubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hcoreh]hcore}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h tracehookh]h tracehook}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hHAVE_ARCH_TRACEHOOKh]hHAVE_ARCH_TRACEHOOK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h7arch supports tracehook (ptrace) register handling APIsh]h7arch supports tracehook (ptrace) register handling APIs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hdebug-vm-pgtableh]hdebug-vm-pgtable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hARCH_HAS_DEBUG_VM_PGTABLEh]hARCH_HAS_DEBUG_VM_PGTABLE}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj/ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjFubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h4arch supports pgtable tests for semantics complianceh]h4arch supports pgtable tests for semantics compliance}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj]ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj}ubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]j)}(hgcov-profile-allh]hgcov-profile-all}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]j)}(hARCH_HAS_GCOV_PROFILE_ALLh]hARCH_HAS_GCOV_PROFILE_ALL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]j)}(hTODOh]hTODO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]j)}(h7arch supports whole-kernel GCOV code coverage profilingh]h7arch supports whole-kernel GCOV code coverage profiling}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hKASANh]hKASAN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hHAVE_ARCH_KASANh]hHAVE_ARCH_KASAN}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj'ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj>ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h.arch supports the KASAN runtime memory checkerh]h.arch supports the KASAN runtime memory checker}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjUubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjuubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]j)}(hkcovh]hkcov}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]j)}(h ARCH_HAS_KCOVh]h ARCH_HAS_KCOV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]j)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]j)}(h.arch supports kcov for coverage-guided fuzzingh]h.arch supports kcov for coverage-guided fuzzing}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hkgdbh]hkgdb}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hHAVE_ARCH_KGDBh]hHAVE_ARCH_KGDB}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h&arch supports the kGDB kernel debuggerh]h&arch supports the kGDB kernel debugger}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjMubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjmubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]j)}(hkmemleakh]hkmemleak}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]j)}(hHAVE_DEBUG_KMEMLEAKh]hHAVE_DEBUG_KMEMLEAK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]j)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]j)}(h-arch supports the kernel memory leak detectorh]h-arch supports the kernel memory leak detector}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hkprobesh]hkprobes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h HAVE_KPROBESh]h HAVE_KPROBES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj.ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h'arch supports live patched kernel probeh]h'arch supports live patched kernel probe}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjEubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjeubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]j)}(hkprobes-on-ftraceh]hkprobes-on-ftrace}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj|ubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]j)}(hHAVE_KPROBES_ON_FTRACEh]hHAVE_KPROBES_ON_FTRACE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]j)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]j)}(h7arch supports combined kprobes and ftrace live patchingh]h7arch supports combined kprobes and ftrace live patching}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h kretprobesh]h kretprobes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hHAVE_KRETPROBESh]hHAVE_KRETPROBES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj& ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h+arch supports kernel function-return probesh]h+arch supports kernel function-return probes}(hj@ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj= ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj] ubah}(h]h ]h"]h$]h&]uh1jhjZ ubj)}(hhh]j)}(h optprobesh]h optprobes}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjt ubah}(h]h ]h"]h$]h&]uh1jhjZ ubj)}(hhh]j)}(hHAVE_OPTPROBESh]hHAVE_OPTPROBES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjZ ubj)}(hhh]j)}(hTODOh]hTODO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjZ ubj)}(hhh]j)}(h$arch supports live patched optprobesh]h$arch supports live patched optprobes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjZ ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hstackprotectorh]hstackprotector}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hHAVE_STACKPROTECTORh]hHAVE_STACKPROTECTOR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hokh]hok}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(h7arch supports compiler driven stack overflow protectionh]h7arch supports compiler driven stack overflow protection}(hj8 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj5 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjU ubah}(h]h ]h"]h$]h&]uh1jhjR ubj)}(hhh]j)}(huprobesh]huprobes}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjl ubah}(h]h ]h"]h$]h&]uh1jhjR ubj)}(hhh]j)}(hARCH_SUPPORTS_UPROBESh]hARCH_SUPPORTS_UPROBES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjR ubj)}(hhh]j)}(hokh]hok}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjR ubj)}(hhh]j)}(h&arch supports live patched user probesh]h&arch supports live patched user probes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjR ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hdebugh]hdebug}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(huser-ret-profilerh]huser-ret-profiler}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hHAVE_USER_RETURN_NOTIFIERh]hHAVE_USER_RETURN_NOTIFIER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hTODOh]hTODO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(h9arch supports user-space return from system call profilerh]h9arch supports user-space return from system call profiler}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj- ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hioh]hio}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjM ubah}(h]h ]h"]h$]h&]uh1jhjJ ubj)}(hhh]j)}(hdma-contiguoush]hdma-contiguous}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjd ubah}(h]h ]h"]h$]h&]uh1jhjJ ubj)}(hhh]j)}(hHAVE_DMA_CONTIGUOUSh]hHAVE_DMA_CONTIGUOUS}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj{ ubah}(h]h ]h"]h$]h&]uh1jhjJ ubj)}(hhh]j)}(hokh]hok}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjJ ubj)}(hhh]j)}(h7arch supports the DMA CMA (continuous memory allocator)h]h7arch supports the DMA CMA (continuous memory allocator)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjJ ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hlockingh]hlocking}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(h cmpxchg-localh]h cmpxchg-local}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hHAVE_CMPXCHG_LOCALh]hHAVE_CMPXCHG_LOCAL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hTODOh]hTODO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(h(arch supports the this_cpu_cmpxchg() APIh]h(arch supports the this_cpu_cmpxchg() API}(hj( hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj% ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hlockingh]hlocking}(hjH hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjE ubah}(h]h ]h"]h$]h&]uh1jhjB ubj)}(hhh]j)}(hlockdeph]hlockdep}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj\ ubah}(h]h ]h"]h$]h&]uh1jhjB ubj)}(hhh]j)}(hLOCKDEP_SUPPORTh]hLOCKDEP_SUPPORT}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjs ubah}(h]h ]h"]h$]h&]uh1jhjB ubj)}(hhh]j)}(hokh]hok}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhj ubah}(h]h ]h"]h$]h&]uh1jhjB ubj)}(hhh]j)}(hhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK,hj;ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hTODOh]hTODO}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK,hjRubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hEarch supports deferral of TLB flush until multiple pages are unmappedh]hEarch supports deferral of TLB flush until multiple pages are unmapped}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK,hjiubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hvmh]hvm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK-hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hELF-ASLRh]hELF-ASLR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK-hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h%ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUTh]h%ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK-hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK-hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hAarch randomizes the stack, heap and binary images of ELF binariesh]hAarch randomizes the stack, heap and binary images of ELF binaries}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK-hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hvmh]hvm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK.hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h huge-vmaph]h huge-vmap}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK.hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hHAVE_ARCH_HUGE_VMAPh]hHAVE_ARCH_HUGE_VMAP}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK.hj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hTODOh]hTODO}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK.hjJubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hQarch supports the arch_vmap_pud_supported() and arch_vmap_pmd_supported() VM APIsh]hQarch supports the arch_vmap_pud_supported() and arch_vmap_pmd_supported() VM APIs}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK.hjaubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hvmh]hvm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK/hjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]j)}(h ioremap_proth]h ioremap_prot}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK/hjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]j)}(hHAVE_IOREMAP_PROTh]hHAVE_IOREMAP_PROT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK/hjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]j)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK/hjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]j)}(harch has ioremap_prot()h]harch has ioremap_prot()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK/hjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hvmh]hvm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK0hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h pte_specialh]h pte_special}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK0hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hARCH_HAS_PTE_SPECIALh]hARCH_HAS_PTE_SPECIAL}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK0hj+ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hokh]hok}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK0hjBubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(h7arch supports the pte_special()/pte_mkspecial() VM APIsh]h7arch supports the pte_special()/pte_mkspecial() VM APIs}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK0hjYubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j)}(hhh]j)}(hvmh]hvm}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK1hjyubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]j)}(hTHPh]hTHP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK1hjubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]j)}(hHAVE_ARCH_TRANSPARENT_HUGEPAGEh]hHAVE_ARCH_TRANSPARENT_HUGEPAGE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK1hjubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]j)}(hokh]hok}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK1hjubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]j)}(h#arch supports transparent hugepagesh]h#arch supports transparent hugepages}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hK1hjubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhhubeh}(h]h ]h"]h$]h&]colsKuh1hhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h](feature-status-on-loongarch-architectureah ]h"](feature status on loongarch architectureah$]h&]uh1hhhhhhNhNubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_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}nameids}j js nametypes}j sh}jhs footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.