Remix.run Logo
M95D 19 hours ago

UEFI and ACPI had nothing to do with it.

X86 and servers existed well before ACPI, or even PCI, or even ISA PnP(!) were invented. X86 always had standards, they all had the same two 8259 interrupt controllers, same CMOS RTC, same timer, same 16550-compatible UART, same floppy controller, same VGA framebuffer addresses, even the IDE controllers were all using the same driver. Even now, x86 needs only 3 USB drivers to support basic input: UHCI, OHCI and EHCI, and all of them can be discoveded by PCI PnP - ACPI/UEFI isn't needed for this.

ARM has dozens of UART implementations, dozens of USB controllers, dozens of RTCs, probably hundreds of timers, dozens of specialized internal buses with no auto-init or discovery (PnP), each and every one turned off by default to save power and requiring specialized init by a specific driver to be functional.

That's what's wrong with ARM. Not UEFI. That and the fact that chip manufacturers don't bother to PR to mainline any of thir driver code.

UEFI will not change anything. It's a closed-source devicetree equivalent that can compromize any system at ring -2. Of course it will never be updated.