/linux/arch/x86/hyperv/ |
H A D | ivm.c | 265 static int snp_set_vmsa(void *va, bool vmsa) in snp_set_vmsa() argument 270 * Running at VMPL0 allows the kernel to change the VMSA bit for a page in snp_set_vmsa() 277 if (vmsa) in snp_set_vmsa() 283 static void snp_cleanup_vmsa(struct sev_es_save_area *vmsa) in snp_cleanup_vmsa() argument 287 err = snp_set_vmsa(vmsa, false); in snp_cleanup_vmsa() 289 pr_err("clear VMSA page failed (%u), leaking page\n", err); in snp_cleanup_vmsa() 291 free_page((unsigned long)vmsa); in snp_cleanup_vmsa() 296 struct sev_es_save_area *vmsa = (struct sev_es_save_area *) in hv_snp_boot_ap() local 305 if (!vmsa) in hv_snp_boot_ap() 315 vmsa->gdtr.base = gdtr.address; in hv_snp_boot_ap() [all …]
|
/linux/arch/x86/coco/sev/ |
H A D | core.c | 130 * across the APs VMSA fields (TSC_SCALE and TSC_OFFSET). 706 static int vmgexit_ap_control(u64 event, struct sev_es_save_area *vmsa, u32 apic_id) in vmgexit_ap_control() argument 721 ghcb_set_rax(ghcb, vmsa->sev_features); in vmgexit_ap_control() 728 ghcb_set_sw_exit_info_2(ghcb, __pa(vmsa)); in vmgexit_ap_control() 774 * If the kernel runs at VMPL0, it can change the VMSA in snp_set_vmsa() 791 static void snp_cleanup_vmsa(struct sev_es_save_area *vmsa, int apic_id) in snp_cleanup_vmsa() argument 795 err = snp_set_vmsa(vmsa, NULL, apic_id, false); in snp_cleanup_vmsa() 797 pr_err("clear VMSA page failed (%u), leaking page\n", err); in snp_cleanup_vmsa() 799 free_page((unsigned long)vmsa); in snp_cleanup_vmsa() 901 * the VMSA tag on AP's VMSA pages as they are not being used as [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/kvm/svm/ |
H A D | sev.c | 868 struct sev_es_save_area *save = svm->sev_es.vmsa; in sev_es_sync_vmsa() 874 /* Check some debug related fields before encrypting the VMSA */ in sev_es_sync_vmsa() 879 * SEV-ES will use a VMSA that is pointed to by the VMCB, not in sev_es_sync_vmsa() 880 * the traditional VMSA that is part of the VMCB. Copy the in sev_es_sync_vmsa() 881 * traditional VMSA as it has been built so far (in prep in sev_es_sync_vmsa() 953 pr_debug("Virtual Machine Save Area (VMSA):\n"); in sev_es_sync_vmsa() 962 struct sev_data_launch_update_vmsa vmsa; in __sev_launch_update_vmsa() local 971 /* Perform some pre-encryption checks against the VMSA */ in __sev_launch_update_vmsa() 978 * the VMSA memory content (i.e it will write the same memory region in __sev_launch_update_vmsa() 981 clflush_cache_range(svm->sev_es.vmsa, PAGE_SIZE); in __sev_launch_update_vmsa() [all …]
|
H A D | svm.c | 1655 * contents of the VMSA, and future VMCB save area updates won't be in sev_post_set_cr3() 3377 struct sev_es_save_area *vmsa = (struct sev_es_save_area *)save; in dump_vmcb() local 3380 "sev_features", vmsa->sev_features); in dump_vmcb() 3383 "pl0_ssp:", vmsa->pl0_ssp, "pl1_ssp:", vmsa->pl1_ssp); in dump_vmcb() 3385 "pl2_ssp:", vmsa->pl2_ssp, "pl3_ssp:", vmsa->pl3_ssp); in dump_vmcb() 3387 "u_cet:", vmsa->u_cet); in dump_vmcb() 3390 "rax:", vmsa->rax, "rbx:", vmsa->rbx); in dump_vmcb() 3392 "rcx:", vmsa->rcx, "rdx:", vmsa->rdx); in dump_vmcb() 3394 "rsi:", vmsa->rsi, "rdi:", vmsa->rdi); in dump_vmcb() 3396 "rbp:", vmsa->rbp, "rsp:", vmsa->rsp); in dump_vmcb() [all …]
|
H A D | svm.h | 227 struct sev_es_save_area *vmsa; member 248 struct mutex snp_vmsa_mutex; /* Used to handle concurrent updates of VMSA. */ 873 void sev_free_decrypted_vmsa(struct kvm_vcpu *vcpu, struct vmcb_save_area *vmsa); 909 static inline void sev_free_decrypted_vmsa(struct kvm_vcpu *vcpu, struct vmcb_save_area *vmsa) {} in sev_free_decrypted_vmsa() argument
|
/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 | Kconfig | 282 bool "Renesas VMSA-compatible IPMMU" 290 Support for the Renesas VMSA-compatible IPMMU found in the R-Mobile
|
H A D | Makefile | 19 obj-$(CONFIG_IPMMU_VMSA) += ipmmu-vmsa.o
|
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", 1151 .name = "ipmmu-vmsa",
|
/linux/arch/arm/boot/dts/renesas/ |
H A D | r8a7793.dtsi | 406 "renesas,ipmmu-vmsa"; 416 "renesas,ipmmu-vmsa"; 425 "renesas,ipmmu-vmsa"; 435 "renesas,ipmmu-vmsa"; 444 "renesas,ipmmu-vmsa"; 454 "renesas,ipmmu-vmsa"; 463 "renesas,ipmmu-vmsa";
|
H A D | r8a7794.dtsi | 360 "renesas,ipmmu-vmsa"; 370 "renesas,ipmmu-vmsa"; 379 "renesas,ipmmu-vmsa"; 389 "renesas,ipmmu-vmsa"; 398 "renesas,ipmmu-vmsa"; 408 "renesas,ipmmu-vmsa";
|
H A D | r8a7791.dtsi | 431 "renesas,ipmmu-vmsa"; 441 "renesas,ipmmu-vmsa"; 450 "renesas,ipmmu-vmsa"; 460 "renesas,ipmmu-vmsa"; 469 "renesas,ipmmu-vmsa"; 479 "renesas,ipmmu-vmsa"; 488 "renesas,ipmmu-vmsa";
|
H A D | r8a7790.dtsi | 514 "renesas,ipmmu-vmsa"; 524 "renesas,ipmmu-vmsa"; 533 "renesas,ipmmu-vmsa"; 543 "renesas,ipmmu-vmsa"; 552 "renesas,ipmmu-vmsa"; 562 "renesas,ipmmu-vmsa";
|
/linux/arch/arm64/boot/dts/renesas/ |
H A D | r8a779f0.dtsi | 1236 "renesas,rcar-gen4-ipmmu-vmsa"; 1245 "renesas,rcar-gen4-ipmmu-vmsa"; 1254 "renesas,rcar-gen4-ipmmu-vmsa"; 1263 "renesas,rcar-gen4-ipmmu-vmsa"; 1272 "renesas,rcar-gen4-ipmmu-vmsa";
|
/linux/tools/testing/selftests/kvm/x86/ |
H A D | sev_smoke_test.c | 53 /* Stash state passed via VMSA before any compiled code runs. */ in compare_xsave()
|
/linux/arch/x86/include/asm/ |
H A D | mshyperv.h | 60 * DEFAULT INIT GPAT and SEGMENT LIMIT value in struct VMSA
|
H A D | svm.h | 538 * page, the aptly named VM Save Area (VMSA), that is encrypted
|
/linux/arch/arm64/mm/ |
H A D | proc.S | 476 * Default values for VMSA control registers. These will be adjusted
|
/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/drivers/gpu/drm/msm/ |
H A D | msm_iommu.c | 313 …n/ddi0406/c/System-Level-Architecture/Virtual-Memory-System-Architecture--VMSA-/Long-descriptor-tr… in msm_iommu_pagetable_prealloc_count()
|
/linux/arch/x86/virt/svm/ |
H A D | sev.c | 67 vmsa : 1, member
|
/linux/tools/arch/x86/kcpuid/ |
H A D | cpuid.csv | 977 0x8000001f, 0, eax, 24, vmsa_reg_protection , VMSA register protection is supported
|