From 4c3da7039d187f6be780c4078c70d2dcff6c844c Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Sun, 7 Jul 2019 13:10:56 +0200 Subject: lib/bootmem: Prepare for OpenSBI Add a new bootmem memory type OpenSBI. It's similar to BL31 on aarch64. Required for OpenSBI integration. Change-Id: I5ceafd5a295f4284e99e12f7ea2aa4c6d1dbb188 Signed-off-by: Patrick Rudolph Reviewed-on: https://review.coreboot.org/c/coreboot/+/34140 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- src/include/bootmem.h | 1 + src/include/program_loading.h | 1 + src/include/symbols.h | 1 + src/lib/bootmem.c | 3 +++ 4 files changed, 6 insertions(+) (limited to 'src') diff --git a/src/include/bootmem.h b/src/include/bootmem.h index c935cb919f..2e33fcdf76 100644 --- a/src/include/bootmem.h +++ b/src/include/bootmem.h @@ -37,6 +37,7 @@ enum bootmem_type { BM_MEM_NVS, /* ACPI NVS Memory */ BM_MEM_UNUSABLE, /* Unusable address space */ BM_MEM_VENDOR_RSVD, /* Vendor Reserved */ + BM_MEM_OPENSBI, /* Risc-V OpenSBI */ BM_MEM_BL31, /* Arm64 BL31 exectuable */ BM_MEM_TABLE, /* Ram configuration tables are kept in */ /* Tags below this point are ignored for the OS table. */ diff --git a/src/include/program_loading.h b/src/include/program_loading.h index 5ac74bf238..6dec1920b8 100644 --- a/src/include/program_loading.h +++ b/src/include/program_loading.h @@ -38,6 +38,7 @@ enum prog_type { PROG_BL31, PROG_BL32, PROG_POSTCAR, + PROG_OPENSBI, }; /* diff --git a/src/include/symbols.h b/src/include/symbols.h index b67286ac2d..cc27275f88 100644 --- a/src/include/symbols.h +++ b/src/include/symbols.h @@ -56,6 +56,7 @@ DECLARE_REGION(dma_coherent) DECLARE_REGION(soc_registers) DECLARE_REGION(framebuffer) DECLARE_REGION(pdpt) +DECLARE_REGION(opensbi) DECLARE_REGION(bl31) /* diff --git a/src/lib/bootmem.c b/src/lib/bootmem.c index 01ad3e841b..45f7fe261d 100644 --- a/src/lib/bootmem.c +++ b/src/lib/bootmem.c @@ -59,6 +59,8 @@ static uint32_t bootmem_to_lb_tag(const enum bootmem_type tag) return LB_MEM_UNUSABLE; case BM_MEM_VENDOR_RSVD: return LB_MEM_VENDOR_RSVD; + case BM_MEM_OPENSBI: + return LB_MEM_RESERVED; case BM_MEM_BL31: return LB_MEM_RESERVED; case BM_MEM_TABLE: @@ -147,6 +149,7 @@ static const struct range_strings type_strings[] = { { BM_MEM_UNUSABLE, "UNUSABLE" }, { BM_MEM_VENDOR_RSVD, "VENDOR RESERVED" }, { BM_MEM_BL31, "BL31" }, + { BM_MEM_OPENSBI, "OPENSBI" }, { BM_MEM_TABLE, "CONFIGURATION TABLES" }, { BM_MEM_RAMSTAGE, "RAMSTAGE" }, { BM_MEM_PAYLOAD, "PAYLOAD" }, -- cgit v1.2.3