libpayload: arm64: fix mmu bugs
1. keep functions and objects used entirely within mmu.c as static. 2. DMA region finding needs to terminate. Therefore, the next address to be attempted needs to be less then the current end address. 3. Ensure mmu_ranges passed to mmu_init_ranges_from_sysinfo() has 0 entries marked as used. BUG=chrome-os-partner:31634 BRANCH=None TEST=Booted ryu with RAM hole above cbmem tables below 4GiB. Change-Id: I5cb4e5009359cb04c4e1b5fe60845f80fbdff02c Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/221725 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Commit-Queue: Furquan Shaikh <furquan@chromium.org>
This commit is contained in:
parent
df4991ce1d
commit
66518fd86e
2 changed files with 35 additions and 29 deletions
|
|
@ -200,10 +200,6 @@ struct mmu_memrange* mmu_init_ranges_from_sysinfo(struct memrange *cb_ranges,
|
|||
uint64_t ncb,
|
||||
struct mmu_ranges *mmu_ranges);
|
||||
|
||||
/* Add a new mmu_memrange */
|
||||
struct mmu_memrange* mmu_add_memrange(struct mmu_ranges *r, uint64_t base,
|
||||
uint64_t size, uint64_t type);
|
||||
|
||||
/*
|
||||
* Functions for handling the initialization of memory ranges and enabling mmu
|
||||
* before coreboot tables are parsed
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue