public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Min Xu" <min.m.xu@intel.com>
To: devel@edk2.groups.io
Cc: Min M Xu <min.m.xu@intel.com>, Jiewen Yao <jiewen.yao@intel.com>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: [edk2-devel] [PATCH V1 1/1] OvmfPkg/IntelTdx: Update TDVF README
Date: Wed, 17 Apr 2024 17:01:40 +0800	[thread overview]
Message-ID: <20240417090140.477-1-min.m.xu@intel.com> (raw)

From: Min M Xu <min.m.xu@intel.com>

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4756

There are below updates in this patch:
1. Rename README to README.md so that it can be show as markdown
   document.
2. Update some information about TDVF.
2. Fix some typo.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
---
 OvmfPkg/IntelTdx/{README => README.md} | 56 ++++++++++++++++----------
 1 file changed, 34 insertions(+), 22 deletions(-)
 rename OvmfPkg/IntelTdx/{README => README.md} (57%)

diff --git a/OvmfPkg/IntelTdx/README b/OvmfPkg/IntelTdx/README.md
similarity index 57%
rename from OvmfPkg/IntelTdx/README
rename to OvmfPkg/IntelTdx/README.md
index 7307ede78faf..574e6685a6fe 100644
--- a/OvmfPkg/IntelTdx/README
+++ b/OvmfPkg/IntelTdx/README.md
@@ -7,7 +7,7 @@ to provide trusted, isolated VM execution by removing CSP software
 EDK II based project to enable UEFI support for TDX based Virtual
 Machines. It provides the capability to launch a TD.
 
-The <b>Intel? TDX Virtual Firmware Design Guide</b> is at
+The <b>Intel TDX Virtual Firmware Design Guide</b> is at
 https://www.intel.com/content/dam/develop/external/us/en/documents/tdx-virtual-firmware-design-guide-rev-1.01.pdf.
 
 More information can be found at:
@@ -20,48 +20,60 @@ Configurations and Features
 There are 2 configurations for TDVF.
 
 <b>Config-A:</b>
- - Merge the *basic* TDVF feature to existing OvmfX64Pkg.dsc. (Align
+ - Merge the *basic* TDVF feature to existing **OvmfPkgX64.dsc**. (Align
    with existing SEV)
- - Threat model: VMM is NOT out of TCB. (We don?t make things worse)
- - The OvmfX64Pkg.dsc includes SEV/TDX/normal OVMF basic boot capability.
+ - Threat model: VMM is **NOT** out of TCB. (We don't make things worse)
+ - The OvmfPkgX64.dsc includes SEV/TDX/normal OVMF basic boot capability.
    The final binary can run on SEV/TDX/normal OVMF.
  - No changes to existing OvmfPkgX64 image layout.
  - No need to remove features if they exist today.
- - PEI phase is NOT skipped in either Td or Non-Td.
- - RTMR based measurement is supported.
+ - PEI phase is **NOT** skipped in either TD or Non-TD.
+ - RTMR based measurement (CC_MEASUREMENT) is supported as an optional requirement.
  - External inputs from Host VMM are measured, such as TdHob, CFV.
  - Other external inputs are measured, such as FW_CFG data, os loader,
    initrd, etc.
 
 <b>Config-B:</b>
- - Add a standalone IntelTdx.dsc to a TDX specific directory for a *full*
-   feature TDVF.(Align with existing SEV)
+ - Add a standalone **IntelTdxX64.dsc** to a TDX specific directory
+   (**OvmfPkg/IntelTdx**) for a *full* feature TDVF.(Align with existing SEV)
  - Threat model: VMM is out of TCB. (We need necessary change to prevent
    attack from VMM)
- - IntelTdx.dsc includes TDX/normal OVMF basic boot capability. The final
+ - IntelTdxX64.dsc includes TDX/normal OVMF basic boot capability. The final
    binary can run on TDX/normal OVMF.
  - It might eventually merge with AmdSev.dsc, but NOT at this point of
-   time. And we don?t know when it will happen. We need sync with AMD in
+   time. And we don't know when it will happen. We need sync with AMD in
    the community after both of us think the solutions are mature to merge.
- - Need to add necessary security feature as mandatory requirement, such
-   as RTMR based Trusted Boot support.
- - Need to measure the external input from Host VMM, such as TdHob, CFV.
- - Need to measure other external input, such as FW_CFG data, os loader,
+ - RTMR based measurement (CC_MEASUREMENT) is supported as a mandatory requirement.
+ - External inputs from Host VMM are measured, such as TdHob, CFV.
+ - Other external inputs are measured, such as FW_CFG data, os loader,
    initrd, etc.
- - Need to remove unnecessary attack surfaces, such as network stack.
+ - PEI phase is skipped to remove unnecessary attack surface.
+ - DXE FV is split into 2 FVs (DXEFV & NCCFV) to remove the unnecessary attack
+   surface in a TD guest..
+   - When launching a TD guest, only drivers in DXEFV are loaded.
+   - When launching a Non-TD guest, dirvers in both DXEFV and NCCFV are
+     loaded.
 
 Build
 ------
 - Build the TDVF (Config-A) target:
-`cd /path/to/edk2`
-`source edksetup.sh`
-`build.sh -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC5`
+```
+cd /path/to/edk2
+source edksetup.sh
+
+## without CC_MEASUREMENT enabled
+build -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC5 -b RELEASE
+
+## CC_MEASUREMENT enabled
+build -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC5 -D CC_MEASUREMENT_ENABLE=TRUE -b RELEASE
+```
 
 - Build the TDVF (Config-B) target:
-`cd /path/to/edk2`
-`set PACKAGES_PATH=/path/to/edk2/OvmfPkg`
-`source edksetup.sh`
-`build.sh -p OvmfPkg/IntelTdx/IntelTdxX64.dsc -a X64 -t GCC5`
+```
+cd /path/to/edk2
+source edksetup.sh
+build -p OvmfPkg/IntelTdx/IntelTdxX64.dsc -a X64 -t GCC5 -b RELEASE
+```
 
 Usage
 -----
-- 
2.44.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117911): https://edk2.groups.io/g/devel/message/117911
Mute This Topic: https://groups.io/mt/105573458/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



             reply	other threads:[~2024-04-17  9:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-17  9:01 Min Xu [this message]
2024-04-18 11:50 ` [edk2-devel] [PATCH V1 1/1] OvmfPkg/IntelTdx: Update TDVF README Gerd Hoffmann
2024-04-19  0:10   ` 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=20240417090140.477-1-min.m.xu@intel.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