lib/bootmem: Add memory type for Armv9 MTE tag storage

The Armv9-A architecture introduces the Memory Tagging Extension (MTE),
which uses a dedicated memory region for tag storage.

This patch adds a new memory type, BM_MEM_TAG, to allow for the proper
accounting and reservation of this memory region. This ensures that the
payload, e.g. depthcharge, can correctly identify and utilize the tag
storage area.

BUG=b:438666196

Change-Id: I2f6d2b3c2c1a8e1f0e9b2c3d4e5f6a7b8c9d0e1f
Signed-off-by: Yidi Lin <yidilin@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90470
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
This commit is contained in:
Yidi Lin 2025-12-11 12:03:46 +08:00 committed by Matt DeVillier
commit 3d5135fdd0
3 changed files with 5 additions and 0 deletions

View file

@ -143,6 +143,7 @@ struct lb_memory_range {
#define LB_MEM_NVS 4 /* ACPI NVS Memory */
#define LB_MEM_UNUSABLE 5 /* Unusable address space */
#define LB_MEM_VENDOR_RSVD 6 /* Vendor Reserved */
#define LB_MEM_TAG 7 /* Armv9 tag storage for MTE */
#define LB_MEM_TABLE 16 /* Ram configuration tables are kept in */
#define LB_MEM_SOFT_RESERVED 0xefffffff /* Specific purpose memory */
};