Hacker News new | ask | show | jobs
by heavyset_go 297 days ago
It's this. UEFI doesn't solve the problem of peripheral discovery, for example.

SBSA standard in the server realm seems to have it figured out.

2 comments

Arguably, "full" UEFI implementation mandates use of ACPI, which solves discovery of components that don't have self-discovery mechanism to use (including finding the very roots of various self-discovering buses)
UEFI+ACPI+PCIE+XHCI pretty much covers everything you could want.
In theory yes, in practice ACPI isn't always a great solution (as can be seen by the many lines of kernel logs about broken DSDTs on my motherboard).

Manufacturers kind of suck at actually describing the hardware on their motherboards and hacks and workarounds are very much required to provide a usable experience on many machines.

Unless manufacturers stop lazily copy-pasting their DSDTs with minor changes, we should probably hope for a better solution.

Actually, I take that back. ACPI is fine except for the DSDT system, which should be nuked from orbit. These lazy PC hardware manufacturers keep pushing "please bro just let us run arbitrary code on your machine bro". This goes back to VGA BIOS (ugh). There's no need for it, other than the fact that it makes hardware vendor's lives slightly easier. Definitely something to avoid when designing a new interface.
There is no a better solution because "manufacturer loads broken description table" does not care for the technology of the description table, just that manufacturer borked it.

On PC, the main check against it is Microsoft because they at least try to make vendors care with "Designed for Windows" and the like and their test suites.