summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2019-07-07 13:10:56 +0200
committerPhilipp Deppenwiese <zaolin.daisuki@gmail.com>2019-07-31 10:57:30 +0000
commit4c3da7039d187f6be780c4078c70d2dcff6c844c (patch)
tree9a7be122482e72ac0e885683566bab4cfc951991
parentf2ad8b35177bb4c1ca4ea78d299985c89adbfda2 (diff)
downloadcoreboot-4c3da7039d187f6be780c4078c70d2dcff6c844c.tar.xz
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 <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34140 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
-rw-r--r--src/include/bootmem.h1
-rw-r--r--src/include/program_loading.h1
-rw-r--r--src/include/symbols.h1
-rw-r--r--src/lib/bootmem.c3
4 files changed, 6 insertions, 0 deletions
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" },