On 10/01/15 18:02, Kevin O'Connor wrote: > 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); > }
Thank you, Kevin; that would be great! Laszlo > Marc, if you're okay with the above, you don't have to keep respinning > patches - I can fix it up upon commit. > > -Kevin >