The kernel is Multiboot compliant, so it's already compatible with real bootloaders. Creating a disk image with a real bootloader wouldn't be much extra code, but if your point is just to demonstrate a 'bare-bones' Zig kernel, is it really necessary?
> On an (X86) PC you can tranfer your disk, as it is, to a new X86 architecture and it will run.
This is because of a supporting set of standards (BIOS/UEFI/ACPI) that are well-supported on x86 systems, but technically independent of the x86 ISA. BIOS, and the general compatibility you're talking about, is a historical artefact of the IBM PC being so dominant in the market that other companies created compatible computers. UEFI and ACPI actually exist in the ARM ecosystem now. If ARM continues to grow outside of mobile devices, you could eventually see the kind of broad compatibility you're talking about. It's not super likely though. All signs point to the consumer computing ecosystem becoming more closed, rather than more open.
Considering the original ARM use case was a desktop-computer shaped thing with some degree of expandability, they had to solve the same problems that the PC did in bringup/enumeration/device abstraction. These should be solved problems.
At some point between Archimedes and iPhone, they lost this functionality. I assume there was a moment where they assumed that they were only doing SoCs with fixed peripherals and jettisoned all their knowledge and tooling in the space.
> ...jettisoned all their knowledge and tooling in the space.
ARM made a smart decision not to compete against Intel/AMD at the cutting edge, and instead completely dominated the low-power CPU market.
> These should be solved problems.
They are. The solutions have nothing to do with the ISA. The device discovery functionality you're talking about (ACPI/BIOS/etc) is provided by the motherboard, and (in the case of ACPI) made available to the OS by the bootloader. SoC's don't need sophisticated device discovery.
I'm just not convinced by this article. XSLT was a great technology in its time, but these days if you need to transform data into markup, modern templating engines are just way easier to use. I've said it before on HN: Being able to transform data into markup natively in the browser with a declarative language is still a neat idea. I enjoy thinking about an 'alternate future' where the web evolved in this direction instead.
reply