4sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/virt/paravirt_opsmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/zh_TW/virt/paravirt_opsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/it_IT/virt/paravirt_opsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ja_JP/virt/paravirt_opsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ko_KR/virt/paravirt_opsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/sp_SP/virt/paravirt_opsmodnameN 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:spacepreserveuh1hhhhhhR/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/virt/paravirt_ops.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/virt/paravirt_ops.rst h]h)}(h#Documentation/virt/paravirt_ops.rsth]h#Documentation/virt/paravirt_ops.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翻译}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhKubh)}(h-司延腾 Yanteng Si h]h)}(h,司延腾 Yanteng Si h](h司延腾 Yanteng Si <}(hj hhhNhNubh reference)}(hsiyanteng@loongson.cnh]hsiyanteng@loongson.cn}(hj*hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:siyanteng@loongson.cnuh1j(hj ubh>}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h校译h]h校译}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhhhKubh)}(hW陈飞杨 Feiyang Chen 时奎亮 Alex Shi h]h)}(hV陈飞杨 Feiyang Chen 时奎亮 Alex Shi h](h陈飞杨 Feiyang Chen <}(hjehhhNhNubj))}(hchenfeiyang@loongson.cnh]hchenfeiyang@loongson.cn}(hjmhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:chenfeiyang@loongson.cnuh1j(hjeubh> 时奎亮 Alex Shi <}(hjehhhNhNubj))}(halexs@kernel.orgh]halexs@kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:alexs@kernel.orguh1j(hjeubh>}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjaubah}(h]h ]h"]h$]h&]uh1hhjPubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhtarget)}(h.. _cn_virt_paravirt_ops:h]h}(h]h ]h"]h$]h&]refidcn-virt-paravirt-opsuh1jhKhhhhhhubhsection)}(hhh](htitle)}(h半虚拟化操作h]h半虚拟化操作}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(hXLinux提供了对不同管理程序虚拟化技术的支持。历史上,为了支持不同的虚拟机超级管理器 (hypervisor,下文简称超级管理器),需要不同的二进制内核,这个限制已经被pv_ops移 除了。Linux pv_ops是一个虚拟化API,它能够支持不同的管理程序。它允许每个管理程序 优先于关键操作,并允许单一的内核二进制文件在所有支持的执行环境中运行,包括本机——没 有任何管理程序。h]hXLinux提供了对不同管理程序虚拟化技术的支持。历史上,为了支持不同的虚拟机超级管理器 (hypervisor,下文简称超级管理器),需要不同的二进制内核,这个限制已经被pv_ops移 除了。Linux pv_ops是一个虚拟化API,它能够支持不同的管理程序。它允许每个管理程序 优先于关键操作,并允许单一的内核二进制文件在所有支持的执行环境中运行,包括本机——没 有任何管理程序。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hpv_ops提供了一组函数指针,代表了与低级关键指令和各领域高级功能相对应的操作。 pv-ops允许在运行时进行优化,在启动时对低级关键操作进行二进制修补。h]hpv_ops提供了一组函数指针,代表了与低级关键指令和各领域高级功能相对应的操作。 pv-ops允许在运行时进行优化,在启动时对低级关键操作进行二进制修补。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hpv_ops操作被分为三类:h]hpv_ops操作被分为三类:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh bullet_list)}(hhh](h list_item)}(h{简单的间接调用 这些操作对应于高水平的函数,众所周知,间接调用的开销并不十分重要。 h]hdefinition_list)}(hhh]hdefinition_list_item)}(hz简单的间接调用 这些操作对应于高水平的函数,众所周知,间接调用的开销并不十分重要。 h](hterm)}(h简单的间接调用h]h简单的间接调用}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK!hj ubh definition)}(hhh]h)}(hc这些操作对应于高水平的函数,众所周知,间接调用的开销并不十分重要。h]hc这些操作对应于高水平的函数,众所周知,间接调用的开销并不十分重要。}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hj"ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hhhK!hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubj)}(h间接调用,允许用二进制补丁进行优化 通常情况下,这些操作对应于低级别的关键指令。它们被频繁地调用,并且是对性能关 键。开销是非常重要的。 h]j)}(hhh]j )}(h间接调用,允许用二进制补丁进行优化 通常情况下,这些操作对应于低级别的关键指令。它们被频繁地调用,并且是对性能关 键。开销是非常重要的。 h](j)}(h3间接调用,允许用二进制补丁进行优化h]h3间接调用,允许用二进制补丁进行优化}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK%hjRubj!)}(hhh]h)}(h通常情况下,这些操作对应于低级别的关键指令。它们被频繁地调用,并且是对性能关 键。开销是非常重要的。h]h通常情况下,这些操作对应于低级别的关键指令。它们被频繁地调用,并且是对性能关 键。开销是非常重要的。}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjdubah}(h]h ]h"]h$]h&]uh1j hjRubeh}(h]h ]h"]h$]h&]uh1j hhhK%hjOubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubj)}(h一套用于手写汇编代码的宏程序 手写的汇编代码(.S文件)也需要半虚拟化,因为它们包括敏感指令或其中的一些代 码路径对性能非常关键。h]j)}(hhh]j )}(h一套用于手写汇编代码的宏程序 手写的汇编代码(.S文件)也需要半虚拟化,因为它们包括敏感指令或其中的一些代 码路径对性能非常关键。h](j)}(h*一套用于手写汇编代码的宏程序h]h*一套用于手写汇编代码的宏程序}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK(hjubj!)}(hhh]h)}(h手写的汇编代码(.S文件)也需要半虚拟化,因为它们包括敏感指令或其中的一些代 码路径对性能非常关键。h]h手写的汇编代码(.S文件)也需要半虚拟化,因为它们包括敏感指令或其中的一些代 码路径对性能非常关键。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hhhK(hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhK hjhhubeh}(h](jid1eh ]h"](半虚拟化操作cn_virt_paravirt_opseh$]h&]uh1jhhhhhhhKexpect_referenced_by_name}jjsexpect_referenced_by_id}jjsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jN 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_handlerjerror_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}j]jasnameids}(jjjju nametypes}(jjuh}(jjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]transform_messages]hsystem_message)}(hhh]h)}(hhh]h:Hyperlink target "cn-virt-paravirt-ops" is not referenced.}hjqsbah}(h]h ]h"]h$]h&]uh1hhjnubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jluba transformerN include_log]6Documentation/translations/zh_CN/virt/paravirt_ops.rst(NNNNta decorationNhhub.