On 16 January 2017 at 19:44, Eduardo Habkost <ehabk...@redhat.com> wrote: > On Mon, Jan 16, 2017 at 07:27:21PM +0000, Peter Maydell wrote: >> On 16 January 2017 at 19:25, Eduardo Habkost <ehabk...@redhat.com> wrote: >> > On Mon, Jan 16, 2017 at 10:53:07AM -0800, Alistair Francis wrote: >> >> On Sun, Jan 15, 2017 at 11:59 PM, Thomas Huth <th...@redhat.com> wrote: >> >> > But I think the users also expect the "-kernel" parameter to be working, >> >> > so I think we should add the loader code in null-machine.c anyway. >> >> >> >> I agree that uses probably expect the '-kernel' option to work as well. >> > >> > So, is it possible to write a generic load_kernel() function that >> > simply reuses the generic-loader code? >> >> No, because users expect -kernel to actually load a Linux kernel >> (meaning with the calling conventions etc the kernel requires), >> whereas generic-loader is just "load a binary blob and start there". > > I don't mean a generic function that works for all machines and > architectures, but a generic function that is good enough for > "-machine none". Isn't "load a binary blob and start there" > exactly what machine_none_load_kernel() in this patch does?
If you just want "load a blob and start it" then we already have -device loader. Making -kernel have yet another set of semantics that this time depends on the machine being selected seems like a bad idea. If -kernel doesn't do what it does for the other machines of the same architecture then we should just not accept it. thanks -- PMM