Patrick Rudolph

Patrick Rudolph

Software/firmware engineer

x86 coreboot with long mode: where are we at and where are we going

Unlike the traditional BIOS that operates in 32-bit mode, LinuxBios (now known as coreboot) switches to 32-bit mode almost immediately. It was previously considered progressive to write firmware in 32-bit protected mode using C. However, even though AMD released the AMD64 extension in 2003, introducing 64-bit or long mode, coreboot remained in 32-bit mode. This was adequate for coreboot's responsibility for limited hardware initialization. Nevertheless, it now shows signs of confinement, and adapting to long mode should be considered, especially as Intel plans to phase out 32-bit mode with X86S. This presentation will outline the key achievements in enabling long mode on coreboot, challenges encountered, and made design decisions. It will conclude with some metric analysis and a glimpse into future silicon plans.