From: vannapurve@google.com
To: devel@edk2.groups.io, Min Xu <min.m.xu@intel.com>, brijesh.singh@amd.com
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
Jordan Justen <jordan.l.justen@intel.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Erdem Aktas <erdemaktas@google.com>,
James Bottomley <jejb@linux.ibm.com>,
Jiewen Yao <jiewen.yao@intel.com>,
Tom Lendacky <thomas.lendacky@amd.com>
Subject: Re: [edk2-devel] [PATCH V6 1/1] OvmfPkg: Enable TDX in ResetVector
Date: Wed, 15 Sep 2021 00:30:56 +0530 [thread overview]
Message-ID: <CAGtprH-UT6EBB4GpObE3et-YZqBNn95H3ouih4vk02-h-rzyAg@mail.gmail.com> (raw)
In-Reply-To: <2d085336-386b-8492-5f0e-ce9e0c49e8b6@amd.com>
[-- Attachment #1: Type: text/plain, Size: 3456 bytes --]
Hi Min, Brijesh,
Regarding:
> diff --git a/OvmfPkg/ResetVector/Ia16/ResetVectorVtf0.asm
b/OvmfPkg/ResetVector/Ia16/ResetVectorVtf0.asm
> ...
> +%ifdef ARCH_IA32
> nop
> nop
> jmp EarlyBspInitReal16
>
>+%else
>+
>+ smsw ax
We are having intermittent VM crashes with running this code in AMD-SEV
enabled VMs. As per the AMD64 manual
<https://www.amd.com/system/files/TechDocs/24593.pdf> section 15.8.1,
executing "smsw" instruction doesn't result in bit 63 being set in
EXITINFO1 and KVM ends up emulating "smsw" instruction by trying to read
encrypted guest VM memory as per the code
<https://git.kernel.org/pub/scm/virt/kvm/kvm.git/tree/arch/x86/kvm/svm/svm.c#n2495>.
Since KVM tries to make sense of different random cipher texts in different
boots, it seems to intermittently result in visible issues.
Is this expected behavior or do we miss some configuration or patches that
are recommended by AMD?
Regards,
Vishal
On Tue, Sep 14, 2021 at 4:54 PM Brijesh Singh via groups.io <brijesh.singh=
amd.com@groups.io> wrote:
> Hi Min,
>
> A quick question below.
>
> On 9/14/21 3:50 AM, Min Xu wrote:
> > RFC:
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D3429&data=04%7C01%7Cbrijesh.singh%40amd.com%7C2cca2f0a7fb44084da2b08d9775cb220%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637672062275443867%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4zfuIDvTGDNCt%2BD3u7uUR0n6hHDzv%2FI8NkqoUJhsx8Y%3D&reserved=0
> >
> > Intel's Trust Domain Extensions (Intel TDX) refers to an Intel technology
> > that extends Virtual Machines Extensions (VMX) and Multi-Key Total Memory
> > Encryption (MKTME) with a new kind of virutal machines guest called a
> > Trust Domain (TD). A TD is desinged to run in a CPU mode that protects
> the
> > confidentiality of TD memory contents and the TD's CPU state from other
> > software, including the hosting Virtual-Machine Monitor (VMM), unless
> > explicitly shared by the TD itself.
> >
> > Note: Intel TDX is only available on X64, so the Tdx related changes are
> > in X64 path. In IA32 path, there may be null stub to make the build
> > success.
> >
> > This patch includes below major changes.
> >
> > 1. Definition of BFV & CFV
> > Tdx Virtual Firmware (TDVF) includes one Firmware Volume (FV) known
> > as the Boot Firmware Volume (BFV). The FV format is defined in the
> > UEFI Platform Initialization (PI) spec. BFV includes all TDVF components
> > required during boot.
> >
> > TDVF also include a configuration firmware volume (CFV) that is separated
> > from the BFV. The reason is because the CFV is measured in RTMR, while
> > the BFV is measured in MRTD.
> >
> > In practice BFV is the code part of Ovmf image (OVMF_CODE.fd). CFV is the
> > vars part of Ovmf image (OVMF_VARS.fd).
> >
> > 2. PcdOvmfImageSizeInKb
> > PcdOvmfImageSizeInKb indicates the size of Ovmf image. It is used to
> > calculate the offset of TdxMetadata in ResetVectorVtf0.asm.
>
> In SEV-SNP v7 series, I implemented the metadata support. I did not see
> a need for the PcdOvmfImageSizeInKB. Why do you need it? I think your
> calculation below will not work if someone is using the OVMF_CODE.fd
> instead of OVMF.fd. Have you tried booting with OVMF_CODE.fd ?
>
> thanks
>
>
>
>
>
>
>
>
[-- Attachment #2: Type: text/html, Size: 5021 bytes --]
next prev parent reply other threads:[~2021-09-14 19:01 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-14 8:50 [PATCH V6 0/1] Add Intel TDX support in OvmfPkg/ResetVector Min Xu
2021-09-14 8:50 ` [PATCH V6 1/1] OvmfPkg: Enable TDX in ResetVector Min Xu
2021-09-14 11:24 ` Brijesh Singh
2021-09-14 19:00 ` vannapurve [this message]
2021-09-14 19:52 ` [edk2-devel] " Brijesh Singh
2021-09-15 2:34 ` Min Xu
2021-09-17 12:55 ` Min Xu
2021-09-17 15:52 ` Brijesh Singh
2021-09-18 5:16 ` Min Xu
2021-09-18 11:30 ` Brijesh Singh
2021-09-18 12:15 ` James Bottomley
2021-09-19 3:14 ` Min Xu
2021-09-20 15:49 ` Brijesh Singh
2021-09-15 2:13 ` Min Xu
2021-09-16 7:54 ` Gerd Hoffmann
2021-09-20 9:51 ` Min Xu
2021-09-21 5:16 ` Gerd Hoffmann
2021-09-21 9:04 ` 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=CAGtprH-UT6EBB4GpObE3et-YZqBNn95H3ouih4vk02-h-rzyAg@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