From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44722) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhgqZ-0002jc-Tv for qemu-devel@nongnu.org; Thu, 01 Oct 2015 12:36:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZhgqW-0006t2-JM for qemu-devel@nongnu.org; Thu, 01 Oct 2015 12:36:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49726) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhgqW-0006sX-EZ for qemu-devel@nongnu.org; Thu, 01 Oct 2015 12:36:40 -0400 References: <1443701677-13629-1-git-send-email-markmb@redhat.com> <1443701819-13855-1-git-send-email-markmb@redhat.com> <1443701819-13855-7-git-send-email-markmb@redhat.com> <560D5057.6010308@redhat.com> <20151001160242.GA7766@morn.lan> From: Laszlo Ersek Message-ID: <560D5B06.7080709@redhat.com> Date: Thu, 1 Oct 2015 18:10:46 +0200 MIME-Version: 1.0 In-Reply-To: <20151001160242.GA7766@morn.lan> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v4 6/7] Make the kernel image in the fw_cfg DMA interface bootable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: Drew , Stefan Hajnoczi , "Gabriel L. Somlo" , qemu-devel@nongnu.org, Gerd Hoffmann , =?UTF-8?Q?Marc_Mar=c3=ad?= 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=ED wrote: >>> Add an entry to the bootorder file with name "vmlinux". >>> Give this entry more priority than the romfile. >>> >>> Signed-off-by: Marc Mar=ED >>> --- >>> 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); >>> =20 >>> option_rom[nb_option_roms].name =3D "linuxboot.bin"; >>> - option_rom[nb_option_roms].bootindex =3D 0; >>> + option_rom[nb_option_roms].bootindex =3D 1; >>> nb_option_roms++; >>> + >>> + add_boot_device_path(0, NULL, "vmlinux"); >>> } >>> =20 >>> #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. >=20 > 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. >=20 > [...] >> 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)? >=20 > That's fine with me. Marc - I think qemu_vmlinux_setup() in SeaBIOS > with the following would work: >=20 > void qemu_vmlinux_setup(void) > { > u32 kernel_size; > qemu_cfg_read_entry(&kernel_size, QEMU_CFG_KERNEL_SIZE, sizeof(kern= el_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. >=20 > -Kevin >=20