On Thu, Aug 02, 2018 at 11:04:46PM +0100, Peter Maydell wrote: > On 2 August 2018 at 13:43, Stefan Hajnoczi wrote: > > On Mon, Jul 30, 2018 at 07:01:53PM +0100, Peter Maydell wrote: > >> I'm still not convinced we want to add another random > >> special case only-works-on-one-architecture-and-some-boards > >> feature to the -kernel command line option. > >> > >> Adding it to the "generic loader" device might be more plausible? > > > > I'm not sure I understand the purpose of the generic loader. > > > > As a user -kernel is easier than -device > > loader,file=,cpu-num=1. > > > > Can you explain the advantage to moving hex file loading to the generic > > loader? > > It means we have a command line option for loading hex files > that works for every board and every CPU architecture. > (Similarly, if you want a way to load an ELF file that > works the same way for all boards and CPUs, the generic > loader is it -- -kernel will not reliably do the job. > You can also use it to load more than one ELF file or > to load different ELF files for different CPUs, neither > of which you can do with -kernel.) > > -kernel, like all our legacy short options, is, yes, > easier to use; it's also a twisted mess of different > "do what I mean" functionality that varies depending > on the guest CPU architecture and subtype, the machine > being emulated, and other random things like "did the > user also tell us to start a BIOS image". It mostly means > "run a Linux kernel", with some extras wedged in on the > side where we thought we could do it without breaking the > kernel case. Oh, and we don't document anywhere what > it actually does. I'm reluctant to add yet another layer of > "do what I mean" to it that only has an effect on a subset > of Arm boards. Okay, I understand better now. Thanks! I'll resend with the generic loader instead of -kernel. Stefan