On 26/02/2025 1:18 pm, Jan Beulich wrote: > On 26.02.2025 13:53, Andrew Cooper wrote: >> On 26/02/2025 12:48 pm, Jan Beulich wrote: >>> On 24.02.2025 17:05, Andrew Cooper wrote: >>>> Now that bsp_idt[] is constructed at build time, we do not need to manually >>>> initialise it in init_idt_traps() and trap_init(). >>>> >>>> The only edit needed to the bsp_idt[] is to switch from the early #PF >>>> handler >>>> to the normal one, and this can be done using _update_gate_addr_lower() as >>>> we >>>> do on the kexec path for NMI and #MC. >>>> >>>> This in turn allows us to drop set_{intr,swint}_gate() and the underlying >>>> infrastructure. It also lets us drop autogen_entrypoints[] and that >>>> underlying infrastructure. >>>> >>>> No functional change. >>>> >>>> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> >>> Reviewed-by: Jan Beulich <jbeul...@suse.com> >> Thanks. >> >>> The switching around of the #PF handler is of course getting in the way of >>> moving bsp_idt[] into .rodata. >> {en,dis}able_each_ist() edits it at runtime too. > Oh, I had actually meant to add a condition upon CONFIG_AMD=n. The fields > could be set at build time as well, couldn't they?
They're edited in the kexec and shutdown paths too. Furthermore, (sane) FRED setup is going to rely on IST being disabled initially. ~Andrew