Will RISCV avoid the linux mainlining mess that ARM had?

So how will this work in practice @cap_popper?

Say i slot in an sd card with the standardised riscv linux… does it call a CPUID like instruction that returns an ID number for the board? If so then, that is not enough as you would still need to know what drivers to load and it’s configurations. If you say that the driver tree is stored in the os image, then that can get bloated very quickly as you need to start adding more and more device trees for each board id type over time.

However it does seem more plausible if the returned structure is not a simple single ID, but rather a device structure tree. If that’s what you mean in your description, then that will make sense. However I would like to ask, why not just reuse https://www.devicetree.org/ standard instead? What’s special about your Merkle Tree proposal?

Anyway to summarise again what I am thinking of. I am thinking that the ideal method is to encourage board manufacturer to standardised the loading in of device tree structure and enumeration method into the board itself. Rather than loading the device tree into the firmware image. Keeping the device tree into the board, would then allow the ideal of a single linux image which would then be able to work out what device drivers to use (or copy across).

I think the equivalent to this in the x86 world is ACPI if I recall correctly.