[Skiboot] [PATCH] mem_region: Add reserved regions after memory init

Stewart Smith stewart at linux.vnet.ibm.com
Tue May 9 17:44:03 AEST 2017


Oliver O'Halloran <oohall at gmail.com> writes:
> When a new memory region is added (e.g for memory reserved by firmware)
> the list of existing memory regions is iterated through and a cut-out is
> made in any existing region that overlaps with the new one. Prior to the
> HDAT reservations being made the region init process was always:
>
> 1) Create regions from the memory@<addr> DT nodes. (mostly large)
> 2) Create reserved regions from the device-tree. (mostly small)
>
> When adding new regions we have assume that the new region will only
> every intersect with at most one existing region, which it will split.
> Adding reservations inside the HDAT parser breaks this because when
> adding the memory@<addr> node regions we can potentially overlap with
> multiple reserved regions. This patch fixes this by maintaining a
> seperate list of memory reservations and delaying merging them until
> after the normal memory init has finished, similar to how DT
> reservations are handled.
>
> Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
> ---
>  core/mem_region.c | 37 ++++++++++++++++++++++++++++++-------
>  1 file changed, 30 insertions(+), 7 deletions(-)

Add something to one of the mem_region tests?

-- 
Stewart Smith
OPAL Architect, IBM.



More information about the Skiboot mailing list