x86/boot/compressed/64: Add IDT Infrastructure
authorJoerg Roedel <jroedel@suse.de>
Mon, 7 Sep 2020 13:15:14 +0000 (15:15 +0200)
committerBorislav Petkov <bp@suse.de>
Mon, 7 Sep 2020 17:45:25 +0000 (19:45 +0200)
commit64e682638eb51070ba6044535b250aad43c5564e
tree9be00d00917c598ab9e3b8cc1534aa913ae9fd1f
parent6ba0efa46047936afa81460489cfd24bc95dd863
x86/boot/compressed/64: Add IDT Infrastructure

Add code needed to setup an IDT in the early pre-decompression
boot-code. The IDT is loaded first in startup_64, which is after
EfiExitBootServices() has been called, and later reloaded when the
kernel image has been relocated to the end of the decompression area.

This allows to setup different IDT handlers before and after the
relocation.

Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200907131613.12703-14-joro@8bytes.org
arch/x86/boot/compressed/Makefile
arch/x86/boot/compressed/head_64.S
arch/x86/boot/compressed/idt_64.c [new file with mode: 0644]
arch/x86/boot/compressed/idt_handlers_64.S [new file with mode: 0644]
arch/x86/boot/compressed/misc.h
arch/x86/include/asm/desc_defs.h