From: "Lendacky, Thomas" <thomas.lendacky@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: "Xu, Min M" <min.m.xu@intel.com>, joeyli <jlee@suse.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>,
"Aktas, Erdem" <erdemaktas@google.com>,
James Bottomley <jejb@linux.ibm.com>,
"Yao, Jiewen" <jiewen.yao@intel.com>,
Michael Roth <michael.roth@amd.com>
Subject: Re: [PATCH V1 1/1] OvmfPkg/PlatformPei: Skip PlatformInitEmuVariableNvStore in SEV guest
Date: Thu, 13 Apr 2023 08:58:53 -0500 [thread overview]
Message-ID: <c5a1ce9d-47b9-0afd-3f27-ce073ae44360@amd.com> (raw)
In-Reply-To: <ujqoq42nx67qyjcujfoyoa3aid66hwga7j2klzbv3c4xjg2qj2@btai6jne2j54>
On 4/13/23 01:05, Gerd Hoffmann wrote:
> Hi,
>
>>>> Specifying both OVMF_CODE.fd and OVMF_VARS.fd generates an ASSERT.
>>>
>>> Both as pflash I assume? Which assert?
>>
>> Yes, both as pflash. I've never attempted to run an SEV guest using the
>> -bios option.
>>
>> The assert is:
>> ASSERT [PlatformPei] /root/kernels/ovmf-build-X64/OvmfPkg/Library/PlatformInitLib/Platform.c(930): ((BOOLEAN)(0==1))
>
> Ok, so wrong encryption settings.
>
>>>> Specifying just OVMF.fd boots successfully
>>>
>>> pflash or -bios or both?
>>
>> Just pflash.
>
> /me looks surprised. It should not make a difference whenever you use
> the separate OVMF_CODE.fd + OVMF_VARS.fd files or the combined OVMF.fd.
>
> What are the exact qemu command lines for both cases?
For the OVMF_CODE.fd/OVMF_VARS.fd case:
qemu-system-x86_64 -enable-kvm -cpu EPYC,host-phys-bits=true -smp 1
-machine type=q35,confidential-guest-support=sev0,vmport=off -m 1G
-object sev-guest,id=sev0,policy=0,cbitpos=51,reduced-phys-bits=1
-drive if=pflash,format=raw,unit=0,file=/root/kernels/qemu-install/OVMF_CODE.fd,readonly=on
-drive if=pflash,format=raw,unit=1,file=./fedora.fd
-drive file=./fedora.img,if=none,id=disk0,format=raw
-device virtio-scsi-pci,id=scsi0,disable-legacy=on,iommu_platform=true
-device scsi-hd,drive=disk0
-nographic -monitor pty -monitor unix:monitor,server,nowait
-gdb tcp::1234 -qmp tcp::4444,server,wait=off
In this case, only OVMF_CODE.fd will be encrypted.
The fedora.fd (OVMF_VARS.fd) will be unencrypted.
For the OVMF.fd case:
qemu-system-x86_64 -enable-kvm -cpu EPYC,host-phys-bits=true -smp 1
-machine type=q35,confidential-guest-support=sev0,vmport=off -m 1G
-object sev-guest,id=sev0,policy=0,cbitpos=51,reduced-phys-bits=1
-drive if=pflash,format=raw,unit=0,file=/root/kernels/qemu-install/OVMF.fd,readonly=on
-drive file=./fedora.img,if=none,id=disk0,format=raw
-device virtio-scsi-pci,id=scsi0,disable-legacy=on,iommu_platform=true
-device scsi-hd,drive=disk0
-nographic -monitor pty -monitor unix:monitor,server,nowait
-gdb tcp::1234 -qmp tcp::4444,server,wait=off
In this case, OVMF.fd will be encrypted, which includes the now memory
backed variable store.
>
>> I believe none of the mappings are setup properly at this point. I
>> think just eliminating the call for an SEV guest is fine.
>
> Can AmdSevInitialize() setup the mappings?
Is there a way to tell when OVMF.fd vs OVMF_VARS.fd/OVMF_CODE.fd is used?
The reason being that the variable store of OVMF.fd must be accessed
encrypted since the whole binary was used in the LAUNCH_UPDATE. But with
the split mode, only the OVMF_CODE.fd was encrypted in the LAUNCH_UPDATE,
so the variable store must be accessed unencrypted.
If we can make that determination, then I think we can setup the mappings.
Thanks,
Tom
>
> take care,
> Gerd
>
next prev parent reply other threads:[~2023-04-13 13:58 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-29 5:23 [PATCH V1 1/1] OvmfPkg/PlatformPei: Skip PlatformInitEmuVariableNvStore in SEV guest Min Xu
2023-03-30 7:50 ` Gerd Hoffmann
2023-03-31 7:59 ` joeyli
2023-03-31 8:25 ` Gerd Hoffmann
2023-03-31 14:48 ` joeyli
2023-04-03 0:21 ` Min Xu
2023-04-03 11:20 ` Gerd Hoffmann
2023-04-06 1:42 ` Min Xu
2023-04-06 20:28 ` Lendacky, Thomas
2023-04-07 1:56 ` Min Xu
2023-04-07 14:49 ` [edk2-devel] " joeyli
2023-04-07 17:00 ` Lendacky, Thomas
2023-04-11 10:04 ` Gerd Hoffmann
2023-04-11 18:03 ` Lendacky, Thomas
2023-04-12 7:24 ` Gerd Hoffmann
2023-04-12 15:23 ` Lendacky, Thomas
2023-04-13 6:05 ` Gerd Hoffmann
2023-04-13 13:58 ` Lendacky, Thomas [this message]
2023-04-14 10:20 ` Gerd Hoffmann
2023-04-20 15:16 ` Lendacky, Thomas
2023-04-21 9:18 ` Gerd Hoffmann
2023-04-21 20:49 ` Lendacky, Thomas
2023-04-24 9:45 ` Gerd Hoffmann
2023-04-26 20:43 ` Lendacky, Thomas
2023-04-28 8:41 ` Gerd Hoffmann
2023-05-01 19:06 ` Lendacky, Thomas
2023-04-07 9:41 ` joeyli
2023-04-07 11:54 ` Min Xu
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=c5a1ce9d-47b9-0afd-3f27-ce073ae44360@amd.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