From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=66.187.233.73; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 43BFE20954B84 for ; Thu, 15 Mar 2018 11:56:46 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3DAEE4023113; Thu, 15 Mar 2018 19:03:09 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-121-233.rdu2.redhat.com [10.10.121.233]) by smtp.corp.redhat.com (Postfix) with ESMTP id A5550BDC4D; Thu, 15 Mar 2018 19:03:07 +0000 (UTC) From: Laszlo Ersek To: edk2-devel-01 Cc: "Gabriel L. Somlo" , "Richard W.M. Jones" , Ard Biesheuvel , Jordan Justen , Xiang Zheng Date: Thu, 15 Mar 2018 20:02:53 +0100 Message-Id: <20180315190258.6580-1-lersek@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Thu, 15 Mar 2018 19:03:09 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Thu, 15 Mar 2018 19:03:09 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'lersek@redhat.com' RCPT:'' Subject: [PATCH 0/5] ArmVirtPkg, OvmfPkg: improve firmware duration of direct kernel boot X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Mar 2018 18:56:46 -0000 (Copying Rich, Xiang and Gabriel for testing requests below.) Repo: https://github.com/lersek/edk2.git Branch: kernel_before_bootdevs After the recent series "OvmfPkg, ArmVirtQemu: leaner platform BDS policy for connecting devices", I'm picking up another earlier idea -- a direct kernel boot does not need devices such as disks and NICs to be bound by UEFI. I tested this series extensively on QEMU, in OVMF (IA32X64) and ArmVirtQemu (AARCH64), both with and without direct kernel boot. I compared the logs in all sensible relations within a given architecture. Rich, can you please test this on ARM64, with guestfish/libguestfs? Please attach a good number of disks at once on the command line, and compare the appliance's boot time between (e.g.) RHEL7's "/usr/share/AAVMF/AAVMF_CODE.fd" and the following binary (after decompression): https://people.redhat.com/lersek/kernel_before_bootdevs-991e2f2f-64cf-4566-b933-919928e2aa6b/QEMU_EFI.fd.padded.xz (That binary corresponds to the branch linked above, cross-built from x86_64 with "aarch64-linux-gnu-gcc (GCC) 6.1.1 20160621 (Red Hat Cross 6.1.1-2)", using the following options: export GCC5_AARCH64_PREFIX=aarch64-linux-gnu- build --cmd-len=65536 --hash -t GCC5 -b DEBUG -a AARCH64 \ -p ArmVirtPkg/ArmVirtQemu.dsc -D DEBUG_PRINT_ERROR_LEVEL=0x80000000 and then it was padded with zeroes to 64MB.) If you have good results, please respond with your Tested-by (which I'll apply to patch 1/5, since that's the one that matters for the ARM64 target). Xiang, if you use guestfish (or else direct kernel boot) occasionally, then similar testing would be very welcome from your side too. Gabriel, I'm CC'ing you on patch 4/5, because it affects code that you had originally written. Can you please regression-test this series with your usual OVMF environment / guest(s)? Cc: "Gabriel L. Somlo" Cc: "Richard W.M. Jones" Cc: Ard Biesheuvel Cc: Jordan Justen Cc: Xiang Zheng Thanks everyone! Laszlo Laszlo Ersek (5): ArmVirtPkg/PlatformBootManagerLib: return to "-kernel before boot devices" OvmfPkg/PlatformBootManagerLib: wrap overlong lines in "BdsPlatform.c" OvmfPkg/PlatformBootManagerLib: rejuvenate old-style function comments OvmfPkg/PlatformBootManagerLib: hoist PciAcpiInitialization() OvmfPkg/PlatformBootManagerLib: process "-kernel" before boot devices ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c | 16 +- OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 262 ++++++++++---------- 2 files changed, 136 insertions(+), 142 deletions(-) -- 2.14.1.3.gb7cf6e02401b