patches/coreboot-4.17: Add Librem 4.17 patches

Add patches for coreboot 4.17:
- show ME status even when device is disable (kept from 4.15)
- zero unused part of SMBIOS region

Signed-off-by: Daniel Pineda <daniel.pineda@puri.sm>
This commit is contained in:
Daniel Pineda 2022-09-01 16:46:29 -06:00
parent cc58994f3b
commit 146b78e08c
No known key found for this signature in database
GPG Key ID: 902C199C68C4B327
3 changed files with 106 additions and 0 deletions

View File

@ -0,0 +1,36 @@
From 74c443f9474245c28edddc0847d89ea4c82ba0b2 Mon Sep 17 00:00:00 2001
From: Matt DeVillier <matt.devillier@puri.sm>
Date: Mon, 18 May 2020 14:02:27 -0500
Subject: [PATCH 1/3] soc/skylake/me.c: Print status regardless of device
enable state
Checking the CSE device status before printing means it will skip
printing for devices with the ME disabled, leaving the user no easy
way to verify the ME is properly disabled. Remove the check.
Test: build/boot Librem 13v4, verify ME status printed as expected
on device with disabled/neutered ME.
Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
Change-Id: Iaa4f4a369d878a52136c3479027443ea4e731a36
---
src/soc/intel/skylake/me.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/soc/intel/skylake/me.c b/src/soc/intel/skylake/me.c
index 89491f89c3..08aceb3f83 100644
--- a/src/soc/intel/skylake/me.c
+++ b/src/soc/intel/skylake/me.c
@@ -188,9 +188,6 @@ void intel_me_status(void)
union me_hfsts3 hfs3;
union me_hfsts6 hfs6;
- if (!is_cse_enabled())
- return;
-
hfs1.data = me_read_config32(PCI_ME_HFSTS1);
hfs2.data = me_read_config32(PCI_ME_HFSTS2);
hfs3.data = me_read_config32(PCI_ME_HFSTS3);
--
2.25.1

View File

@ -0,0 +1,36 @@
From 5d905d79d5c6ac8fc8814d0baea1522f50ed48f9 Mon Sep 17 00:00:00 2001
From: Matt DeVillier <matt.devillier@puri.sm>
Date: Fri, 19 Jun 2020 17:02:22 -0500
Subject: [PATCH 2/3] soc/cannonlake/me.c: Print status regardless of device
enable state
Checking the CSE device status before printing means it will skip
printing for devices with the ME disabled, leaving the user no easy
way to verify the ME is properly disabled. Remove the check.
Test: build/boot Librem Mini, verify ME status printed as expected
on device with disabled/neutered ME.
Change-Id: I939333199aa699039fec727beb094e4eb2ad7149
Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
---
src/soc/intel/cannonlake/me.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/soc/intel/cannonlake/me.c b/src/soc/intel/cannonlake/me.c
index 7bbe1ae730..4fe5a96ade 100644
--- a/src/soc/intel/cannonlake/me.c
+++ b/src/soc/intel/cannonlake/me.c
@@ -103,9 +103,6 @@ void dump_me_status(void *unused)
union me_hfsts5 hfsts5;
union me_hfsts6 hfsts6;
- if (!is_cse_enabled())
- return;
-
hfsts1.data = me_read_config32(PCI_ME_HFSTS1);
hfsts2.data = me_read_config32(PCI_ME_HFSTS2);
hfsts3.data = me_read_config32(PCI_ME_HFSTS3);
--
2.25.1

View File

@ -0,0 +1,34 @@
From 517c2ad54bfc44b984457ca30c34410487eb2be9 Mon Sep 17 00:00:00 2001
From: Jonathon Hall <jonathon.hall@puri.sm>
Date: Wed, 27 Jul 2022 09:45:40 -0400
Subject: [PATCH 3/3] x86: Zero unused part of SMBIOS region
Since SMBIOS was increased from 4K to 32K, the unused region could include
parts of the ACPI region from a prior boot, which may confuse the OS if it
finds remanent table signatures.
Change-Id: I0ebac7c70a6887c6d3380702d242618e86e84185
Signed-off-by: Jonathon Hall <jonathon.hall@puri.sm>
---
src/arch/x86/tables.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/arch/x86/tables.c b/src/arch/x86/tables.c
index 8d2f7b6f20..282dfc58a8 100644
--- a/src/arch/x86/tables.c
+++ b/src/arch/x86/tables.c
@@ -151,6 +151,11 @@ static unsigned long write_smbios_table(unsigned long rom_table_end)
new_high_table_pointer =
smbios_write_tables(high_table_pointer);
+ /* Clear the unused part of the region, in case other table
+ * signatures could be present from a prior boot
+ */
+ memset((void *)new_high_table_pointer, 0, high_table_pointer +
+ MAX_SMBIOS_SIZE - new_high_table_pointer);
rom_table_end = ALIGN_UP(rom_table_end, 16);
memcpy((void *)rom_table_end, (void *)high_table_pointer,
sizeof(struct smbios_entry));
--
2.25.1