
On Apr 27, 2006, at 2:30 PM, Rune Torgersen wrote:
Would it be possible to have the kernel smart enough that if it gets passed a bd_t pointer, it updates the dts before booting fully. Newer u-boot versions that support dts then would pass a NULL bd_t pointer to a kernel that supports dts. Kernel would then not update the dts, but use the one it gets handed.
What you are describing is the boot shim method.
U-boot is already capable of effectively doing this. You can set a u- boot environment variable to make bootm do different things if you have flat device tree support built into u-boot.
bootm should be able to see if the kernel has an attached dts, update it with runtime parameters, and hand it off to the kernel. If it is an old kernel, hand it the bd_t pointer.
We can do this w/o too much modification to what is happening in u- boot today. I'd probably like to keep the ability to build a dev tree into the u-boot binary, but make the preferred means to pass a blob into the bootm command.
- kumar