I am using a custom, optimized and stripped down version, OVMF build. Do you think it is because of the OVMF or grub? In my case, there are 2 places where the CPUID is called: the first one is to decide if long mode is supported, along with few other features like SSE support and the second one is to retrieve the encryption bit location. -Erdem On Wed, Jul 22, 2020 at 2:04 AM Joerg Roedel <jroedel@xxxxxxx> wrote: > > Hi Erdem, > > On Tue, Jul 21, 2020 at 09:48:51AM -0700, Erdem Aktas wrote: > > Yes, I am using OVMF with SEV-ES (sev-es-v12 patches applied). I am > > running Ubuntu 18.04 distro. My grub target is x86_64-efi. I also > > tried installing the grub-efi-amd64 package. In all cases, the grub is > > running in 64bit but enters the startup_32 in 32 bit mode. I think > > there should be a 32bit #VC handler just something very similar in the > > OVMF patches to handle the cpuid when the CPU is still in 32bit mode. > > As it is now, it will be a huge problem to support different distro images. > > I wonder if I am the only one having this problem. > > I havn't heard from anyone else that the startup_32 boot-path is being > used for SEV-ES. What OVMF binary do you use for your guest? > > In general it is not that difficult to support that boot-path too, but > I'd like to keep that as a future addition, as the patch-set is already > quite large. In the startup_32 path there is already a GDT set up, so > whats needed is an IDT and a 32-bit #VC handler using the MRS-based > protocol (and hoping that there will only be CPUID intercepts until it > reaches long-mode). > > Regards, > > Joerg >