On Thu, Oct 01, 2015 at 05:25:11PM +0200, Laszlo Ersek wrote: > On 10/01/15 14:16, Marc Marí wrote: > > Add an entry to the bootorder file with name "vmlinux". > > Give this entry more priority than the romfile. > > > > Signed-off-by: Marc Marí <mar...@redhat.com> > > --- > > hw/i386/pc.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > > index 81d93b4..c4c51f7 100644 > > --- a/hw/i386/pc.c > > +++ b/hw/i386/pc.c > > @@ -1012,8 +1012,10 @@ static void load_linux(PCMachineState *pcms, > > fw_cfg_add_bytes(fw_cfg, FW_CFG_SETUP_DATA, setup, setup_size); > > > > option_rom[nb_option_roms].name = "linuxboot.bin"; > > - option_rom[nb_option_roms].bootindex = 0; > > + option_rom[nb_option_roms].bootindex = 1; > > nb_option_roms++; > > + > > + add_boot_device_path(0, NULL, "vmlinux"); > > } > > > > #define NE2000_NB_MAX 6 > > > > Where does this idea come from? > > This will yet again break the invariant that the bootorder fw_cfg file > is a list of OpenFirmware device paths.
I believe it came from a discussion between myself and Marc, because I did not like the way Marc's original SeaBIOS patches overloaded the meaning of "genroms/linuxboot.bin" in the bootorder file. [...] > Given that direct kernel boot is always expected to take priority over > anything else (which is ensured by this QEMU patch too), can > bootprio_find_vmlinux() in SeaBIOS just look at the same fw_cfg key > (0x0008)? 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); } Marc, if you're okay with the above, you don't have to keep respinning patches - I can fix it up upon commit. -Kevin