blob: 637a6a787b0bb204cb49c21bd6900be909e12a51 [file] [log] [blame]
Elyes HAOUASf7b2fe62020-05-07 12:38:15 +02001# SPDX-License-Identifier: GPL-2.0-only
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +02002
Subrata Banik6a2495d2022-12-31 14:36:54 +05303config INTEL_TXT_LIB
4 bool
5 default n
6 help
7 This option includes library functions related to the TXT
8 operation which SoC would still like to access without enabling
9 INTEL_TXT config.
10
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020011config INTEL_TXT
12 bool "Intel TXT support"
13 default n
Subrata Banik6a2495d2022-12-31 14:36:54 +053014 select INTEL_TXT_LIB
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020015 select MRC_SETTINGS_PROTECT if CACHE_MRC_SETTINGS
16 select ENABLE_VMX if CPU_INTEL_COMMON
17 select AP_IN_SIPI_WAIT
Arthur Heymanseb73e5f2021-05-06 10:28:26 +020018 select TPM_MEASURED_BOOT_INIT_BOOTBLOCK if TPM_MEASURED_BOOT
Kyösti Mälkkif303b4f2021-05-27 19:33:57 +030019 depends on TPM
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020020 depends on PLATFORM_HAS_DRAM_CLEAR
Angel Pons1fc43aa2020-08-04 17:54:01 +020021 depends on (SOC_INTEL_COMMON_BLOCK_SA || HAVE_CF9_RESET)
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020022
23if INTEL_TXT
24
25config INTEL_TXT_BIOSACM_FILE
26 string "BIOS ACM file"
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020027 default "3rdparty/blobs/soc/intel/skylake/biosacm.bin" if SOC_INTEL_COMMON_SKYLAKE_BASE
28 help
Philipp Deppenwiese5f9f7762018-11-20 14:22:15 +010029 Intel TXT BIOS ACM file. This file can be obtained through privileged
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020030 access to Intel resources. Or for some platforms found inside the
31 blob repository.
32
33config INTEL_TXT_SINITACM_FILE
34 string "SINIT ACM file"
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020035 default "3rdparty/blobs/soc/intel/skylake/sinitacm.bin" if SOC_INTEL_COMMON_SKYLAKE_BASE
36 help
Philipp Deppenwiese5f9f7762018-11-20 14:22:15 +010037 Intel TXT SINIT ACM file. This file can be obtained through privileged
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020038 access to Intel resources. Or for some platforms found inside the
39 blob repository.
40
Angel Pons5a6daa62020-10-15 23:48:25 +020041config INTEL_TXT_DPR_SIZE
42 int
43 range 0 255
44 default 3
45 help
46 Specify the size the DPR region needs to have. On at least Haswell,
47 the MRC does not have an input to specify the size of DPR, so this
48 field is only used to check if the programmed size is large enough.
49
Michał Żygowski85d94742021-11-21 12:11:47 +010050config INTEL_TXT_BDR_VERSION
51 int "BIOS Data Region version"
52 range 2 6
53 default 5 if TPM1
54 default 6 if TPM2
55 help
56 Specify the TXT heap BIOS Data Region version. Sometimes when using
57 an older Trusted Boot version, it may report unsupported BIOS Data
58 Region version and refuse to set up the measured launch environment.
59 Setting lower version may work around such issue. Allowed values
60 currently range from 2 to 6.
61
Angel Pons8a285fd82020-10-16 10:49:12 +020062config INTEL_TXT_TEST_BIOS_ACM_CALLING_CODE
63 bool "Test BIOS ACM calling code with NOP function"
64 help
65 Run a NOP function of the BIOS ACM to check that the ACM calling code
66 is functioning properly. Use in pre-production environments only!
67
Philipp Deppenwiese5f9f7762018-11-20 14:22:15 +010068config INTEL_TXT_LOGGING
69 bool "Enable verbose logging"
70 help
71 Print more TXT related debug output.
72 Use in pre-production environments only!
73
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020074config INTEL_TXT_BIOSACM_ALIGNMENT
75 hex
Arthur Heymans94fe0862020-10-15 13:57:52 +020076 default 0x40000 if INTEL_CBNT_SUPPORT
Philipp Deppenwiese5f9f7762018-11-20 14:22:15 +010077 default 0x20000 # 128 KiB
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020078 help
Philipp Deppenwiese5f9f7762018-11-20 14:22:15 +010079 Exceptions are Ivy and Sandy Bridge with 64 KiB and Purley with 256 KiB
80 alignment size. If necessary, override from platform-specific Kconfig.
81
82config INTEL_TXT_CBFS_BIOS_POLICY
83 string
84 default "txt_bios_policy.bin"
85
86config INTEL_TXT_CBFS_BIOS_ACM
87 string
88 default "txt_bios_acm.bin"
89
90config INTEL_TXT_CBFS_SINIT_ACM
91 string
92 default "txt_sinit_acm.bin"
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +020093
Arthur Heymans9059a892020-10-23 11:08:41 +020094config INTEL_TXT_SINIT_SIZE
95 hex
96 default 0x20000
97 help
98 This is the size that will be programmed in TXT_SINIT_SIZE.
99 This needs to be at least the size of the SINIT ACM.
100 This is platform dependent. For instance on CPX this has
101 to be the ACM size + 64K.
102
103config INTEL_TXT_HEAP_SIZE
104 hex
105 default 0xe0000
106 help
107 This is the size that will be programmed in TXT_HEAP_SIZE.
108 This is platform dependent.
109
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +0200110endif