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>
This commit is contained in:
Patrick Rudolph 2019-07-07 13:10:56 +02:00 committed by Philipp Deppenwiese
parent f2ad8b3517
commit 4c3da7039d
4 changed files with 6 additions and 0 deletions

View File

@ -37,6 +37,7 @@ enum bootmem_type {
BM_MEM_NVS, /* ACPI NVS Memory */ BM_MEM_NVS, /* ACPI NVS Memory */
BM_MEM_UNUSABLE, /* Unusable address space */ BM_MEM_UNUSABLE, /* Unusable address space */
BM_MEM_VENDOR_RSVD, /* Vendor Reserved */ BM_MEM_VENDOR_RSVD, /* Vendor Reserved */
BM_MEM_OPENSBI, /* Risc-V OpenSBI */
BM_MEM_BL31, /* Arm64 BL31 exectuable */ BM_MEM_BL31, /* Arm64 BL31 exectuable */
BM_MEM_TABLE, /* Ram configuration tables are kept in */ BM_MEM_TABLE, /* Ram configuration tables are kept in */
/* Tags below this point are ignored for the OS table. */ /* Tags below this point are ignored for the OS table. */

View File

@ -38,6 +38,7 @@ enum prog_type {
PROG_BL31, PROG_BL31,
PROG_BL32, PROG_BL32,
PROG_POSTCAR, PROG_POSTCAR,
PROG_OPENSBI,
}; };
/* /*

View File

@ -56,6 +56,7 @@ DECLARE_REGION(dma_coherent)
DECLARE_REGION(soc_registers) DECLARE_REGION(soc_registers)
DECLARE_REGION(framebuffer) DECLARE_REGION(framebuffer)
DECLARE_REGION(pdpt) DECLARE_REGION(pdpt)
DECLARE_REGION(opensbi)
DECLARE_REGION(bl31) DECLARE_REGION(bl31)
/* /*

View File

@ -59,6 +59,8 @@ static uint32_t bootmem_to_lb_tag(const enum bootmem_type tag)
return LB_MEM_UNUSABLE; return LB_MEM_UNUSABLE;
case BM_MEM_VENDOR_RSVD: case BM_MEM_VENDOR_RSVD:
return LB_MEM_VENDOR_RSVD; return LB_MEM_VENDOR_RSVD;
case BM_MEM_OPENSBI:
return LB_MEM_RESERVED;
case BM_MEM_BL31: case BM_MEM_BL31:
return LB_MEM_RESERVED; return LB_MEM_RESERVED;
case BM_MEM_TABLE: case BM_MEM_TABLE:
@ -147,6 +149,7 @@ static const struct range_strings type_strings[] = {
{ BM_MEM_UNUSABLE, "UNUSABLE" }, { BM_MEM_UNUSABLE, "UNUSABLE" },
{ BM_MEM_VENDOR_RSVD, "VENDOR RESERVED" }, { BM_MEM_VENDOR_RSVD, "VENDOR RESERVED" },
{ BM_MEM_BL31, "BL31" }, { BM_MEM_BL31, "BL31" },
{ BM_MEM_OPENSBI, "OPENSBI" },
{ BM_MEM_TABLE, "CONFIGURATION TABLES" }, { BM_MEM_TABLE, "CONFIGURATION TABLES" },
{ BM_MEM_RAMSTAGE, "RAMSTAGE" }, { BM_MEM_RAMSTAGE, "RAMSTAGE" },
{ BM_MEM_PAYLOAD, "PAYLOAD" }, { BM_MEM_PAYLOAD, "PAYLOAD" },