On 10/22/2014 01:34 AM, Ralf Baechle wrote:
This question comes up every once in a while and I've also been approached during ELCE in Düsseldorf why there is no single MIPS kernel for all platforms, so I thought I should post a writeup on the topic. The primary reason is that MIPS kernels are using non-PIC kernels. This means code is linked to a particular absolute address. The link address depends on the memory range available on a particular system's available memory range - there is no one size that fits all systems, not even a large fraction of supported systems.
Another reason is that the protocol between the bootloader and the kernel varies by platform. So you would have to have several different entry points, one for each booting protocol.
I am not sure how the bootloaders would know which entry point to use. David Daney