Skip to content

Commit 829e007

Browse files
committed
firmware: fix AMD SME memory-encryption verdict
1 parent e460b23 commit 829e007

4 files changed

Lines changed: 6 additions & 17 deletions

File tree

include/silicon_parsers.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ typedef enum {
2121

2222
typedef struct {
2323
bool amd_sme;
24-
bool amd_sme_active;
2524
bool intel_tme;
2625
} bythos_mem_enc_flags_t;
2726

src/check_memory_encryption.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,9 @@ size_t bythos_check_memory_encryption(check_result_t *results, size_t max_result
3535
if (!flags.amd_sme) {
3636
EMIT_SKIP("memory encryption", SKIP_FEATURE_ABSENT,
3737
"CPU encryption flags not detected");
38-
} else if (flags.amd_sme_active) {
39-
EMIT("memory encryption", CHECK_OK, "AMD SME active");
4038
} else {
41-
EMIT("memory encryption", CHECK_WARN, "AMD SME supported but inactive");
39+
EMIT("memory encryption", CHECK_OK,
40+
"AMD SME capability present; activation not verified");
4241
}
4342
} else {
4443
if (!flags.intel_tme) {

src/silicon_parsers.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,8 @@ void bythos_parse_memory_encryption_flags(const char *cpuinfo,
167167
return;
168168
}
169169

170-
flags->amd_sme = token_present(flags_line, "sme");
171-
flags->amd_sme_active = token_present(flags_line, "sme_active");
172-
flags->intel_tme = token_present(flags_line, "tme");
170+
flags->amd_sme = token_present(flags_line, "sme");
171+
flags->intel_tme = token_present(flags_line, "tme");
173172
}
174173

175174
bool bythos_extract_microcode_revision(const char *text, char *buffer, size_t size) {

tests/silicon_parsers.c

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,18 +76,11 @@ int main(void) {
7676
bythos_mem_enc_flags_t flags = {0};
7777

7878
bythos_parse_memory_encryption_flags(
79-
"vendor_id\t: AuthenticAMD\nflags\t\t: fpu vme de sme sme_active sev\n",
79+
"vendor_id\t: AuthenticAMD\nflags\t\t: fpu vme de sme sev\n",
8080
&flags);
8181
assert_true("mem_enc_amd_sme", flags.amd_sme);
82-
assert_true("mem_enc_amd_sme_active", flags.amd_sme_active);
8382
assert_false("mem_enc_amd_no_intel_tme", flags.intel_tme);
8483

85-
bythos_parse_memory_encryption_flags(
86-
"vendor_id\t: AuthenticAMD\nflags\t\t: fpu vme de sme sev\n",
87-
&flags);
88-
assert_true("mem_enc_amd_sme_only", flags.amd_sme);
89-
assert_false("mem_enc_amd_sme_active_absent", flags.amd_sme_active);
90-
9184
bythos_parse_memory_encryption_flags(
9285
"vendor_id\t: GenuineIntel\nflags\t\t: fpu vme de tme x2apic\n",
9386
&flags);
@@ -101,10 +94,9 @@ int main(void) {
10194
assert_false("mem_enc_no_flags_tme", flags.intel_tme);
10295

10396
bythos_parse_memory_encryption_flags(
104-
"vendor_id\t: AuthenticAMD\nflags\t\t: fpu vme sme_active sev\n",
97+
"vendor_id\t: AuthenticAMD\nflags\t\t: fpu vme smep smap sev\n",
10598
&flags);
10699
assert_false("mem_enc_word_boundary_sme", flags.amd_sme);
107-
assert_true("mem_enc_word_boundary_sme_active", flags.amd_sme_active);
108100

109101
bythos_parse_memory_encryption_flags(
110102
"vendor_id\t: AuthenticAMD\nmodel name\t: AMD Ryzen 9 5900HX\n",

0 commit comments

Comments
 (0)