On Fr, 2015-10-02 at 09:38 -0400, Kevin O'Connor wrote: > On Fri, Oct 02, 2015 at 10:16:26AM +0200, Gerd Hoffmann wrote: > > Hi, > > > > > That's fine with me. Marc - I think qemu_vmlinux_setup() in SeaBIOS > > > with the following would work: > > > > > > void qemu_vmlinux_setup(void) > > > { > > > u32 kernel_size; > > > qemu_cfg_read_entry(&kernel_size, QEMU_CFG_KERNEL_SIZE, > > > sizeof(kernel_size)); > > > if (kernel_size) > > > boot_add_qemu_vmlinux("QEMU Kernel image", 0); > > > } > > > > It isn't that simple. We also have support for multiboot kernels (using > > multiboot.bin option rom). So when doing this you need to be prepared > > to find a multiboot kernel in fw_cfg. > > Is there some way to detect if it's a multiboot kernel?
Yes. There is a header with magic + checksum in the first 8k, see hw/i386/multiboot.c (in qemu). Or check the option rom name in the bootorder file, it's multiboot instead of linuxboot. > If so, > seabios can just fall back to using multiboot.bin. Or add multiboot support to seabios. cheers, Gerd