> If compiled with CONFIG_FDT, allow user to specify a device tree file using > the -dtb argument. If the machine supports it then the dtb will be loaded > into memory and passed to the kernel on boot.
Adding annother machine feels wrong. Why does the board specific code need to know about this at all? You already going it via a global variable, so can't this be entirely contained within arm_boot.c? If the board file is involved, why is it asking the user? > + versatile_init(ram_size, > + boot_device, > + kernel_filename, kernel_cmdline, > + initrd_filename, cpu_model, 0xffffffff); This only works because we're currently too dumb to emulate the differences between the two board variants. What we probably want to be doing is shipping/constructing device trees for the boards we implement, with an option to turn this on/off. Requiring a user to invent their own seems deeply sub-optimal given we know exactly what hardware we're emulating. A user that needs to provide their own FDT seems like a fairly rare corner case. This gets slightly more interesting when you have custom machine variants (i.e. once we fix the object model, and have proper dynamic machine construction). Even then I'd expect the FDT to be derived from/specificed by the machine description, not a separate option. Paul