Suzuki K Poulose <[email protected]> writes: > > [...snip...] > >> +In the case where ``type`` is KVM_SEV_SNP_PAGE_TYPE_ZERO, ``uaddr`` will be >> +ignored completely. Otherwise, ``uaddr`` is required if >> +kvm.vm_memory_attributes=1 and optional if kvm.vm_memory_attributes=0, since >> +in the latter case guest memory can be initialized directly from userspace >> +prior to converting it to private and passing the GPA range on to this >> +interface. > > Just to confirm, so the sev_gmem_prepare doesn't destroy the contents in > the process of making it "private" ? i.e., the contents of a SNP shared > page are preserved while transitioning to "SNP Private" (via RMP > update). > > Suzuki >
The following is the guest_memfd perspective, I didn't look at the SNP spec: Do you mean specifically for KVM_SEV_SNP_PAGE_TYPE_ZERO, or for any type? guest_memfd has no plans to do any special zeroing based on type. guest_memfd decoupled zeroing from preparation a while ago (Michael had some patches), so zeroing is supposed to be once during folio ownership by guest_memfd, tracked by the uptodate flag, and preparation is tracked outside of guest_memfd. So far only SNP does preparation. > > >> >> [...snip...] >>
