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]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/pt_BR/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 }(hjhhhNhNubhliteral)}(h(``28b46fb6-2ec5-11e9-a9ca-4b564d003a74``h]h$28b46fb6-2ec5-11e9-a9ca-4b564d003a74}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh. 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.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h-``ARM_SMCCC_VENDOR_HYP_KVM_FEATURES_FUNC_ID``h]j)}(hj.h]h)ARM_SMCCC_VENDOR_HYP_KVM_FEATURES_FUNC_ID}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1hhj)hhhhhKubh)}(h>Provides a discovery mechanism for other KVM/arm64 hypercalls.h]h>Provides a discovery mechanism for other KVM/arm64 hypercalls.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)hhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjXubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j[hjXubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjXubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1j[hjXubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h Presence:h]h Presence:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHVC32h]hHVC32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h Function ID:h]h Function ID:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h 0x86000000h]h 0x86000000}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h Arguments:h]h Arguments:}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjPubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hNoneh]hNone}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjgubah}(h]h ]h"]h$]h&]morecolsKuh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR0h]hR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR1h]hR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h*Bitmap of available function numbers 32-63h]h*Bitmap of available function numbers 32-63}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint32)h]h(uint32)}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hR2h]hR2}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjSubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h*Bitmap of available function numbers 64-95h]h*Bitmap of available function numbers 64-95}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjjubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]colsKuh1jVhjSubah}(h]h ]h"]h$]h&]uh1jQhj)hhhhhNubeh}(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]j)}(hjh]h$ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK,ubh)}(hSee ptp_kvm.rsth]hSee ptp_kvm.rst}(hj hhhNhNubah}(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]j)}(hj%h]hARM_SMCCC_KVM_FUNC_HYP_MEMINFO}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(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 hhubjR)}(hhh]jW)}(hhh](j\)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjKubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j[hjKubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjKubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1j[hjKubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h Presence:h]h Presence:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hj|ubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(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&]morecolsKuh1jhjyubeh}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh](j)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHVC64h]hHVC64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh](j)}(hhh]h)}(h Function ID:h]h Function ID:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h 0xC6000002h]h 0xC6000002}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh](j)}(hhh]h)}(h Arguments:h]h Arguments:}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR2h]hR2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR3h]hR3}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh](j)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj=ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(h(int64)h]h(int64)}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjTubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hR0h]hR0}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjkubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hL``INVALID_PARAMETER (-3)`` on error, else memory protection granule in bytesh](j)}(h``INVALID_PARAMETER (-3)``h]hINVALID_PARAMETER (-3)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh2 on error, else memory protection granule in bytes}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKBhjubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]colsKuh1jVhjHubah}(h]h ]h"]h$]h&]uh1jQhj 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]j)}(hjh]hARM_SMCCC_KVM_FUNC_MEM_SHARE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(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 }(hjhhhNhNubj)}(h"``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``h]hARM_SMCCC_KVM_FUNC_HYP_MEMINFO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKIhjhhubjR)}(hhh]jW)}(hhh](j\)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j[hjubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1j[hjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h Presence:h]h Presence:}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhj6ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(h%Optional; pKVM protected guests only.h]h%Optional; pKVM protected guests only.}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhjMubah}(h]h ]h"]h$]h&]morecolsKuh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjnubah}(h]h ]h"]h$]h&]uh1jhjkubj)}(hhh]h)}(hHVC64h]hHVC64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjkubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(h Function ID:h]h Function ID:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h 0xC6000003h]h 0xC6000003}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(h Arguments:h]h Arguments:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR1h]hR1}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThj$ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhj[ubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hR2h]hR2}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjrubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h(int64)h]h(int64)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhj ubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(hR0h]hR0}(hj* hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhj' ubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h``SUCCESS (0)``h]j)}(hjD h]h SUCCESS (0)}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjB ubah}(h]h ]h"]h$]h&]uh1hhhhKZhj? ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]j)}(hhh]h)}(h``INVALID_PARAMETER (-3)``h]j)}(hjm h]hINVALID_PARAMETER (-3)}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjk ubah}(h]h ]h"]h$]h&]uh1hhhhK\hjh ubah}(h]h ]h"]h$]h&]uh1jhje ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jVhjubah}(h]h ]h"]h$]h&]uh1jQhjhhhhhNubeh}(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]j)}(hj h]hARM_SMCCC_KVM_FUNC_MEM_UNSHARE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj 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 hhhNhNubj)}(h ``ARM_SMCCC_KVM_FUNC_MEM_SHARE``h]hARM_SMCCC_KVM_FUNC_MEM_SHARE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhQ. The size of the region is equal to the memory protection granule advertised by }(hj hhhNhNubj)}(h"``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``h]hARM_SMCCC_KVM_FUNC_HYP_MEMINFO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKbhj hhubjR)}(hhh]jW)}(hhh](j\)}(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 ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h Presence:h]h Presence:}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghj) ubah}(h]h ]h"]h$]h&]uh1jhj& ubj)}(hhh]h)}(h%Optional; pKVM protected guests only.h]h%Optional; pKVM protected guests only.}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghj@ ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj& ubeh}(h]h ]h"]h$]h&]uh1jhj# ubj)}(hhh](j)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihja ubah}(h]h ]h"]h$]h&]uh1jhj^ ubj)}(hhh]h)}(hHVC64h]hHVC64}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjx ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj^ ubeh}(h]h ]h"]h$]h&]uh1jhj# ubj)}(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&]uh1jhj ubj)}(hhh]h)}(h(uint32)h]h(uint32)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h 0xC6000004h]h 0xC6000004}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhj ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj# ubj)}(hhh](j)}(hhh]h)}(h Arguments:h]h Arguments:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj ubah}(h]h ]h"]h$]h&]morerowsKuh1jhj ubj)}(hhh]h)}(h(uint64)h]h(uint64)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hR1h]hR1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h$Base IPA of memory region to unshareh]h$Base IPA of memory region to unshare}(hj1 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj. ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj# ubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjN ubah}(h]h ]h"]h$]h&]uh1jhjK ubj)}(hhh]h)}(hR2h]hR2}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohje ubah}(h]h ]h"]h$]h&]uh1jhjK ubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohj| ubah}(h]h ]h"]h$]h&]uh1jhjK ubeh}(h]h ]h"]h$]h&]uh1jhj# ubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hR3h]hR3}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhj ubah}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj# ubj)}(hhh](j)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj ubah}(h]h ]h"]h$]h&]morerowsKuh1jhj ubj)}(hhh]h)}(h(int64)h]h(int64)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj ubah}(h]h ]h"]h$]h&]morerowsKuh1jhj ubj)}(hhh]h)}(hR0h]hR0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj ubah}(h]h ]h"]h$]h&]morerowsKuh1jhj ubj)}(hhh]h)}(h``SUCCESS (0)``h]j)}(hj7 h]h SUCCESS (0)}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5 ubah}(h]h ]h"]h$]h&]uh1hhhhKshj2 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj# ubj)}(hhh]j)}(hhh]h)}(h``INVALID_PARAMETER (-3)``h]j)}(hj` h]hINVALID_PARAMETER (-3)}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ ubah}(h]h ]h"]h$]h&]uh1hhhhKuhj[ ubah}(h]h ]h"]h$]h&]uh1jhjX ubah}(h]h ]h"]h$]h&]uh1jhj# ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jVhj ubah}(h]h ]h"]h$]h&]uh1jQhj 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]j)}(hj h]hARM_SMCCC_KVM_FUNC_MMIO_GUARD}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj 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 hhhNhNubj)}(h"``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``h]hARM_SMCCC_KVM_FUNC_HYP_MEMINFO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK{hj hhubjR)}(hhh]jW)}(hhh](j\)}(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 ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h Presence:h]h Presence:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj 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&]morecolsKuh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjB ubah}(h]h ]h"]h$]h&]uh1jhj? ubj)}(hhh]h)}(hHVC64h]hHVC64}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjY ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj? ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h Function ID:h]h Function ID:}(hj} hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjz ubah}(h]h ]h"]h$]h&]uh1jhjw ubj)}(hhh]h)}(h(uint32)h]h(uint32)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjw ubj)}(hhh]h)}(h 0xC6000007h]h 0xC6000007}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjw ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h Arguments:h]h Arguments:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]morerowsKuh1jhj ubj)}(hhh]h)}(h(uint64)h]h(uint64)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hR1h]hR1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hBase IPA of MMIO memory regionh]hBase IPA of MMIO memory region}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hR2h]hR2}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjFubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj]ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj}ubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h(int64)h]h(int64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(hR0h]hR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h``SUCCESS (0)``h]j)}(hjh]h SUCCESS (0)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hhh]h)}(h``INVALID_PARAMETER (-3)``h]j)}(hjAh]hINVALID_PARAMETER (-3)}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jVhj ubah}(h]h ]h"]h$]h&]uh1jQhj 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]j)}(hjh]h2ARM_SMCCC_VENDOR_HYP_KVM_DISCOVER_IMPL_VER_FUNC_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhj}hhhhhKubh)}(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&]uh1hhhhKhj}hhubjR)}(hhh]jW)}(hhh](j\)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j[hjubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1j[hjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h Presence:h]h Presence:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHVC64h]hHVC64}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h Function ID:h]h Function ID:}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjIubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(h(uint32)h]h(uint32)}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj`ubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(h 0xC6000040h]h 0xC6000040}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwubah}(h]h ]h"]h$]h&]morecolsKuh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h Arguments:h]h Arguments:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hNoneh]hNone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h(int64)h]h(int64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(hR0h]hR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h``SUCCESS (0)``h]j)}(hjh]h SUCCESS (0)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh]h)}(h``NOT_SUPPORTED (-1)``h]j)}(hjFh]hNOT_SUPPORTED (-1)}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1hhhhKhjAubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjgubj)}(hhh]h)}(hR1h]hR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjgubj)}(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&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR2h]hR2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Number of target implementationsh]h Number of target implementations}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjHubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hR3h]hR3}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj_ubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjvubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jVhjubah}(h]h ]h"]h$]h&]uh1jQhj}hhhhhNubeh}(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]j)}(hjh]h3ARM_SMCCC_VENDOR_HYP_KVM_DISCOVER_IMPL_CPUS_FUNC_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(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&]uh1hhhhKhjhhubjR)}(hhh]jW)}(hhh](j\)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j[hjubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j[hjubj\)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1j[hjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h Presence:h]h Presence:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Optional; KVM/ARM64 Guests onlyh]h Optional; KVM/ARM64 Guests only}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hCalling convention:h]hCalling convention:}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjBubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hHVC64h]hHVC64}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjYubah}(h]h ]h"]h$]h&]morecolsKuh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h Function ID:h]h Function ID:}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjzubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(h(uint32)h]h(uint32)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(h 0xC6000041h]h 0xC6000041}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h Arguments:h]h Arguments:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR1h]hR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hselected implementation indexh]hselected implementation index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hR2h]hR2}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjFubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj]ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj}ubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hReserved / Must be zeroh]hReserved / Must be zero}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hReturn Values:h]hReturn Values:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h(int64)h]h(int64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(hR0h]hR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jhjubj)}(hhh]h)}(h``SUCCESS (0)``h]j)}(hjh]h SUCCESS (0)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh]h)}(h``INVALID_PARAMETER (-3)``h]j)}(hjAh]hINVALID_PARAMETER (-3)}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjeubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hR1h]hR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(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&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR2h]hR2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(uint64)h]h(uint64)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hR3h]hR3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h(AIDR_EL1 of the selected implementationh]h(AIDR_EL1 of the selected implementation}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jVhjubah}(h]h ]h"]h$]h&]uh1jQhjhhhhhNubeh}(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_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_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _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}(jljijjjjjjj j j j jzjwjjjdjau nametypes}(jljjjj j jzjjduh}(jihjj)jjjj j jj j jwj jj}jaju 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.