| The problem is not the ISA — it’s the whole ecosystem. How many CPUID flags exist? There are so many interdependencies, it’s even hard to say what even makes sense, without detailed knowledge. SSE without MMX? The reuse of floating point HW for other stuff is also a mess. A x86 system is a witches’ brew of MSRs, I/O ports, and chipset-specific PCI devices. And that’s just across only Intel CPUs… How much code has to execute before even a bootloader can run? Why do we need a damn ACPI interpreter? Why do we still deal with legacy PCI routing (on all devices) when none actually use it? The PCI configuration space is a bit of a mess. We should just make a new standard where everything 64bit and memory-mapped only. Why are we shackled with slow IO port operations that replicate hardware from the era when leaded gasoline was widely available? Some may say this is legacy, yet we still rely on it today!! Imagine if 1980s systems were shackled with 1940s-1960s compatibility concerns. We need to start afresh — take all the learnings from the past decades and cast off the legacy crap. |
> Why do we need a damn ACPI interpreter?
Because ACPI is still used and for good reason. The lack of an equivalent in virtually every other ISA ecosystem is enough to laugh them out of the room whenever anyone suggests they're a viable alternative.
No thanks. Keep your ridiculous blackbox that's actively hostile to having new software run on it.