From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59783) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xwxk0-000373-Sh for qemu-devel@nongnu.org; Fri, 05 Dec 2014 13:36:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xwxjv-0002y9-RI for qemu-devel@nongnu.org; Fri, 05 Dec 2014 13:36:32 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36371) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xwxjv-0002xk-HU for qemu-devel@nongnu.org; Fri, 05 Dec 2014 13:36:27 -0500 From: Laszlo Ersek Date: Fri, 5 Dec 2014 19:36:12 +0100 Message-Id: <1417804575-19329-1-git-send-email-lersek@redhat.com> Subject: [Qemu-devel] [PATCH 0/3] hw/arm/virt: boot with -kernel -initrd -append on top of UEFI List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: rjones@redhat.com, crobinso@redhat.com, Peter Maydell , Drew Jones , Wei Huang , Ard Biesheuvel , qemu devel list , lersek@redhat.com A number of tools depend on passing the kernel image, the initial ramdisk, and the kernel command line to the guest on the QEMU command line (options -kernel, -initrd, -append, respectively). At the moment, these QEMU options work, but the guest kernel loaded this way is launched by a minimal binary firmware that is dynamically composed by QEMU. As a consequence, such a kernel has no UEFI environment. In this patchset the kernel, initrd and cmdline blobs are passed to the guest firmware to process & load. This mode is activated when both -kernel and -pflash unit#0 (or -bios) are specified. Here's an inter-series dependency map: kernel qemu edk2 topic ------ ---- ---- -------------------------------------------------- [0] device tree binding spec for the fw_cfg device ^ | +------[1]<--[2] fw_cfg device implementation ^ ^ and bootorder handling | | | | [3]<--[4] -kernel / -initrd / -append booting on top of UEFI [0] http://thread.gmane.org/gmane.linux.drivers.devicetree/101276 [kernel PATCH v2 0/2] devicetree: document ARM bindings for QEMU's Firmware Config interface ACKed by Peter, queued by Rob Herring [1] http://thread.gmane.org/gmane.comp.emulators.qemu/308650 [qemu-devel] [PATCH v2] arm: add fw_cfg to "virt" board pending review [2] http://thread.gmane.org/gmane.comp.bios.tianocore.devel/11591 [edk2] [PATCH v2 00/12] consume fw_cfg boot order in ArmVirtualizationQemu pending review [3] this patchset [qemu-devel] [PATCH 0/3] hw/arm/virt: boot with -kernel -initrd -append on top of UEFI [4] to be posted Thanks Laszlo Laszlo Ersek (3): hw/loader: split out load_image_gzipped_buffer() hw/arm: pass pristine kernel image to guest firmware over fw_cfg hw/arm/virt: enable passing of EFI-stubbed kernel to guest UEFI firmware include/hw/arm/arm.h | 5 +++ include/hw/loader.h | 9 ++++++ hw/arm/boot.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++++--- hw/arm/virt.c | 1 + hw/core/loader.c | 30 +++++++++++------ 5 files changed, 122 insertions(+), 14 deletions(-) -- 1.8.3.1