Is this snp-specific? Or could this also be used without snp?
This is SNP specific format and cannot be used without SNP.
I should clarify the statement, the format itself does not contain anything SNP specific. However, the CPUID page format is documented in the SNP specific spec.
Who populates the page? qemu? sev-snp firmware?
Are you thinking about using it for non SEV guest to avoid the VM exit ? If so, it should be very much possible.
Yes, that is the background. Avoiding vmexits would be one advantage. Being able to test the code without SNP-capable hardware (for example in CI) would be another one.
For that we should define the format outside of SNP specific spec and make it a generic so that guest and HV's can implement it consume it in the non-SNP guest.