On 01/31/2012 07:35 PM, Paul Brook wrote:
We could also just change machine->init() and pass the dtb in there. In a QOM world these would become machine device properties anyways.machine->init(ram_size, boot_devices, kernel_filename, kernel_cmdline, initrd_filename, cpu_model); Essentially we shouldn't treat -dtb any different than -kernel or -initrd. It's also useful for more than ARM, namely embedded ppc systems. But I can easily post a follow-up patch for those.Changing machine->init means you have to touch every single board file, and clone the exact same code for every machine that uses arm_boot.c. All of which will be rewritten in the near future. machine->init is a particularly suckiy interface to start with, we want to be using it less, not more. It's not like we're going support multiple machine instanced. At least not before machine->init is removed altogether.
The right solution to this problem is to make an arm-kernel-loader device that has a dtb property.
It's a very small amount of code and fits with our longer term strategy of killing off machine->init.
Regards, Anthony Liguori
Paul
