$,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/virt/kvm/arm/ptp_kvmmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/zh_TW/virt/kvm/arm/ptp_kvmmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/it_IT/virt/kvm/arm/ptp_kvmmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ja_JP/virt/kvm/arm/ptp_kvmmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ko_KR/virt/kvm/arm/ptp_kvmmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/sp_SP/virt/kvm/arm/ptp_kvmmodnameN 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:spacepreserveuh1hhhhhhB/var/lib/git/docbuild/linux/Documentation/virt/kvm/arm/ptp_kvm.rsthKubhsection)}(hhh](htitle)}(hPTP_KVM support for arm/arm64h]hPTP_KVM support for arm/arm64}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hPTP_KVM is used for high precision time sync between host and guests. It relies on transferring the wall clock and counter value from the host to the guest using a KVM-specific hypercall.h]hPTP_KVM is used for high precision time sync between host and guests. It relies on transferring the wall clock and counter value from the host to the guest using a KVM-specific hypercall.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h(``ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID``h]hliteral)}(hhh]h$ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh)}(haRetrieve current time information for the specific counter. There are no endianness restrictions.h]haRetrieve current time information for the specific counter. There are no endianness restrictions.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK'uh1j hj ubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h Presence:h]h Presence:}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjCubah}(h]h ]h"]h$]h&]uh1jAhj>ubjB)}(hhh]h)}(hOptionalh]hOptional}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjZubah}(h]h ]h"]h$]h&]morecolsKuh1jAhj>ubeh}(h]h ]h"]h$]h&]uh1j<hj9ubj=)}(hhh](jB)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj{ubah}(h]h ]h"]h$]h&]uh1jAhjxubjB)}(hhh]h)}(hHVC32h]hHVC32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1jAhjxubeh}(h]h ]h"]h$]h&]uh1j<hj9ubj=)}(hhh](jB)}(hhh]h)}(h Function ID:h]h Function ID:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jAhjubjB)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jAhjubjB)}(hhh]h)}(h 0x86000001h]h 0x86000001}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1jAhjubeh}(h]h ]h"]h$]h&]uh1j<hj9ubj=)}(hhh](jB)}(hhh]h)}(h Arguments:h]h Arguments:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jAhjubjB)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jAhjubjB)}(hhh]h)}(hR1h]hR1}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]morerowsKuh1jAhjubjB)}(hhh]h)}(h``KVM_PTP_VIRT_COUNTER (0)``h]h)}(hjOh]hKVM_PTP_VIRT_COUNTER (0)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhKhjJubah}(h]h ]h"]h$]h&]uh1jAhjubeh}(h]h ]h"]h$]h&]uh1j<hj9ubj=)}(hhh]jB)}(hhh]h)}(h``KVM_PTP_PHYS_COUNTER (1)``h]h)}(hjxh]hKVM_PTP_PHYS_COUNTER (1)}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubah}(h]h ]h"]h$]h&]uh1hhhhKhjsubah}(h]h ]h"]h$]h&]uh1jAhjpubah}(h]h ]h"]h$]h&]uh1j<hj9ubj=)}(hhh](jB)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jAhjubjB)}(hhh]h)}(h(int32)h]h(int32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jAhjubjB)}(hhh]h)}(hR0h]hR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jAhjubjB)}(hhh]h)}(hF``NOT_SUPPORTED (-1)`` on error, else upper 32 bits of wall clock timeh](h)}(h``NOT_SUPPORTED (-1)``h]hNOT_SUPPORTED (-1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh0 on error, else upper 32 bits of wall clock time}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jAhjubeh}(h]h ]h"]h$]h&]uh1j<hj9ubj=)}(hhh](jB)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jAhj ubjB)}(hhh]h)}(hR1h]hR1}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1jAhj ubjB)}(hhh]h)}(h Lower 32 bits of wall clock timeh]h Lower 32 bits of wall clock time}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj>ubah}(h]h ]h"]h$]h&]uh1jAhj ubeh}(h]h ]h"]h$]h&]uh1j<hj9ubj=)}(hhh](jB)}(hhh]h)}(h(uint32)h]h(uint32)}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hj^ubah}(h]h ]h"]h$]h&]uh1jAhj[ubjB)}(hhh]h)}(hR2h]hR2}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjuubah}(h]h ]h"]h$]h&]uh1jAhj[ubjB)}(hhh]h)}(hUpper 32 bits of counterh]hUpper 32 bits of counter}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jAhj[ubeh}(h]h ]h"]h$]h&]uh1j<hj9ubj=)}(hhh](jB)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jAhjubjB)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jAhjubjB)}(hhh]h)}(hLower 32 bits of counterh]hLower 32 bits of counter}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jAhjubeh}(h]h ]h"]h$]h&]uh1j<hj9ubeh}(h]h ]h"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhhhhhNubeh}(h]$arm-smccc-vendor-hyp-kvm-ptp-func-idah ]h"]$arm_smccc_vendor_hyp_kvm_ptp_func_idah$]h&]uh1hhhhhhhhK ubeh}(h]ptp-kvm-support-for-arm-arm64ah ]h"]ptp_kvm support for arm/arm64ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjAfootnote_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}(jjjj u nametypes}(jjuh}(jhj hu 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.