€•uLŒsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ'/translations/zh_CN/virt/kvm/arm/pvtime”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/zh_TW/virt/kvm/arm/pvtime”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/it_IT/virt/kvm/arm/pvtime”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/ja_JP/virt/kvm/arm/pvtime”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/ko_KR/virt/kvm/arm/pvtime”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/pt_BR/virt/kvm/arm/pvtime”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/sp_SP/virt/kvm/arm/pvtime”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒA/var/lib/git/docbuild/linux/Documentation/virt/kvm/arm/pvtime.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ&Paravirtualized time support for arm64”h]”hŒ&Paravirtualized time support for arm64”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hŒcArm specification DEN0057/A defines a standard for paravirtualised time support for AArch64 guests:”h]”hŒcArm specification DEN0057/A defines a standard for paravirtualised time support for AArch64 guests:”…”�”}”(hhßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhÞ)�”}”(hŒ(https://developer.arm.com/docs/den0057/a”h]”hŒ reference”“”)�”}”(hhïh]”hŒ(https://developer.arm.com/docs/den0057/a”…”�”}”(hhóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”hïuh1hñhhíubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hhÊh²hubhÞ)�”}”(hŒÏKVM/arm64 implements the stolen time part of this specification by providing some hypervisor service calls to support a paravirtualized guest obtaining a view of the amount of time stolen from its execution.”h]”hŒÏKVM/arm64 implements the stolen time part of this specification by providing some hypervisor service calls to support a paravirtualized guest obtaining a view of the amount of time stolen from its execution.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hhÊh²hubhÞ)�”}”(hŒ0Two new SMCCC compatible hypercalls are defined:”h]”hŒ0Two new SMCCC compatible hypercalls are defined:”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒPV_TIME_FEATURES: 0xC5000020”h]”hÞ)�”}”(hj,h]”hŒPV_TIME_FEATURES: 0xC5000020”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hj%h²hh³hÇh´Nubj))�”}”(hŒPV_TIME_ST: 0xC5000021 ”h]”hÞ)�”}”(hŒPV_TIME_ST: 0xC5000021”h]”hŒPV_TIME_ST: 0xC5000021”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hj%h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1j#h³hÇh´KhhÊh²hubhÞ)�”}”(hŒýThese are only available in the SMC64/HVC64 calling convention as paravirtualized time is not available to 32 bit Arm guests. The existence of the PV_TIME_FEATURES hypercall should be probed using the SMCCC 1.1 ARCH_FEATURES mechanism before calling it.”h]”hŒýThese are only available in the SMC64/HVC64 calling convention as paravirtualized time is not available to 32 bit Arm guests. The existence of the PV_TIME_FEATURES hypercall should be probed using the SMCCC 1.1 ARCH_FEATURES mechanism before calling it.”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhÞ)�”}”(hŒPV_TIME_FEATURES”h]”hŒPV_TIME_FEATURES”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhŒ block_quote”“”)�”}”(hXÒ============= ======== ================================================= Function ID: (uint32) 0xC5000020 PV_call_id: (uint32) The function to query for support. Currently only PV_TIME_ST is supported. Return value: (int64) NOT_SUPPORTED (-1) or SUCCESS (0) if the relevant PV-time feature is supported by the hypervisor. ============= ======== ================================================= ”h]”hŒtable”“”)�”}”(hhh]”hŒtgroup”“”)�”}”(hhh]”(hŒcolspec”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1j�hjŠubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j�hjŠubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K1uh1j�hjŠubhŒtbody”“”)�”}”(hhh]”(hŒrow”“”)�”}”(hhh]”(hŒentry”“”)�”}”(hhh]”hÞ)�”}”(hŒ Function ID:”h]”hŒ Function ID:”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hj´ubj¸)�”}”(hhh]”hÞ)�”}”(hŒ(uint32)”h]”hŒ(uint32)”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hj´ubj¸)�”}”(hhh]”hÞ)�”}”(hŒ 0xC5000020”h]”hŒ 0xC5000020”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjçubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hj´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j²hj¯ubj³)�”}”(hhh]”(j¸)�”}”(hhh]”hÞ)�”}”(hŒ PV_call_id:”h]”hŒ PV_call_id:”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjubj¸)�”}”(hhh]”hÞ)�”}”(hŒ(uint32)”h]”hŒ(uint32)”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjubj¸)�”}”(hhh]”hÞ)�”}”(hŒJThe function to query for support. Currently only PV_TIME_ST is supported.”h]”hŒJThe function to query for support. Currently only PV_TIME_ST is supported.”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j²hj¯ubj³)�”}”(hhh]”(j¸)�”}”(hhh]”hÞ)�”}”(hŒ Return value:”h]”hŒ Return value:”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjRubj¸)�”}”(hhh]”hÞ)�”}”(hŒ(int64)”h]”hŒ(int64)”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjlubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjRubj¸)�”}”(hhh]”hÞ)�”}”(hŒaNOT_SUPPORTED (-1) or SUCCESS (0) if the relevant PV-time feature is supported by the hypervisor.”h]”hŒaNOT_SUPPORTED (-1) or SUCCESS (0) if the relevant PV-time feature is supported by the hypervisor.”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j²hj¯ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j­hjŠubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1jˆhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jƒhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j}h³hÇh´KhhÊh²hubhÞ)�”}”(hŒ PV_TIME_ST”h]”hŒ PV_TIME_ST”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K#hhÊh²hubj~)�”}”(hXY============= ======== ============================================== Function ID: (uint32) 0xC5000021 Return value: (int64) IPA of the stolen time data structure for this VCPU. On failure: NOT_SUPPORTED (-1) ============= ======== ============================================== ”h]”j„)�”}”(hhh]”j‰)�”}”(hhh]”(jŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1j�hjÎubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j�hjÎubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K.uh1j�hjÎubj®)�”}”(hhh]”(j³)�”}”(hhh]”(j¸)�”}”(hhh]”hÞ)�”}”(hŒ Function ID:”h]”hŒ Function ID:”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K&hjõubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjòubj¸)�”}”(hhh]”hÞ)�”}”(hŒ(uint32)”h]”hŒ(uint32)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K&hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjòubj¸)�”}”(hhh]”hÞ)�”}”(hŒ 0xC5000021”h]”hŒ 0xC5000021”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K&hj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjòubeh}”(h]”h ]”h"]”h$]”h&]”uh1j²hjïubj³)�”}”(hhh]”(j¸)�”}”(hhh]”hÞ)�”}”(hŒ Return value:”h]”hŒ Return value:”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K'hjCubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hj@ubj¸)�”}”(hhh]”hÞ)�”}”(hŒ(int64)”h]”hŒ(int64)”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K'hjZubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hj@ubj¸)�”}”(hhh]”hÞ)�”}”(hŒSIPA of the stolen time data structure for this VCPU. On failure: NOT_SUPPORTED (-1)”h]”hŒSIPA of the stolen time data structure for this VCPU. On failure: NOT_SUPPORTED (-1)”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K'hjqubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hj@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j²hjïubeh}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÎubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1jˆhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1jƒhjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j}h³hÇh´K%hhÊh²hubhÞ)�”}”(hXThe IPA returned by PV_TIME_ST should be mapped by the guest as normal memory with inner and outer write back caching attributes, in the inner shareable domain. A total of 16 bytes from the IPA returned are guaranteed to be meaningfully filled by the hypervisor (see structure below).”h]”hXThe IPA returned by PV_TIME_ST should be mapped by the guest as normal memory with inner and outer write back caching attributes, in the inner shareable domain. A total of 16 bytes from the IPA returned are guaranteed to be meaningfully filled by the hypervisor (see structure below).”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K,hhÊh²hubhÞ)�”}”(hŒ6PV_TIME_ST returns the structure for the calling VCPU.”h]”hŒ6PV_TIME_ST returns the structure for the calling VCPU.”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K1hhÊh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Stolen Time”h]”hŒ Stolen Time”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÃh²hh³hÇh´K4ubhÞ)�”}”(hŒCThe structure pointed to by the PV_TIME_ST hypercall is as follows:”h]”hŒCThe structure pointed to by the PV_TIME_ST hypercall is as follows:”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K6hjÃh²hubj„)�”}”(hhh]”j‰)�”}”(hhh]”(jŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1j�hjåubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1j�hjåubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1j�hjåubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j�hjåubhŒthead”“”)�”}”(hhh]”j³)�”}”(hhh]”(j¸)�”}”(hhh]”hÞ)�”}”(hŒField”h]”hŒField”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K9hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjubj¸)�”}”(hhh]”hÞ)�”}”(hŒ Byte Length”h]”hŒ Byte Length”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K9hj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjubj¸)�”}”(hhh]”hÞ)�”}”(hŒ Byte Offset”h]”hŒ Byte Offset”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K9hjFubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjubj¸)�”}”(hhh]”hÞ)�”}”(hŒ Description”h]”hŒ Description”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K9hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j²hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjåubj®)�”}”(hhh]”(j³)�”}”(hhh]”(j¸)�”}”(hhh]”hÞ)�”}”(hŒRevision”h]”hŒRevision”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K;hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjƒubj¸)�”}”(hhh]”hÞ)�”}”(hŒ4”h]”hŒ4”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K;hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjƒubj¸)�”}”(hhh]”hÞ)�”}”(hŒ0”h]”hŒ0”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K;hj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjƒubj¸)�”}”(hhh]”hÞ)�”}”(hŒMust be 0 for version 1.0”h]”hŒMust be 0 for version 1.0”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K;hjËubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1j²hj€ubj³)�”}”(hhh]”(j¸)�”}”(hhh]”hÞ)�”}”(hŒ Attributes”h]”hŒ Attributes”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K=hjëubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjèubj¸)�”}”(hhh]”hÞ)�”}”(hj¢h]”hŒ4”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjèubj¸)�”}”(hhh]”hÞ)�”}”(hj¢h]”hŒ4”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjèubj¸)�”}”(hhh]”hÞ)�”}”(hŒ Must be 0”h]”hŒ Must be 0”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K=hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjèubeh}”(h]”h ]”h"]”h$]”h&]”uh1j²hj€ubj³)�”}”(hhh]”(j¸)�”}”(hhh]”hÞ)�”}”(hŒ Stolen time”h]”hŒ Stolen time”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K?hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjKubj¸)�”}”(hhh]”hÞ)�”}”(hŒ8”h]”hŒ8”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K?hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjKubj¸)�”}”(hhh]”hÞ)�”}”(hjjh]”hŒ8”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K?hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjKubj¸)�”}”(hhh]”hÞ)�”}”(hŒ~Stolen time in unsigned nanoseconds indicating how much time this VCPU thread was involuntarily not running on a physical CPU.”h]”hŒ~Stolen time in unsigned nanoseconds indicating how much time this VCPU thread was involuntarily not running on a physical CPU.”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K?hj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1j·hjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j²hj€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j­hjåubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1jˆhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jƒhjÃh²hh³hÇh´NubhÞ)�”}”(hŒ5All values in the structure are stored little-endian.”h]”hŒ5All values in the structure are stored little-endian.”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KFhjÃh²hubhÞ)�”}”(hXThe structure will be updated by the hypervisor prior to scheduling a VCPU. It will be present within a reserved region of the normal memory given to the guest. The guest should not attempt to write into this memory. There is a structure per VCPU of the guest.”h]”hXThe structure will be updated by the hypervisor prior to scheduling a VCPU. It will be present within a reserved region of the normal memory given to the guest. The guest should not attempt to write into this memory. There is a structure per VCPU of the guest.”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KHhjÃh²hubhÞ)�”}”(hŒëIt is advisable that one or more 64k pages are set aside for the purpose of these structures and not used for other purposes, this enables the guest to map the region using 64k pages and avoids conflicting attributes with other memory.”h]”hŒëIt is advisable that one or more 64k pages are set aside for the purpose of these structures and not used for other purposes, this enables the guest to map the region using 64k pages and avoids conflicting attributes with other memory.”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KMhjÃh²hubhÞ)�”}”(hŒkFor the user space interface see :ref:`Documentation/virt/kvm/devices/vcpu.rst `.”h]”(hŒ!For the user space interface see ”…”�”}”(hjìh²hh³Nh´Nubh)�”}”(hŒI:ref:`Documentation/virt/kvm/devices/vcpu.rst `”h]”hŒinline”“”)�”}”(hjöh]”hŒ'Documentation/virt/kvm/devices/vcpu.rst”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jøhjôubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œvirt/kvm/arm/pvtime”Œ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œkvm_arm_vcpu_pvtime_ctrl”uh1hh³hÇh´KQhjìubhŒ.”…”�”}”(hjìh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KQhjÃh²hubeh}”(h]”Œ stolen-time”ah ]”h"]”Œ stolen time”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K4ubeh}”(h]”Œ¶virtualized-time-support-for-arm64”ah ]”h"]”Œ¶virtualized time support for arm64”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”j·Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jUŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j0j-j(j%uŒ nametypes”}”(j0‰j(‰uh}”(j-hÊj%jÃuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.