On 11/03/16 20:24, Richard W.M. Jones wrote: > On Fri, Mar 11, 2016 at 08:02:40PM +0000, Gordan Bobic wrote: >> In the ARM world, booting the kernel straight out of u-boot is the >> norm. It is how the boot process works on the vast majority of ARM >> devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS >> before it are very much x86-isms. > > U-boot doesn't present a standard set of services to the kernel. All > successful server platforms allow the hardware to be interchangeable, > so that a single binary OS can run on any available hardware. Who > could run a datacenter if every variety of hardware in the datacenter > required a different fork/patched u-boot / kernel / cmdline? It would > be an absurd situation, and server ARM will *never* be successful in > datacenters and clouds if that happens. > > The second thing is that ARM hardware isn't self-describing to the OS > (which itself is dumb - PCI called from 1995 - but here we are). DT > is really a random hack, not even portable between Linux versions, > nevermind across different OSes. > > UEFI provides the services to the kernel which are needed to hide the > low level hardware differences, and ACPI describes the harwdare in a > portable manner, and that's why SBSA/SBBR standardizes on those. Standards are an awesome thing, but as far as ARM goes it's too little too late because device trees already solved that problem for the kernel, allowing the same binary kernel to boot on many different boards. But I guess too little too late is better than nothing. Gordan