On 04.04.2013, at 18:41, Peter Maydell wrote: > On 4 April 2013 17:34, Alexander Graf <ag...@suse.de> wrote: >> On 04.04.2013, at 18:30, Peter Maydell wrote: >>> * -kernel (if it means anything at all) has to mean "boot in >>> the way a Linux kernel expects and defines its boot protocol" >> >> This is what -kernel does. If more OSs than Linux end up happy with >> that interface, great. Examples for that are multiboot kernels on >> x86. But in general, kernels want to talk to firmware. > > Agreed. > >>> * "just load a binary and run it" needs to be some other option, >>> because that's not the same thing >> >> This is what -bios does. Maybe we should add an alias and call it >> "-firmware", but the idea stays the same. That's the initial blob >> executed when a VM gets up. > > No, in general this isn't what -bios does. Usually -bios means > "take a blob and put it wherever this board expects to have > a ROM or flash firmware image". So on highbank it goes in the > sysram at 0xfff88000, on shix it's 0x4000 bytes loaded at address 0, > on mips_malta it's an image to load into a flash device, and > so on. And on some boards it does nothing at all, because we > ignore the parameter.
For blobs, I agree. But for ELF, we could just use the ELF information to load it somewhere else. It would certainly be a much more natural fit than -kernel. > What is being asked for (and what ARM's -kernel does at the > moment if you pass it an ELF image) is "just load the ELF > image where the ELF image says to put it, and jump to the > ELF image's entrypoint". I don't see why we couldn't make this the expected behavior for -bios. You want to load a blob at the same layer as firmware, no? Alex