5 ms·
> The OS receives the devicetree in a memory location Which memory location? Any ARM SoC does not have defined where RAM must be. So which address are you goin
by MrHamburger 2y ago
> The OS receives the devicetree in a memory location
Which memory location? Any ARM SoC does not have defined where RAM must be. So which address are you going to touch from your OS to get the configuration? Yep, that's exactly what UEFI and ACPI are for
And no "at the end of kernel image" is not a memory location, because then your solution works only with your specific ad-hoc setup. All the Linux distros are not working, BSD is not working, Windows is not working. Only your blessed Linux Kernel will work and that's going to be all. No difference from adding a device tree directly into a Kernel then.
- 201984 2y ago> Which memory location? The location of the device tree is given to the kernel in x0 by the boot loader. See https://docs.kernel.org/arch/arm64/booting.html https://docs.kernel.org/arch/arm64/booting.html. This device tree has information about the RAM location and hardware on the device, so in theory this can work just as well as ACPI does.
- MrHamburger 2y agoWhich will work only for a Linux, everything else won't boot on your ad-hoc solution.
- M95D 2y agoA quick Google shows that BSD supports devicetree too. So that leaves... Windows? Don't tell me you're a Windows fan?? That would explain why you love ring -2 binary blobs too.
- M95D 2y ago> Which memory location? > And no "at the end of kernel image" is not a memory location Like @201984 said, u-boot can load the devicetree separately and this is the more common way to boot. But even if it didn't, "the end of the kernel image" actually is a memory location. Kernel knows where it's executing from (all CPUs, not just ARM, have the Program Counter register) and it's own size (kernel decompressor knows the end of the compressed data). > Any ARM SoC does not have defined where RAM must be. That's known from the devicetree. > All the Linux distros are not working, BSD is not working, Windows is not working. False. You can take Ubuntu as example. There's only one bootable image for all ARM64. I have no experience with BSD and who tf. cares about Windows?
- MrHamburger 2y agoAgain, works only for your ad-hoc solution, you never want a lower layer to know anything about upper layer, that's why upper layer (OS) talks to lower layer via UEFI and ACPI
- M95D 2y agoWhich demonstrates again that you don't know how UEFI and ACPI works and how dangerous they are.