public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Laszlo Ersek <lersek@redhat.com>
Cc: edk2-devel-01 <edk2-devel@lists.01.org>,
	Xiang Zheng <xiang.zheng@linaro.org>
Subject: Re: [PATCH 1/5] ArmVirtPkg/PlatformBootManagerLib: return to "-kernel before boot devices"
Date: Fri, 16 Mar 2018 13:45:00 +0000	[thread overview]
Message-ID: <CAKv+Gu9Ga4H54U9netNwrBksVqOzhj2Zg6YGGp7AYR0Lr=Q9OQ@mail.gmail.com> (raw)
In-Reply-To: <4ebe3836-3e6c-2801-89aa-2a2b15d57541@redhat.com>

On 16 March 2018 at 13:40, Laszlo Ersek <lersek@redhat.com> wrote:
> On 03/16/18 10:58, Ard Biesheuvel wrote:
>> On 15 March 2018 at 19:02, Laszlo Ersek <lersek@redhat.com> wrote:
>>> Move the TryRunningQemuKernel() call back to its original place.
>>
>> When was it moved and why?
>
> See, I'm at a loss about the detail you expect in commit messages. :)

I see. But in this case, I think it is rather obvious that when you
move something back to where it was moved away from earlier, you have
to justify why the original reason for moving it no longer applies, or
is overruled by something more important.

> I
> had spent 10 minutes on wording this commit message. Near the end of my
> struggle, I had exactly one sentence on each of those three commits that
> I listed at the bottom (23d04b58e27b, a78c4836ea0b, 158990b941e4). Those
> three sentences were going to give the answer to your question. I still
> worried you might file them under "personal journey" or "stream of
> consciousness", and I cut them; I only left the three commit hashes at
> the end as pointers.
>

I looked at those commit logs but it wasn't obvious to me.

> So, the executive summary is: "TryRunningQemuKernel() was moved in
> a78c4836ea0b, because the guest kernel depended on ACPI tables, which
> depended on our ACPI platform driver, which at the time depended on
> PciBusDxe itself reporting 'enumeration complete', which at the time
> depended on our BdsLibConnectAll() call".
>
> The somewhat expanded answer is, from scratch:
>
> (1) in commit 23d04b58e27b, we introduced TryRunningQemuKernel() in the
>     right spot (for boot performance), between
>     PlatformBdsConnectConsole() and BdsLibConnectAll();
>
> (2) in commit a78c4836ea0b, we moved TryRunningQemuKernel() after
>     BdsLibConnectAll(): the direct-booted kernel needed ACPI tables
>     (reflecting PCI resources correctly), and at that time, we only
>     connected the root bridges to PciBusDxe as part of
>     BdsLibConnectAll() (which signaled the ACPI platform driver via
>     "gEfiPciEnumerationCompleteProtocolGuid");
>
> (3) in commit 60dc18a17c516 and (more importantly) 158990b941e4,
>     connecting the root bridges and cueing the ACPI platform driver were
>     finally separated from BdsLibConnectAll(), but we didn't realize we
>     could move TryRunningQemuKernel() back above BdsLibConnectAll().
>
> So, after 158990b941e4, we can do it now.
>

Thanks for clearing that up.


  reply	other threads:[~2018-03-16 13:38 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-15 19:02 [PATCH 0/5] ArmVirtPkg, OvmfPkg: improve firmware duration of direct kernel boot Laszlo Ersek
2018-03-15 19:02 ` [PATCH 1/5] ArmVirtPkg/PlatformBootManagerLib: return to "-kernel before boot devices" Laszlo Ersek
2018-03-16  9:58   ` Ard Biesheuvel
2018-03-16 13:40     ` Laszlo Ersek
2018-03-16 13:45       ` Ard Biesheuvel [this message]
2018-03-16 14:06         ` Laszlo Ersek
2018-03-15 19:02 ` [PATCH 2/5] OvmfPkg/PlatformBootManagerLib: wrap overlong lines in "BdsPlatform.c" Laszlo Ersek
2018-03-15 19:02 ` [PATCH 3/5] OvmfPkg/PlatformBootManagerLib: rejuvenate old-style function comments Laszlo Ersek
2018-03-15 19:02 ` [PATCH 4/5] OvmfPkg/PlatformBootManagerLib: hoist PciAcpiInitialization() Laszlo Ersek
2018-03-16 15:27   ` Gabriel L. Somlo
2018-03-15 19:02 ` [PATCH 5/5] OvmfPkg/PlatformBootManagerLib: process "-kernel" before boot devices Laszlo Ersek
2018-03-16  8:57 ` [PATCH 0/5] ArmVirtPkg, OvmfPkg: improve firmware duration of direct kernel boot Richard W.M. Jones
2018-03-16  9:59 ` Richard W.M. Jones
2018-03-16 14:02   ` Laszlo Ersek
2018-03-16 14:47     ` Richard W.M. Jones
2018-03-16 17:46       ` Laszlo Ersek
2018-03-16 14:08 ` Ard Biesheuvel
2018-03-16 15:29 ` Gabriel L. Somlo
2018-03-16 17:49   ` Laszlo Ersek
2018-03-16 19:02 ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKv+Gu9Ga4H54U9netNwrBksVqOzhj2Zg6YGGp7AYR0Lr=Q9OQ@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox