public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Dionna Glaze" <dionnaglaze@google.com>
To: "Gupta, Pankaj" <pankaj.gupta@amd.com>
Cc: devel@edk2.groups.io, Gerd Hoffmann <kraxel@redhat.com>,
	 James Bottomley <jejb@linux.ibm.com>,
	Jiewen Yao <jiewen.yao@intel.com>,
	 Tom Lendacky <thomas.lendacky@amd.com>,
	Ard Biesheuvel <ardb@kernel.org>,
	 "Min M. Xu" <min.m.xu@intel.com>, Andrew Fish <afish@apple.com>,
	 "Michael D. Kinney" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [PATCH v10 1/4] OvmfPkg: Add memory acceptance event in AmdSevDxe
Date: Mon, 13 Feb 2023 08:53:51 -0800	[thread overview]
Message-ID: <CAAH4kHbZ8WcL9oxXUzTO=fNRU8=S2_y58+OV6-gxJXmwYv-75w@mail.gmail.com> (raw)
In-Reply-To: <9ea61013-e2c1-30a4-3be7-feed537c035a@amd.com>

>
> So, no memory is getting accepted. Questions below:
>
> - If no memory is getting accepted at all, should guest boot fail with
>    below errors?

No, the guest should not error. EBS should return success on the
second call and permit progress.

> - Why unaccepted memory not being set in my setup but works fine for
>    you? Does it require any other change?
>

We have an internal fork of EDK2 that we regularly rebase on top of
upstream, and we have our own hypervisor called Vanadium. So there's a
lot different. We don't have an easy way to test with upstream EDK2
and Qemu.
A recent import found incompatibilities with measured boot only in
SEV-SNP that we have disabled, but that's related to NVdata, which we
deal with differently in GCE due to the cloud IVARS service and our
allergy to SMM emulation. Should be unrelated.

I've looked over our OvmfPkg.patch that we maintain after every rebase
and most everything is related to our paravirtualized UEFI package
that eschews SMM to talk to Vanadium directly through either shared
memory or port I/O depending on whether the guest OS owns cr3 or not.

You've added a log for the if != unaccepted memory, but will you log
what status the function ultimately returns? And both the MapKey what
status CoreTerminateMemoryMap returns in DxeMain.c's
CoreExitBootServices? I'm wondering if maybe the EFI stub calling EBS
isn't calling GetMemoryMap to update the MapKey after the
invalid_param result that this semantics depends on. If the stub is
the Linux kernel's own stub, then it should be doing the right
thing...

> Thanks,
> Pankaj
>
> > 9. Return successfully (one would hope)
> >
> >> Accepting all memory^M
> >> Accepting all memory^M
> >> EFI stub: ERROR: exit_boot() failed!^M
> >> EFI stub: ERROR: efi_main() failed!^M
> >
> > This now does suggest that EBS is failing twice, since after the
> > supposed no-op of the second log, the EFI stub's exit_boot claims
> > failure. I can't reproduce this part. Would you try adding a log
> > within the acceptance loop inside the if that checks for unaccepted
> > memory? I'd be curious if the loop is indeed changing the map again,
> > despite my claims at idempotency.
> >
>
--
-Dionna Glaze, PhD (she/her)

  reply	other threads:[~2023-02-13 16:54 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-26  0:56 [PATCH v10 0/4] Add safe unaccepted memory behavior Dionna Glaze
2023-01-26  0:56 ` [PATCH v10 1/4] OvmfPkg: Add memory acceptance event in AmdSevDxe Dionna Glaze
2023-01-26 10:30   ` Ard Biesheuvel
2023-01-26 16:04     ` Dionna Glaze
2023-02-09 13:35   ` [edk2-devel] " Gupta, Pankaj
2023-02-09 16:52     ` Dionna Glaze
2023-02-09 21:27       ` Dionna Glaze
2023-02-10  8:00         ` Gupta, Pankaj
2023-02-10 11:12           ` Ard Biesheuvel
2023-02-10 11:34             ` Gupta, Pankaj
2023-02-10 13:56         ` Gupta, Pankaj
2023-02-10 17:05           ` Dionna Glaze
2023-02-13 14:38             ` Gupta, Pankaj
2023-02-13 16:53               ` Dionna Glaze [this message]
2023-02-13 17:56                 ` Gupta, Pankaj
2023-02-13 18:31                   ` Dionna Glaze
2023-02-13 19:33                     ` Lendacky, Thomas
2023-02-13 19:33                     ` Gupta, Pankaj
2023-02-13 21:44                       ` Dionna Glaze
2023-02-14 12:51                         ` Gupta, Pankaj
2023-02-14 12:55                           ` Gupta, Pankaj
2023-02-14 20:44                             ` Dionna Glaze
2023-02-14 20:46                               ` Gupta, Pankaj
     [not found]                           ` <1743B21FF9509E5F.2641@groups.io>
2023-02-14 14:00                             ` Gupta, Pankaj
2023-02-14  9:12                 ` Gerd Hoffmann
2023-02-14 17:28                   ` Dionna Glaze
2023-02-14 22:44                     ` Lendacky, Thomas
2023-02-15  9:38                     ` Gerd Hoffmann
2023-01-26  0:56 ` [PATCH v10 2/4] MdePkg: Introduce the SevMemoryAcceptance protocol Dionna Glaze
2023-01-26  1:24   ` Yao, Jiewen
2023-01-26 17:04     ` Dionna Glaze
2023-01-26 17:19       ` Ard Biesheuvel
2023-01-26  0:56 ` [PATCH v10 3/4] OvmfPkg: Implement AcceptAllUnacceptedMemory in AmdSevDxe Dionna Glaze
2023-01-26  0:56 ` [PATCH v10 4/4] OvmfPkg/PlatformPei: SEV-SNP make >=4GB unaccepted Dionna Glaze

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='CAAH4kHbZ8WcL9oxXUzTO=fNRU8=S2_y58+OV6-gxJXmwYv-75w@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