]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/IntelTdx/README
OvmfPkg/IntelTdx: Update README
[mirror_edk2.git] / OvmfPkg / IntelTdx / README
CommitLineData
247a0fc6
MX
1TDVF Overview\r
2-------------\r
3\r
4<b>Intel Trust Domain Extension (TDX)</b> is Intel Architecture extension\r
5to provide trusted, isolated VM execution by removing CSP software\r
6(hypervisor etc) from the TCB. <b>TDX Virtual Firmware (TDVF)</b> is an\r
7EDK II based project to enable UEFI support for TDX based Virtual\r
8Machines. It provides the capability to launch a TD.\r
9\r
10The <b>Intel? TDX Virtual Firmware Design Guide</b> is at\r
11https://www.intel.com/content/dam/develop/external/us/en/documents/tdx-virtual-firmware-design-guide-rev-1.01.pdf.\r
12\r
13More information can be found at:\r
14https://www.intel.com/content/www/us/en/developer/articles/technical/intel-trust-domain-extensions.html\r
15\r
16\r
17Configurations and Features\r
18----------------------------\r
19\r
20There are 2 configurations for TDVF.\r
21\r
22<b>Config-A:</b>\r
23 - Merge the *basic* TDVF feature to existing OvmfX64Pkg.dsc. (Align\r
24 with existing SEV)\r
25 - Threat model: VMM is NOT out of TCB. (We don?t make things worse)\r
26 - The OvmfX64Pkg.dsc includes SEV/TDX/normal OVMF basic boot capability.\r
27 The final binary can run on SEV/TDX/normal OVMF.\r
28 - No changes to existing OvmfPkgX64 image layout.\r
247a0fc6 29 - No need to remove features if they exist today.\r
247a0fc6 30 - PEI phase is NOT skipped in either Td or Non-Td.\r
9d669016
MX
31 - RTMR based measurement is supported.\r
32 - External inputs from Host VMM are measured, such as TdHob, CFV.\r
33 - Other external inputs are measured, such as FW_CFG data, os loader,\r
34 initrd, etc.\r
247a0fc6
MX
35\r
36<b>Config-B:</b>\r
9d669016 37 - Add a standalone IntelTdx.dsc to a TDX specific directory for a *full*\r
247a0fc6 38 feature TDVF.(Align with existing SEV)\r
9d669016 39 - Threat model: VMM is out of TCB. (We need necessary change to prevent\r
247a0fc6 40 attack from VMM)\r
9d669016 41 - IntelTdx.dsc includes TDX/normal OVMF basic boot capability. The final\r
247a0fc6
MX
42 binary can run on TDX/normal OVMF.\r
43 - It might eventually merge with AmdSev.dsc, but NOT at this point of\r
44 time. And we don?t know when it will happen. We need sync with AMD in\r
45 the community after both of us think the solutions are mature to merge.\r
46 - Need to add necessary security feature as mandatory requirement, such\r
47 as RTMR based Trusted Boot support.\r
48 - Need to measure the external input from Host VMM, such as TdHob, CFV.\r
49 - Need to measure other external input, such as FW_CFG data, os loader,\r
50 initrd, etc.\r
51 - Need to remove unnecessary attack surfaces, such as network stack.\r
52\r
247a0fc6
MX
53Build\r
54------\r
55- Build the TDVF (Config-A) target:\r
56`cd /path/to/edk2`\r
57`source edksetup.sh`\r
58`build.sh -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC5`\r
59\r
60- Build the TDVF (Config-B) target:\r
61`cd /path/to/edk2`\r
62`set PACKAGES_PATH=/path/to/edk2/OvmfPkg`\r
63`source edksetup.sh`\r
64`build.sh -p OvmfPkg/IntelTdx/IntelTdxX64.dsc -a X64 -t GCC5`\r
65\r
66Usage\r
67-----\r
68\r
69Assuming TDX-QEMU/TDX-KVM are already built, one can start a TD virtual\r
70machine as [launching-td-guest](https://github.com/intel/qemu-tdx/blob/tdx-qemu-upstream-rfc-v3/docs/system/i386/tdx.rst#launching-a-td-tdx-vm):\r
71\r
72`qemu_system_x86 \`\r
73` -machine ...,confidential-guest-support=tdx0 \`\r
74` -object tdx-guest,id=tdx0,[sept-ve-disable=off] \`\r
75` -drive if=pflash,format=raw,unit=0,file=/path/to/OVMF_CODE.fd \`\r
76` -drive if=pflash,format=raw,unit=1,file=/path/to/OVMF_VARS.fd \`\r
77\r
78Note:\r
79TDX-QEMU/TDX-KVM are still in upstreaming progress. Please refer to:\r
80 - kvm : https://github.com/intel/tdx/tree/kvm-upstream\r
81 - qemu : https://github.com/intel/qemu-tdx/blob/tdx-qemu-upstream-rfc-v3\r
82\r
83Once above 2 upstreaming are completed a minimum qemu/kvm version will be updated here.\r