aboutsummaryrefslogtreecommitdiff
path: root/util/inteltool/inteltool.c
diff options
context:
space:
mode:
authorPratikkumar Prajapati <pratikkumar.v.prajapati@intel.com>2022-12-19 09:52:34 -0800
committerFelix Held <felix-coreboot@felixheld.de>2023-01-10 14:43:22 +0000
commitc262b44d7ccae234b21a1c57bc7706071306aeef (patch)
treea3b9f2b61b6c3887d03387dc3c5d64b970405188 /util/inteltool/inteltool.c
parent12367e0db1150cfb6c75af3e5a41a0e409f7a0c1 (diff)
utils/inteltool: Add support to print Key Locker status
Add command-line option "-k" to print status. Sample output: $ inteltool -k ============= Dumping INTEL Key Locker status ============= Key Locker supported : YES AESKL instructions enabled : NO =========================================================== Change-Id: Icb1b08619b1dbc535640127f7ab5f6b49d70a6fe Signed-off-by: Pratikkumar Prajapati <pratikkumar.v.prajapati@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/71657 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Sridhar Siricilla <sridhar.siricilla@intel.com>
Diffstat (limited to 'util/inteltool/inteltool.c')
-rw-r--r--util/inteltool/inteltool.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/util/inteltool/inteltool.c b/util/inteltool/inteltool.c
index f4dbc1d94e..92a981a7b8 100644
--- a/util/inteltool/inteltool.c
+++ b/util/inteltool/inteltool.c
@@ -628,6 +628,7 @@ static void print_usage(const char *name)
" -A | --ambs: dump AMB registers\n"
" -x | --sgx: dump SGX status\n"
" -t | --tme: dump TME status\n"
+ " -k | --keylocker: dump Key Locker status\n"
" -a | --all: dump all known (safe) registers\n"
" --pcr=PORT_ID: dump all registers of a PCR port\n"
" (may be specified max %d times)\n"
@@ -689,7 +690,7 @@ int main(int argc, char *argv[])
int dump_pmbase = 0, dump_epbar = 0, dump_dmibar = 0;
int dump_pciexbar = 0, dump_coremsrs = 0, dump_ambs = 0;
int dump_spi = 0, dump_gfx = 0, dump_ahci = 0, dump_sgx = 0, dump_tme = 0;
- int dump_lpc = 0;
+ int dump_lpc = 0, dump_keylocker = 0;
int show_gpio_diffs = 0;
size_t pcr_count = 0;
uint8_t dump_pcr[MAX_PCR_PORTS];
@@ -719,10 +720,11 @@ int main(int argc, char *argv[])
{"sgx", 0, 0, 'x'},
{"pcr", required_argument, 0, LONG_OPT_PCR},
{"tme", 0, 0, 't'},
+ {"keylocker", 0, 0, 'k'},
{0, 0, 0, 0}
};
- while ((opt = getopt_long(argc, argv, "vh?gGrplmedPMaAsfRS:xt",
+ while ((opt = getopt_long(argc, argv, "vh?gGrplmedPMaAsfRS:xtk",
long_options, &option_index)) != EOF) {
switch (opt) {
case 'v':
@@ -803,6 +805,7 @@ int main(int argc, char *argv[])
dump_ahci = 1;
dump_sgx = 1;
dump_tme = 1;
+ dump_keylocker = 1;
break;
case 'A':
dump_ambs = 1;
@@ -816,6 +819,9 @@ int main(int argc, char *argv[])
case 't':
dump_tme = 1;
break;
+ case 'k':
+ dump_keylocker = 1;
+ break;
case LONG_OPT_PCR:
if (pcr_count < MAX_PCR_PORTS) {
errno = 0;
@@ -1011,6 +1017,9 @@ int main(int argc, char *argv[])
if (dump_tme)
print_tme();
+ if (dump_keylocker)
+ print_keylocker();
+
if (pcr_count)
print_pcr_ports(sb, dump_pcr, pcr_count);