From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4001:c0b::241; helo=mail-it0-x241.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-it0-x241.google.com (mail-it0-x241.google.com [IPv6:2607:f8b0:4001:c0b::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 97F5F20956069 for ; Fri, 16 Mar 2018 02:52:27 -0700 (PDT) Received: by mail-it0-x241.google.com with SMTP id y20-v6so1394192itc.5 for ; Fri, 16 Mar 2018 02:58:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=jHH496ajeV1woLM0sVMZWH0TplE4meRYku0uXRcLG/Y=; b=M3UWiqtkhQJ+DHhta+UXwxmTl7u97xjyOPs2FizMkGHXoJ67I36nWsZNl64koBJlnr X97PbiOlcPObGbzedn0OiaC0DY1ZyYjxBj8ZmM+qKKDdSFkMhUEUU0Zar11ZHT1LbOu8 BQf0s3cm2WPozIWWblaCfaiIVBIkZwEK8JzxU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=jHH496ajeV1woLM0sVMZWH0TplE4meRYku0uXRcLG/Y=; b=E3awRUcB92mGCyGkRDwYFjgZhKuYBREXtz/7VVEsR6hnEm9KYvoZquLv/NtD1L8+1T 1LJ3Z0DP8VGBHeThQiEs+eAxRTfY5O4mgovfOdCEuF+Z1XCwPeycHnzB69bPBKu7J1Zc V3cr8IKtWcmOPkdCgMh1qhyLHxbMUZ2P9K872iWCLWyEzbTi3aIl8Wz5xYXBNORC6Upi +XFoL5m7zck4KpQmFPDMy6YSyiddVDfzuimBw6JHiS/kp+FmwozQ8BuKg7GoMcdCJYK8 OD44p7H+nBN4bv1qyRmaOfxfTxxaFaBXOJmcFVAqPMBvGYB0u18lat7AEDoi/1cqzX1S 5RVg== X-Gm-Message-State: AElRT7F/Rd+hiPCWE4NAiWeu/u/M/fZznyJUBQ6vLYimHMQGLyDEvZCt E2Kx4LA/pS25SLurLDcydzFG6Hd+EqWi0uJVLizrEg== X-Google-Smtp-Source: AG47ELusNimbIxFm0/mXcjERA+GKAzvHLzkvOPu6FmDzInHcv1iYwi5Jczck5Jhsa9QA8nEDFNtij9KZZuXmw8+NxVE= X-Received: by 2002:a24:8749:: with SMTP id f70-v6mr1488914ite.50.1521194332364; Fri, 16 Mar 2018 02:58:52 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.138.209 with HTTP; Fri, 16 Mar 2018 02:58:51 -0700 (PDT) In-Reply-To: <20180315190258.6580-2-lersek@redhat.com> References: <20180315190258.6580-1-lersek@redhat.com> <20180315190258.6580-2-lersek@redhat.com> From: Ard Biesheuvel Date: Fri, 16 Mar 2018 09:58:51 +0000 Message-ID: To: Laszlo Ersek Cc: edk2-devel-01 , Xiang Zheng Subject: Re: [PATCH 1/5] ArmVirtPkg/PlatformBootManagerLib: return to "-kernel before boot 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: Fri, 16 Mar 2018 09:52:29 -0000 Content-Type: text/plain; charset="UTF-8" On 15 March 2018 at 19:02, Laszlo Ersek wrote: > Move the TryRunningQemuKernel() call back to its original place. When was it moved and why? > This > improves the UEFI boot time for VMs that have "-kernel", many disks or > NICs, and no "bootindex" properties. A well-known example is > guestfish/libguestfs. > > For more info on the TryRunningQemuKernel() location, see the following > commits: 23d04b58e27b, a78c4836ea0b, 158990b941e4. > > Cc: Ard Biesheuvel > Cc: Xiang Zheng > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Laszlo Ersek > --- > ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c > index 36e0eed2384a..5d5e51d8c870 100644 > --- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c > +++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c > @@ -667,31 +667,31 @@ PlatformBootManagerAfterConsole ( > > // > // Show the splash screen. > // > BootLogoEnableLogo (); > > + // > + // Process QEMU's -kernel command line option. The kernel booted this way > + // will receive ACPI tables: in PlatformBootManagerBeforeConsole(), we > + // connected any and all PCI root bridges, and then signaled the ACPI > + // platform driver. > + // > + TryRunningQemuKernel (); > + > // > // Connect the purported boot devices. > // > Status = ConnectDevicesFromQemu (); > if (RETURN_ERROR (Status)) { > // > // Connect the rest of the devices. > // > EfiBootManagerConnectAll (); > } > > - // > - // Process QEMU's -kernel command line option. Note that the kernel booted > - // this way should receive ACPI tables, which is why we connect all devices > - // first (see above) -- PCI enumeration blocks ACPI table installation, if > - // there is a PCI host. > - // > - TryRunningQemuKernel (); > - > // > // Enumerate all possible boot options, then filter and reorder them based on > // the QEMU configuration. > // > EfiBootManagerRefreshAllBootOption (); > > -- > 2.14.1.3.gb7cf6e02401b > >