From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail04.groups.io (mail04.groups.io [45.79.224.9]) by spool.mail.gandi.net (Postfix) with ESMTPS id 417F674003D for ; Wed, 17 Apr 2024 09:02:04 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=RhzBwk6In8afr74UBaZsN7RA+Fx6wdJCt7hN6KTpyGM=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20240206; t=1713344522; v=1; b=z8lyOqXdtC0HlXPLlaZtSj/oGVz1Zg/h/uSIWnVUUpPMfAmXMO9C/ZLZZWqSuDSynlHxlIRQ pcK94KHE4C95AdS4odJx0iOMlXijK2rE4ib5/kJDxm40luB/KHrsRfD1OYtlLVQ8t/7ZDbrMfUQ jtb30408/zxVX8SA1yaF5hPyyykwWnRZz3guazztw6QQgZE60xbDrdT9kaY7A8u/NOKT+0ytkx1 VrBOl5j8AwgE3uf8S8eDbfw3NFnS9ETVj9LWjuzD2PA74ij15IevcOYSD3h4bgFauTyx4Rj+RAK xt/Pr5+z9CA0GpNmlqgrKMvxWzQpY5f2mP5ufaLwMScEA== X-Received: by 127.0.0.2 with SMTP id T4XGYY7687511xsWfh16C8nj; Wed, 17 Apr 2024 02:02:02 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by mx.groups.io with SMTP id smtpd.web11.8294.1713344521926918025 for ; Wed, 17 Apr 2024 02:02:02 -0700 X-CSE-ConnectionGUID: /CRg7bcDTe2/9qvN2CUe7Q== X-CSE-MsgGUID: 7ihRnBOnSzCcAmTAlflwfg== X-IronPort-AV: E=McAfee;i="6600,9927,11046"; a="8652604" X-IronPort-AV: E=Sophos;i="6.07,208,1708416000"; d="scan'208";a="8652604" X-Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Apr 2024 02:01:49 -0700 X-CSE-ConnectionGUID: M6FACoYlQ6SkXPjoi0YvrA== X-CSE-MsgGUID: ZVsvGybgRxicGUGyCM89Cw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,208,1708416000"; d="scan'208";a="53769391" X-Received: from mxu9-mobl1.ccr.corp.intel.com ([10.124.224.178]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Apr 2024 02:01:47 -0700 From: "Min Xu" To: devel@edk2.groups.io Cc: Min M Xu , Jiewen Yao , Gerd Hoffmann Subject: [edk2-devel] [PATCH V1 1/1] OvmfPkg/IntelTdx: Update TDVF README Date: Wed, 17 Apr 2024 17:01:40 +0800 Message-ID: <20240417090140.477-1-min.m.xu@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Wed, 17 Apr 2024 02:02:02 -0700 Resent-From: min.m.xu@intel.com Reply-To: devel@edk2.groups.io,min.m.xu@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: VFWsyN6XzjNoZ2KdxN4yXChIx7686176AA= Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=z8lyOqXd; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.9 as permitted sender) smtp.mailfrom=bounce@groups.io From: Min M Xu 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 Cc: Gerd Hoffmann Signed-off-by: Min Xu --- 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 Intel? TDX Virtual Firmware Design Guide is at +The Intel TDX Virtual Firmware Design Guide 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. Config-A: - - 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. Config-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] -=-=-=-=-=-=-=-=-=-=-=-