Re: [PATCH 0/7] x86/seves: Support 32-bit boot path and other updates

From: Konrad Rzeszutek Wilk
Date: Wed Feb 10 2021 - 10:00:37 EST


On Wed, Feb 10, 2021 at 11:21:28AM +0100, Joerg Roedel wrote:
> From: Joerg Roedel <jroedel@xxxxxxx>
>
> Hi,
>
> these patches add support for the 32-bit boot in the decompressor
> code. This is needed to boot an SEV-ES guest on some firmware and grub
> versions. The patches also add the necessary CPUID sanity checks and a

Could you expand a bit please?

What GRUB versions are we talking about (CC-ing Daniel Kiper, who owns
GRUB).

By 'some firmware' we talking SeaBIOS?

> 32-bit version of the C-bit check.
>
> Other updates included here:
>
> 1. Add code to shut down exception handling in the
> decompressor code before jumping to the real kernel.
> Once in the real kernel it is not safe anymore to jump
> back to the decompressor code via exceptions.
>
> 2. Replace open-coded hlt loops with proper calls to
> sev_es_terminate().
>
> Please review.
>
> Thanks,
>
> Joerg
>
> Joerg Roedel (7):
> x86/boot/compressed/64: Cleanup exception handling before booting
> kernel
> x86/boot/compressed/64: Reload CS in startup_32
> x86/boot/compressed/64: Setup IDT in startup_32 boot path
> x86/boot/compressed/64: Add 32-bit boot #VC handler
> x86/boot/compressed/64: Add CPUID sanity check to 32-bit boot-path
> x86/boot/compressed/64: Check SEV encryption in 32-bit boot-path
> x86/sev-es: Replace open-coded hlt-loops with sev_es_terminate()
>
> arch/x86/boot/compressed/head_64.S | 168 ++++++++++++++++++++++++-
> arch/x86/boot/compressed/idt_64.c | 14 +++
> arch/x86/boot/compressed/mem_encrypt.S | 114 ++++++++++++++++-
> arch/x86/boot/compressed/misc.c | 7 +-
> arch/x86/boot/compressed/misc.h | 6 +
> arch/x86/boot/compressed/sev-es.c | 12 +-
> arch/x86/kernel/sev-es-shared.c | 10 +-
> 7 files changed, 307 insertions(+), 24 deletions(-)
>
> --
> 2.30.0
>