^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/hypercallsmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/zh_TW/virt/kvm/arm/hypercallsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/it_IT/virt/kvm/arm/hypercallsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ja_JP/virt/kvm/arm/hypercallsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ko_KR/virt/kvm/arm/hypercallsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/sp_SP/virt/kvm/arm/hypercallsmodnameN 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/virt/kvm/arm/hypercalls.rsthKubhsection)}(hhh](htitle)}(h/KVM/arm64-specific hypercalls exposed to guestsh]h/KVM/arm64-specific hypercalls exposed to guests}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hThis file documents the KVM/arm64-specific hypercalls which may be exposed by KVM/arm64 to guest operating systems. These hypercalls are issued using the HVC instruction according to version 1.1 of the Arm SMC Calling Convention (DEN0028/C):h]hThis file documents the KVM/arm64-specific hypercalls which may be exposed by KVM/arm64 to guest operating systems. These hypercalls are issued using the HVC instruction according to version 1.1 of the Arm SMC Calling Convention (DEN0028/C):}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h(https://developer.arm.com/docs/den0028/ch]h reference)}(hhh]h(https://developer.arm.com/docs/den0028/c}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurihuh1hhhubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hXSAll KVM/arm64-specific hypercalls are allocated within the "Vendor Specific Hypervisor Service Call" range with a UID of ``28b46fb6-2ec5-11e9-a9ca-4b564d003a74``. This UID should be queried by the guest using the standard "Call UID" function for the service range in order to determine that the KVM/arm64-specific hypercalls are available.h](h}All KVM/arm64-specific hypercalls are allocated within the “Vendor Specific Hypervisor Service Call” range with a UID of }(hhhhhNhNubhliteral)}(h(``28b46fb6-2ec5-11e9-a9ca-4b564d003a74``h]h$28b46fb6-2ec5-11e9-a9ca-4b564d003a74}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh. This UID should be queried by the guest using the standard “Call UID” function for the service range in order to determine that the KVM/arm64-specific hypercalls are available.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h-``ARM_SMCCC_VENDOR_HYP_KVM_FEATURES_FUNC_ID``h]h)}(hjh]h)ARM_SMCCC_VENDOR_HYP_KVM_FEATURES_FUNC_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(h>Provides a discovery mechanism for other KVM/arm64 hypercalls.h]h>Provides a discovery mechanism for other KVM/arm64 hypercalls.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhjDubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jGhjDubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhjDubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jGhjDubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h Presence:h]h Presence:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj}ubah}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh]h)}(hMandatory for the KVM/arm64 UIDh]hMandatory for the KVM/arm64 UID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjxubeh}(h]h ]h"]h$]h&]uh1jvhjsubjw)}(hhh](j|)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hHVC32h]hHVC32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjsubjw)}(hhh](j|)}(hhh]h)}(h Function ID:h]h Function ID:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h 0x86000000h]h 0x86000000}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjsubjw)}(hhh](j|)}(hhh]h)}(h Arguments:h]h Arguments:}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hj<ubah}(h]h ]h"]h$]h&]uh1j{hj9ubj|)}(hhh]h)}(hNoneh]hNone}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjSubah}(h]h ]h"]h$]h&]morecolsKuh1j{hj9ubeh}(h]h ]h"]h$]h&]uh1jvhjsubjw)}(hhh](j|)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjtubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjqubj|)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1j{hjqubj|)}(hhh]h)}(hR0h]hR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1j{hjqubj|)}(hhh]h)}(h)Bitmap of available function numbers 0-31h]h)Bitmap of available function numbers 0-31}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1j{hjqubeh}(h]h ]h"]h$]h&]uh1jvhjsubjw)}(hhh](j|)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR1h]hR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h*Bitmap of available function numbers 32-63h]h*Bitmap of available function numbers 32-63}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjsubjw)}(hhh](j|)}(hhh]h)}(h(uint32)h]h(uint32)}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hj(ubah}(h]h ]h"]h$]h&]uh1j{hj%ubj|)}(hhh]h)}(hR2h]hR2}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hj?ubah}(h]h ]h"]h$]h&]uh1j{hj%ubj|)}(hhh]h)}(h*Bitmap of available function numbers 64-95h]h*Bitmap of available function numbers 64-95}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjVubah}(h]h ]h"]h$]h&]uh1j{hj%ubeh}(h]h ]h"]h$]h&]uh1jvhjsubjw)}(hhh](j|)}(hhh]h)}(h(uint32)h]h(uint32)}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjvubah}(h]h ]h"]h$]h&]uh1j{hjsubj|)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1j{hjsubj|)}(hhh]h)}(h+Bitmap of available function numbers 96-127h]h+Bitmap of available function numbers 96-127}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1j{hjsubeh}(h]h ]h"]h$]h&]uh1jvhjsubeh}(h]h ]h"]h$]h&]uh1jqhjDubeh}(h]h ]h"]h$]h&]colsKuh1jBhj?ubah}(h]h ]h"]h$]h&]uh1j=hjhhhhhNubeh}(h])arm-smccc-vendor-hyp-kvm-features-func-idah ]h"])arm_smccc_vendor_hyp_kvm_features_func_idah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h(``ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID``h]h)}(hjh]h$ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK,ubh)}(hSee ptp_kvm.rsth]hSee ptp_kvm.rst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjhhubeh}(h]$arm-smccc-vendor-hyp-kvm-ptp-func-idah ]h"]$arm_smccc_vendor_hyp_kvm_ptp_func_idah$]h&]uh1hhhhhhhhK,ubh)}(hhh](h)}(h"``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``h]h)}(hjh]hARM_SMCCC_KVM_FUNC_HYP_MEMINFO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK1ubh)}(hLQuery the memory protection parameters for a pKVM protected virtual machine.h]hLQuery the memory protection parameters for a pKVM protected virtual machine.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hj hhubj>)}(hhh]jC)}(hhh](jH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhj7ubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jGhj7ubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhj7ubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jGhj7ubjr)}(hhh](jw)}(hhh](j|)}(hhh]h)}(h Presence:h]h Presence:}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjhubah}(h]h ]h"]h$]h&]uh1j{hjeubj|)}(hhh]h)}(h%Optional; pKVM protected guests only.h]h%Optional; pKVM protected guests only.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjeubeh}(h]h ]h"]h$]h&]uh1jvhjbubjw)}(hhh](j|)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hHVC64h]hHVC64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjbubjw)}(hhh](j|)}(hhh]h)}(h Function ID:h]h Function ID:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h 0xC6000002h]h 0xC6000002}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjbubjw)}(hhh](j|)}(hhh]h)}(h Arguments:h]h Arguments:}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR2h]hR2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjbubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hj ubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjbubjw)}(hhh](j|)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj)ubah}(h]h ]h"]h$]h&]uh1j{hj&ubj|)}(hhh]h)}(h(int64)h]h(int64)}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj@ubah}(h]h ]h"]h$]h&]uh1j{hj&ubj|)}(hhh]h)}(hR0h]hR0}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjWubah}(h]h ]h"]h$]h&]uh1j{hj&ubj|)}(hhh]h)}(hL``INVALID_PARAMETER (-3)`` on error, else memory protection granule in bytesh](h)}(h``INVALID_PARAMETER (-3)``h]hINVALID_PARAMETER (-3)}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubh2 on error, else memory protection granule in bytes}(hjqhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKBhjnubah}(h]h ]h"]h$]h&]uh1j{hj&ubeh}(h]h ]h"]h$]h&]uh1jvhjbubeh}(h]h ]h"]h$]h&]uh1jqhj7ubeh}(h]h ]h"]h$]h&]colsKuh1jBhj4ubah}(h]h ]h"]h$]h&]uh1j=hj hhhhhNubeh}(h]arm-smccc-kvm-func-hyp-meminfoah ]h"]arm_smccc_kvm_func_hyp_meminfoah$]h&]uh1hhhhhhhhK1ubh)}(hhh](h)}(h ``ARM_SMCCC_KVM_FUNC_MEM_SHARE``h]h)}(hjh]hARM_SMCCC_KVM_FUNC_MEM_SHARE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKGubh)}(hShare a region of memory with the KVM host, granting it read, write and execute permissions. The size of the region is equal to the memory protection granule advertised by ``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``.h](hShare a region of memory with the KVM host, granting it read, write and execute permissions. The size of the region is equal to the memory protection granule advertised by }(hjhhhNhNubh)}(h"``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``h]hARM_SMCCC_KVM_FUNC_HYP_MEMINFO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKIhjhhubj>)}(hhh]jC)}(hhh](jH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhjubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jGhjubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhjubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jGhjubjr)}(hhh](jw)}(hhh](j|)}(hhh]h)}(h Presence:h]h Presence:}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhj"ubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h%Optional; pKVM protected guests only.h]h%Optional; pKVM protected guests only.}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhj9ubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjZubah}(h]h ]h"]h$]h&]uh1j{hjWubj|)}(hhh]h)}(hHVC64h]hHVC64}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjqubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjWubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h Function ID:h]h Function ID:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h 0xC6000003h]h 0xC6000003}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h Arguments:h]h Arguments:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR1h]hR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h"Base IPA of memory region to shareh]h"Base IPA of memory region to share}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThj'ubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjGubah}(h]h ]h"]h$]h&]uh1j{hjDubj|)}(hhh]h)}(hR2h]hR2}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhj^ubah}(h]h ]h"]h$]h&]uh1j{hjDubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjuubah}(h]h ]h"]h$]h&]uh1j{hjDubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h(int64)h]h(int64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(hR0h]hR0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhj ubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h``SUCCESS (0)``h]h)}(hj0 h]h SUCCESS (0)}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj. ubah}(h]h ]h"]h$]h&]uh1hhhhKZhj+ ubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh]j|)}(hhh]h)}(h``INVALID_PARAMETER (-3)``h]h)}(hjY h]hINVALID_PARAMETER (-3)}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjW ubah}(h]h ]h"]h$]h&]uh1hhhhK\hjT ubah}(h]h ]h"]h$]h&]uh1j{hjQ ubah}(h]h ]h"]h$]h&]uh1jvhjubeh}(h]h ]h"]h$]h&]uh1jqhjubeh}(h]h ]h"]h$]h&]colsKuh1jBhjubah}(h]h ]h"]h$]h&]uh1j=hjhhhhhNubeh}(h]arm-smccc-kvm-func-mem-shareah ]h"]arm_smccc_kvm_func_mem_shareah$]h&]uh1hhhhhhhhKGubh)}(hhh](h)}(h"``ARM_SMCCC_KVM_FUNC_MEM_UNSHARE``h]h)}(hj h]hARM_SMCCC_KVM_FUNC_MEM_UNSHARE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK`ubh)}(hRevoke access permission from the KVM host to a memory region previously shared with ``ARM_SMCCC_KVM_FUNC_MEM_SHARE``. The size of the region is equal to the memory protection granule advertised by ``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``.h](hURevoke access permission from the KVM host to a memory region previously shared with }(hj hhhNhNubh)}(h ``ARM_SMCCC_KVM_FUNC_MEM_SHARE``h]hARM_SMCCC_KVM_FUNC_MEM_SHARE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubhQ. The size of the region is equal to the memory protection granule advertised by }(hj hhhNhNubh)}(h"``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``h]hARM_SMCCC_KVM_FUNC_HYP_MEMINFO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKbhj hhubj>)}(hhh]jC)}(hhh](jH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhj ubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jGhj ubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhj ubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jGhj ubjr)}(hhh](jw)}(hhh](j|)}(hhh]h)}(h Presence:h]h Presence:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(h%Optional; pKVM protected guests only.h]h%Optional; pKVM protected guests only.}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghj, ubah}(h]h ]h"]h$]h&]morecolsKuh1j{hj ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjM ubah}(h]h ]h"]h$]h&]uh1j{hjJ ubj|)}(hhh]h)}(hHVC64h]hHVC64}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjd ubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjJ ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(h Function ID:h]h Function ID:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(h(uint32)h]h(uint32)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(h 0xC6000004h]h 0xC6000004}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhj ubah}(h]h ]h"]h$]h&]morecolsKuh1j{hj ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(h Arguments:h]h Arguments:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj ubah}(h]h ]h"]h$]h&]morerowsKuh1j{hj ubj|)}(hhh]h)}(h(uint64)h]h(uint64)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(hR1h]hR1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(h$Base IPA of memory region to unshareh]h$Base IPA of memory region to unshare}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hj= hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohj: ubah}(h]h ]h"]h$]h&]uh1j{hj7 ubj|)}(hhh]h)}(hR2h]hR2}(hjT hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjQ ubah}(h]h ]h"]h$]h&]uh1j{hj7 ubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjk hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjh ubah}(h]h ]h"]h$]h&]uh1j{hj7 ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(hR3h]hR3}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj ubah}(h]h ]h"]h$]h&]morerowsKuh1j{hj ubj|)}(hhh]h)}(h(int64)h]h(int64)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj ubah}(h]h ]h"]h$]h&]morerowsKuh1j{hj ubj|)}(hhh]h)}(hR0h]hR0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj ubah}(h]h ]h"]h$]h&]morerowsKuh1j{hj ubj|)}(hhh]h)}(h``SUCCESS (0)``h]h)}(hj# h]h SUCCESS (0)}(hj% hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj! ubah}(h]h ]h"]h$]h&]uh1hhhhKshj ubah}(h]h ]h"]h$]h&]uh1j{hj ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh]j|)}(hhh]h)}(h``INVALID_PARAMETER (-3)``h]h)}(hjL h]hINVALID_PARAMETER (-3)}(hjN hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJ ubah}(h]h ]h"]h$]h&]uh1hhhhKuhjG ubah}(h]h ]h"]h$]h&]uh1j{hjD ubah}(h]h ]h"]h$]h&]uh1jvhj ubeh}(h]h ]h"]h$]h&]uh1jqhj ubeh}(h]h ]h"]h$]h&]colsKuh1jBhj ubah}(h]h ]h"]h$]h&]uh1j=hj hhhhhNubeh}(h]arm-smccc-kvm-func-mem-unshareah ]h"]arm_smccc_kvm_func_mem_unshareah$]h&]uh1hhhhhhhhK`ubh)}(hhh](h)}(h!``ARM_SMCCC_KVM_FUNC_MMIO_GUARD``h]h)}(hj h]hARM_SMCCC_KVM_FUNC_MMIO_GUARD}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKyubh)}(hRequest that a given memory region is handled as MMIO by the hypervisor, allowing accesses to this region to be emulated by the KVM host. The size of the region is equal to the memory protection granule advertised by ``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``.h](hRequest that a given memory region is handled as MMIO by the hypervisor, allowing accesses to this region to be emulated by the KVM host. The size of the region is equal to the memory protection granule advertised by }(hj hhhNhNubh)}(h"``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``h]hARM_SMCCC_KVM_FUNC_HYP_MEMINFO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK{hj hhubj>)}(hhh]jC)}(hhh](jH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhj ubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jGhj ubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhj ubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jGhj ubjr)}(hhh](jw)}(hhh](j|)}(hhh]h)}(h Presence:h]h Presence:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(h%Optional; pKVM protected guests only.h]h%Optional; pKVM protected guests only.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]morecolsKuh1j{hj ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hj1 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj. ubah}(h]h ]h"]h$]h&]uh1j{hj+ ubj|)}(hhh]h)}(hHVC64h]hHVC64}(hjH hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjE ubah}(h]h ]h"]h$]h&]morecolsKuh1j{hj+ ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(h Function ID:h]h Function ID:}(hji hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjf ubah}(h]h ]h"]h$]h&]uh1j{hjc ubj|)}(hhh]h)}(h(uint32)h]h(uint32)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj} ubah}(h]h ]h"]h$]h&]uh1j{hjc ubj|)}(hhh]h)}(h 0xC6000007h]h 0xC6000007}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjc ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(h Arguments:h]h Arguments:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]morerowsKuh1j{hj ubj|)}(hhh]h)}(h(uint64)h]h(uint64)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(hR1h]hR1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubj|)}(hhh]h)}(hBase IPA of MMIO memory regionh]hBase IPA of MMIO memory region}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j{hj ubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR2h]hR2}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjIubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjiubah}(h]h ]h"]h$]h&]uh1j{hjfubj|)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjfubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjfubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh](j|)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h(int64)h]h(int64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(hR0h]hR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h``SUCCESS (0)``h]h)}(hjh]h SUCCESS (0)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhj ubjw)}(hhh]j|)}(hhh]h)}(h``INVALID_PARAMETER (-3)``h]h)}(hj-h]hINVALID_PARAMETER (-3)}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1j{hj%ubah}(h]h ]h"]h$]h&]uh1jvhj ubeh}(h]h ]h"]h$]h&]uh1jqhj ubeh}(h]h ]h"]h$]h&]colsKuh1jBhj ubah}(h]h ]h"]h$]h&]uh1j=hj hhhhhNubeh}(h]arm-smccc-kvm-func-mmio-guardah ]h"]arm_smccc_kvm_func_mmio_guardah$]h&]uh1hhhhhhhhKyubh)}(hhh](h)}(h6``ARM_SMCCC_VENDOR_HYP_KVM_DISCOVER_IMPL_VER_FUNC_ID``h]h)}(hjnh]h2ARM_SMCCC_VENDOR_HYP_KVM_DISCOVER_IMPL_VER_FUNC_ID}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1hhjihhhhhKubh)}(htRequest the target CPU implementation version information and the number of target implementations for the Guest VM.h]htRequest the target CPU implementation version information and the number of target implementations for the Guest VM.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjihhubj>)}(hhh]jC)}(hhh](jH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhjubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jGhjubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhjubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jGhjubjr)}(hhh](jw)}(hhh](j|)}(hhh]h)}(h Presence:h]h Presence:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h Optional; KVM/ARM64 Guests onlyh]h Optional; KVM/ARM64 Guests only}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hHVC64h]hHVC64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h Function ID:h]h Function ID:}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1j{hj2ubj|)}(hhh]h)}(h(uint32)h]h(uint32)}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjLubah}(h]h ]h"]h$]h&]uh1j{hj2ubj|)}(hhh]h)}(h 0xC6000040h]h 0xC6000040}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubah}(h]h ]h"]h$]h&]morecolsKuh1j{hj2ubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h Arguments:h]h Arguments:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hNoneh]hNone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h(int64)h]h(int64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(hR0h]hR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h``SUCCESS (0)``h]h)}(hj h]h SUCCESS (0)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh]j|)}(hhh]h)}(h``NOT_SUPPORTED (-1)``h]h)}(hj2h]hNOT_SUPPORTED (-1)}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhKhj-ubah}(h]h ]h"]h$]h&]uh1j{hj*ubah}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjVubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjSubj|)}(hhh]h)}(hR1h]hR1}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjnubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjSubj|)}(hhh]h)}(h"Bits [63:32] Reserved/Must be zeroh]h"Bits [63:32] Reserved/Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjSubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh]j|)}(hhh]h)}(hBits [31:16] Major versionh]hBits [31:16] Major version}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubah}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh]j|)}(hhh]h)}(hBits [15:0] Minor versionh]hBits [15:0] Minor version}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubah}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR2h]hR2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h Number of target implementationsh]h Number of target implementations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1j{hj1ubj|)}(hhh]h)}(hR3h]hR3}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjKubah}(h]h ]h"]h$]h&]uh1j{hj1ubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjbubah}(h]h ]h"]h$]h&]uh1j{hj1ubeh}(h]h ]h"]h$]h&]uh1jvhjubeh}(h]h ]h"]h$]h&]uh1jqhjubeh}(h]h ]h"]h$]h&]colsKuh1jBhjubah}(h]h ]h"]h$]h&]uh1j=hjihhhhhNubeh}(h]2arm-smccc-vendor-hyp-kvm-discover-impl-ver-func-idah ]h"]2arm_smccc_vendor_hyp_kvm_discover_impl_ver_func_idah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h7``ARM_SMCCC_VENDOR_HYP_KVM_DISCOVER_IMPL_CPUS_FUNC_ID``h]h)}(hjh]h3ARM_SMCCC_VENDOR_HYP_KVM_DISCOVER_IMPL_CPUS_FUNC_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hRequest the target CPU implementation information for the Guest VM. The Guest kernel will use this information to enable the associated errata.h]hRequest the target CPU implementation information for the Guest VM. The Guest kernel will use this information to enable the associated errata.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj>)}(hhh]jC)}(hhh](jH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhjubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jGhjubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jGhjubjH)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jGhjubjr)}(hhh](jw)}(hhh](j|)}(hhh]h)}(h Presence:h]h Presence:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h Optional; KVM/ARM64 Guests onlyh]h Optional; KVM/ARM64 Guests only}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1j{hj+ubj|)}(hhh]h)}(hHVC64h]hHVC64}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjEubah}(h]h ]h"]h$]h&]morecolsKuh1j{hj+ubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h Function ID:h]h Function ID:}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfubah}(h]h ]h"]h$]h&]uh1j{hjcubj|)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj}ubah}(h]h ]h"]h$]h&]uh1j{hjcubj|)}(hhh]h)}(h 0xC6000041h]h 0xC6000041}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1j{hjcubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h Arguments:h]h Arguments:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR1h]hR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hselected implementation indexh]hselected implementation index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR2h]hR2}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjIubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjiubah}(h]h ]h"]h$]h&]uh1j{hjfubj|)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjfubj|)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjfubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h(int64)h]h(int64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(hR0h]hR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1j{hjubj|)}(hhh]h)}(h``SUCCESS (0)``h]h)}(hjh]h SUCCESS (0)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh]j|)}(hhh]h)}(h``INVALID_PARAMETER (-3)``h]h)}(hj-h]hINVALID_PARAMETER (-3)}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1j{hj%ubah}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjQubah}(h]h ]h"]h$]h&]uh1j{hjNubj|)}(hhh]h)}(hR1h]hR1}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhubah}(h]h ]h"]h$]h&]uh1j{hjNubj|)}(hhh]h)}(h'MIDR_EL1 of the selected implementationh]h'MIDR_EL1 of the selected implementation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjNubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR2h]hR2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h)REVIDR_EL1 of the selected implementationh]h)REVIDR_EL1 of the selected implementation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubjw)}(hhh](j|)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubj|)}(hhh]h)}(h(AIDR_EL1 of the selected implementationh]h(AIDR_EL1 of the selected implementation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j{hjubeh}(h]h ]h"]h$]h&]uh1jvhjubeh}(h]h ]h"]h$]h&]uh1jqhjubeh}(h]h ]h"]h$]h&]colsKuh1jBhjubah}(h]h ]h"]h$]h&]uh1j=hjhhhhhNubeh}(h]3arm-smccc-vendor-hyp-kvm-discover-impl-cpus-func-idah ]h"]3arm_smccc_vendor_hyp_kvm_discover_impl_cpus_func_idah$]h&]uh1hhhhhhhhKubeh}(h]/kvm-arm64-specific-hypercalls-exposed-to-guestsah ]h"]/kvm/arm64-specific hypercalls exposed to guestsah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj{footnote_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}(jXjUjjj jjjj j j j jfjcjjjPjMu nametypes}(jXjj jj j jfjjPuh}(jUhjjjjjj j jj j jcj jjijMju 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.