summaryrefslogtreecommitdiffstats
path: root/payloads
diff options
context:
space:
mode:
authorYi Chou <yich@google.com>2023-11-17 19:58:11 +0800
committerMartin L Roth <gaumless@gmail.com>2023-11-23 17:53:22 +0000
commit1739c99efe9b0775a859f2b46e6fd99b6a46927e (patch)
tree6cf5b8d891cdb10a52f3f626cac64487391b6f45 /payloads
parentf9b6f2d3558903ec8a0fec055d363ac6fb24c0df (diff)
downloadcoreboot-1739c99efe9b0775a859f2b46e6fd99b6a46927e.tar.gz
coreboot-1739c99efe9b0775a859f2b46e6fd99b6a46927e.tar.bz2
coreboot-1739c99efe9b0775a859f2b46e6fd99b6a46927e.zip
libpayload: Move ttb_buffer to a standalone section
When cleaning the sensitive data in the memory, we will want to prevent zero out the content of tbb_buffer. Move the ttb_buffer to a standalone section will simplify the problem. BUG=b:248610274 TEST=emerge-cherry libpayload BRANCH=none Change-Id: I610276cbe30552263d791860c15e5ad9a201c744 Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79078 Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'payloads')
-rw-r--r--payloads/libpayload/arch/arm64/libpayload.ldscript2
-rw-r--r--payloads/libpayload/arch/arm64/mmu.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/payloads/libpayload/arch/arm64/libpayload.ldscript b/payloads/libpayload/arch/arm64/libpayload.ldscript
index f9fb771da61a..e225aa8bca95 100644
--- a/payloads/libpayload/arch/arm64/libpayload.ldscript
+++ b/payloads/libpayload/arch/arm64/libpayload.ldscript
@@ -58,6 +58,8 @@ SECTIONS
_edata = .;
.bss : {
+ *(.ttb_buffer)
+
*(.sbss)
*(.sbss.*)
*(.bss)
diff --git a/payloads/libpayload/arch/arm64/mmu.c b/payloads/libpayload/arch/arm64/mmu.c
index 4c8f8c15a80c..bb7954473c2b 100644
--- a/payloads/libpayload/arch/arm64/mmu.c
+++ b/payloads/libpayload/arch/arm64/mmu.c
@@ -41,7 +41,8 @@ static unsigned int max_tables;
static uint64_t *xlat_addr;
static int free_idx;
-static uint8_t ttb_buffer[TTB_DEFAULT_SIZE] __attribute__((aligned(GRANULE_SIZE)));
+static uint8_t ttb_buffer[TTB_DEFAULT_SIZE] __aligned(GRANULE_SIZE)
+ __attribute__((__section__(".ttb_buffer")));
static const char * const tag_to_string[] = {
[TYPE_NORMAL_MEM] = "normal",