efi/x86: Remove GDT setup from efi_main
authorArvind Sankar <nivedita@alum.mit.edu>
Sun, 2 Feb 2020 17:13:51 +0000 (12:13 -0500)
committerArd Biesheuvel <ardb@kernel.org>
Sat, 22 Feb 2020 22:37:37 +0000 (23:37 +0100)
commitef5a7b5eb13ed88ba9690ab27def3a085332cc8c
tree33800f398124e6675d2f2f00a5853f77694c50aa
parentcae0e431a02cd63fecaf677ae166f184644125a7
efi/x86: Remove GDT setup from efi_main

The 64-bit kernel will already load a GDT in startup_64, which is the
next function to execute after return from efi_main.

Add GDT setup code to the 32-bit kernel's startup_32 as well. Doing it
in the head code has the advantage that we can avoid potentially
corrupting the GDT during copy/decompression. This also removes
dependence on having a specific GDT layout setup by the bootloader.

Both startup_32 and startup_64 now clear interrupts on entry, so we can
remove that from efi_main as well.

Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Link: https://lore.kernel.org/r/20200202171353.3736319-6-nivedita@alum.mit.edu
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
arch/x86/boot/compressed/eboot.c
arch/x86/boot/compressed/head_32.S