On 1/15/26 10:36 AM, Gerd Hoffmann wrote:
Hi,
At least for AMD GPUs remove_conflicting_devices() really early is
necessary because otherwise some operations just result in a
spontaneous system reboot.
It's similar for Intel. For us VGA emulation won't be used for EFI
boot, but we still can't have the previous driver poking around in
memory while the real driver is initializing. The entire memory layout
may get completely shuffled so there's no telling where such memory
accesses would land.
Can you do stuff like checking which firmware is needed and whenever
that can be loaded from the filesystem before calling
remove_conflicting_devices() ?
That's something that I did in amdgpu a few years back.
I pushed the identification and ability to load firmware into early init
stages. It means that if you have a brand new GPU and run a modern
kernel with an older linux-firmware snapshot amdgpu will fail probe and
your framebuffer from EFI keeps working.