/linux/arch/x86/hyperv/ |
H A D | ivm.c | 262 static int snp_set_vmsa(void *va, bool vmsa) in snp_set_vmsa() argument 267 * Running at VMPL0 allows the kernel to change the VMSA bit for a page in snp_set_vmsa() 274 if (vmsa) in snp_set_vmsa() 280 static void snp_cleanup_vmsa(struct sev_es_save_area *vmsa) in snp_cleanup_vmsa() argument 284 err = snp_set_vmsa(vmsa, false); in snp_cleanup_vmsa() 286 pr_err("clear VMSA page failed (%u), leaking page\n", err); in snp_cleanup_vmsa() 288 free_page((unsigned long)vmsa); in snp_cleanup_vmsa() 293 struct sev_es_save_area *vmsa = (struct sev_es_save_area *) in hv_snp_boot_ap() local 301 if (!vmsa) in hv_snp_boot_ap() 306 vmsa->gdtr.base = gdtr.address; in hv_snp_boot_ap() [all …]
|
/linux/Documentation/devicetree/bindings/iommu/ |
H A D | renesas,ipmmu-vmsa.yaml | 4 $id: http://devicetree.org/schemas/iommu/renesas,ipmmu-vmsa.yaml# 7 title: Renesas VMSA-Compatible IOMMU 13 The IPMMU is an IOMMU implementation compatible with the ARM VMSA page tables. 31 - const: renesas,ipmmu-vmsa # R-Mobile APE6 or R-Car Gen2 or RZ/G1 54 - const: renesas,rcar-gen4-ipmmu-vmsa # R-Car Gen4 108 const: renesas,ipmmu-vmsa 117 const: renesas,rcar-gen4-ipmmu-vmsa 136 compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa";
|
H A D | qcom,apq8064-iommu.yaml | 14 The MSM IOMMU is an implementation compatible with the ARM VMSA short
|
/linux/arch/x86/coco/sev/ |
H A D | core.c | 104 * across the APs VMSA fields (TSC_SCALE and TSC_OFFSET). 1123 * If the kernel runs at VMPL0, it can change the VMSA in snp_set_vmsa() 1152 * Allocate VMSA page to work around the SNP erratum where the CPU will in snp_alloc_vmsa_page() 1154 * collides with the RMP entry of VMSA page. The recommended workaround in snp_alloc_vmsa_page() 1171 static void snp_cleanup_vmsa(struct sev_es_save_area *vmsa, int apic_id) in snp_cleanup_vmsa() argument 1175 err = snp_set_vmsa(vmsa, NULL, apic_id, false); in snp_cleanup_vmsa() 1177 pr_err("clear VMSA page failed (%u), leaking page\n", err); in snp_cleanup_vmsa() 1179 free_page((unsigned long)vmsa); in snp_cleanup_vmsa() 1184 struct sev_es_save_area *cur_vmsa, *vmsa; in wakeup_cpu_via_vmgexit() local 1223 * A new VMSA is created each time because there is no guarantee that in wakeup_cpu_via_vmgexit() [all …]
|
/linux/arch/x86/kvm/svm/ |
H A D | sev.c | 806 struct sev_es_save_area *save = svm->sev_es.vmsa; in sev_es_sync_vmsa() 812 /* Check some debug related fields before encrypting the VMSA */ in sev_es_sync_vmsa() 817 * SEV-ES will use a VMSA that is pointed to by the VMCB, not in sev_es_sync_vmsa() 818 * the traditional VMSA that is part of the VMCB. Copy the in sev_es_sync_vmsa() 819 * traditional VMSA as it has been built so far (in prep in sev_es_sync_vmsa() 891 pr_debug("Virtual Machine Save Area (VMSA):\n"); in sev_es_sync_vmsa() 900 struct sev_data_launch_update_vmsa vmsa; in __sev_launch_update_vmsa() local 909 /* Perform some pre-encryption checks against the VMSA */ in __sev_launch_update_vmsa() 916 * the VMSA memory content (i.e it will write the same memory region in __sev_launch_update_vmsa() 919 clflush_cache_range(svm->sev_es.vmsa, PAGE_SIZE); in __sev_launch_update_vmsa() [all …]
|
H A D | svm.h | 217 struct sev_es_save_area *vmsa; member 238 struct mutex snp_vmsa_mutex; /* Used to handle concurrent updates of VMSA. */
|
H A D | svm.c | 1443 * SEV-ES guests require a separate VMSA page used to contain in svm_vcpu_create() 1468 svm->sev_es.vmsa = page_address(vmsa_page); in svm_vcpu_create() 1842 * contents of the VMSA, and future VMCB save area updates won't be in sev_post_set_cr3()
|
/linux/Documentation/virt/kvm/x86/ |
H A D | amd-memory-encryption.rst | 96 __u64 vmsa_features; /* initial value of features field in VMSA */ 105 0 for SEV virtual machines, as they do not have a VMSA. 126 might set the debug swap VMSA feature (bit 5) depending on the value of the 312 report containing the SHA-256 digest of the guest memory and VMSA passed through the KVM_SEV_LAUNCH
|
/linux/drivers/iommu/ |
H A D | ipmmu-vmsa.c | 3 * IOMMU API for Renesas VMSA-compatible IPMMU 424 * VMSA states in section B3.6.3 "Control of Secure or Non-secure memory in ipmmu_domain_init_context() 955 .compatible = "renesas,ipmmu-vmsa", 997 .compatible = "renesas,rcar-gen4-ipmmu-vmsa", 1157 .name = "ipmmu-vmsa",
|
/linux/tools/testing/selftests/kvm/x86/ |
H A D | sev_smoke_test.c | 41 /* Stash state passed via VMSA before any compiled code runs. */
|
/linux/arch/arm/kernel/ |
H A D | head.S | 115 and r3, r3, #0xf @ extract VMSA support
|
/linux/arch/arm/boot/compressed/ |
H A D | head.S | 872 tst r11, #0xf @ VMSA 877 tst r11, #0xf @ VMSA
|
/linux/tools/arch/x86/kcpuid/ |
H A D | cpuid.csv | 974 0x8000001f, 0, eax, 24, vmsa_reg_protection , VMSA register protection is suppo…
|