Commit 94438af4 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

x86/idt: Add comments about early #PF handling



The difference between 32 and 64 bit vs. early #PF handling is not
documented. Replace the FIXME at idt_setup_early_pf() with proper comments.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200528145522.807135882@linutronix.de

parent bdf5bde8
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -61,7 +61,11 @@ static bool idt_setup_done __initdata;
static const __initconst struct idt_data early_idts[] = {
	INTG(X86_TRAP_DB,		asm_exc_debug),
	SYSG(X86_TRAP_BP,		asm_exc_int3),

#ifdef CONFIG_X86_32
	/*
	 * Not possible on 64-bit. See idt_setup_early_pf() for details.
	 */
	INTG(X86_TRAP_PF,		asm_exc_page_fault),
#endif
};
@@ -256,8 +260,10 @@ void __init idt_setup_traps(void)
 * cpu_init() is invoked and sets up TSS. The IST variant is installed
 * after that.
 *
 * FIXME: Why is 32bit and 64bit installing the PF handler at different
 * places in the early setup code?
 * Note, that X86_64 cannot install the real #PF handler in
 * idt_setup_early_traps() because the memory intialization needs the #PF
 * handler from the early_idt_handler_array to initialize the early page
 * tables.
 */
void __init idt_setup_early_pf(void)
{