Update in coreboot_get_memory_type API to include size as well

Change-Id: I3f563cffd58b0591b433c85c0ff6b71e486eb2c8
Signed-off-by: Saurabh Gorecha <sgorecha@codeaurora.org>
This commit is contained in:
Saurabh Gorecha 2020-10-15 00:05:36 +05:30
parent 7ad39818b1
commit e0caf8f57c
2 changed files with 6 additions and 4 deletions

View File

@ -39,7 +39,7 @@ typedef enum {
CB_MEM_TABLE = 16, CB_MEM_TABLE = 16,
} coreboot_memory_t; } coreboot_memory_t;
coreboot_memory_t coreboot_get_memory_type(uintptr_t address); coreboot_memory_t coreboot_get_memory_type(uintptr_t start, size_t size);
void coreboot_table_setup(void *base); void coreboot_table_setup(void *base);
#endif /* COREBOOT_H */ #endif /* COREBOOT_H */

View File

@ -89,7 +89,7 @@ static void setup_cbmem_console(uintptr_t baseaddr)
CONSOLE_FLAG_CRASH); CONSOLE_FLAG_CRASH);
} }
coreboot_memory_t coreboot_get_memory_type(uintptr_t address) coreboot_memory_t coreboot_get_memory_type(uintptr_t start, size_t size)
{ {
int i; int i;
@ -98,9 +98,11 @@ coreboot_memory_t coreboot_get_memory_type(uintptr_t address)
if (range->type == CB_MEM_NONE) if (range->type == CB_MEM_NONE)
break; /* end of table reached */ break; /* end of table reached */
if (address >= range->start && if ((start >= range->start) &&
address - range->start < range->size) (start - range->start < range->size) &&
(size <= range->size - (start - range->start))) {
return range->type; return range->type;
}
} }
return CB_MEM_NONE; return CB_MEM_NONE;