> 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. Paul