On 9/5/21 4:19 AM, Dov Murik wrote: > > On 27/08/2021 1:26, Michael Roth wrote: >> From: Brijesh Singh <brijesh.singh@xxxxxxx> >> >> When SEV-SNP is enabled, the KVM_SNP_INIT command is used to initialize >> the platform. The command checks whether SNP is enabled in the KVM, if >> enabled then it allocates a new ASID from the SNP pool and calls the >> firmware to initialize the all the resources. >> > > From the KVM code ("[PATCH Part2 v5 24/45] KVM: SVM: Add > KVM_SEV_SNP_LAUNCH_START command") it seems that KVM_SNP_INIT does *not* > allocate the ASID; actually this is done in KVM_SEV_SNP_LAUNCH_START. Actually, the KVM_SNP_INIT does allocate the ASID. If you look at the driver code then in switch state, the SNP_INIT fallthrough to SEV_INIT which will call sev_guest_init(). The sev_guest_init() allocates a new ASID. https://github.com/AMDESE/linux/blob/bb9ba49cd9b749d5551aae295c091d8757153dd7/arch/x86/kvm/svm/sev.c#L255 The LAUNCH_START simply binds the ASID to a guest. thanks