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 97D0E223CDC22 for ; Tue, 13 Mar 2018 14:16:16 -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 5B2A040201A3; Tue, 13 Mar 2018 21:22:37 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-124-72.rdu2.redhat.com [10.10.124.72]) by smtp.corp.redhat.com (Postfix) with ESMTP id C1B6550334; Tue, 13 Mar 2018 21:22:35 +0000 (UTC) From: Laszlo Ersek To: edk2-devel-01 Cc: Ard Biesheuvel , Jordan Justen , Shannon Zhao , Xiang Zheng Date: Tue, 13 Mar 2018 22:22:27 +0100 Message-Id: <20180313212233.19215-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]); Tue, 13 Mar 2018 21:22:37 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Tue, 13 Mar 2018 21:22:37 +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/6] OvmfPkg, ArmVirtQemu: leaner platform BDS policy for connecting devices 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: Tue, 13 Mar 2018 21:16:17 -0000 Repo: https://github.com/lersek/edk2.git Branch: qemu_bootorder_connect Adding tens or hundreds of bootable devices to a QEMU VM config slows the OVMF and ArmVirtQemu boots to a crawl, several people have reported in the past. There are at least two reasons for this (high pflash traffic due to heavy nvvar massaging per device, and PCI config space access slowing down on QEMU as the number of regions increases). However, part of the pain is self-inflicted in our PlatformBootManagerLib instances: we connect all bootable devices (for maximum compatibility with the user's VM config) even if the user doesn't intend to boot off most of them. It's oft repeated that the set of devices connected during boot is platform policy, so this series replaces the culprit EfiBootManagerConnectAll() calls with a bit smarter algorithm. I sought to keep the commit messages under control. Cc: Ard Biesheuvel Cc: Jordan Justen Cc: Shannon Zhao Cc: Xiang Zheng Thanks, Laszlo Laszlo Ersek (6): OvmfPkg/QemuBootOrderLib: wrap overlong line OvmfPkg/QemuBootOrderLib: add missing EFIAPI specifiers OvmfPkg/QemuBootOrderLib: clean up translation of virtio-net over MMIO OvmfPkg/QemuBootOrderLib: add ConnectDevicesFromQemu() OvmfPkg/PlatformBootManagerLib: minimize the set of connected devices ArmVirtPkg/PlatformBootManagerLib: minimize the set of connected devices ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c | 12 +- OvmfPkg/Include/Library/QemuBootOrderLib.h | 41 ++++- OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 16 +- OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c | 165 +++++++++++++++++++- 4 files changed, 218 insertions(+), 16 deletions(-) -- 2.14.1.3.gb7cf6e02401b