Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/36287 )
Change subject: lib/cbmem_top.c: Add some romstage helper functions to save cbmem_top ......................................................................
lib/cbmem_top.c: Add some romstage helper functions to save cbmem_top
With complicated vendor reference code or blobs it is not always easy to figure out ourselves where the top of lower memory is and we have to rely on the output of the vendor code. This adds a helper function to save a value return by the vendor code to be used to implement cbmem_top.
Change-Id: I4c547e7c19bfaf60db348a5cba2e23091ff06450 Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/include/cbmem.h M src/lib/Kconfig M src/lib/cbmem_top.c 3 files changed, 23 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/36287/1
diff --git a/src/include/cbmem.h b/src/include/cbmem.h index a6cd277..a2326df 100644 --- a/src/include/cbmem.h +++ b/src/include/cbmem.h @@ -161,6 +161,10 @@ uintptr_t restore_top_of_low_cacheable(void); #endif
+/* If CONFIG_CBMEM_TOP_MEM is selected cbmem_top will return the value + of the function argument. */ +void save_top_mem(uintptr_t ramtop); + /* * Returns 0 for the stages where we know that cbmem does not come online. * Even if this function returns 1 for romstage, depending upon the point in diff --git a/src/lib/Kconfig b/src/lib/Kconfig index aede4b3..bf77320 100644 --- a/src/lib/Kconfig +++ b/src/lib/Kconfig @@ -30,6 +30,12 @@ Select this if stages run after romstage get the cbmem_top pointer the function arguments when called from romstage.
+config CBMEM_TOP_SAVE + bool + help + Select this on platforms if you want to save a variable during + containing the top of lower memory at which cbmem will be installed. + config FLATTENED_DEVICE_TREE bool help diff --git a/src/lib/cbmem_top.c b/src/lib/cbmem_top.c index 6eee0d5..016b548 100644 --- a/src/lib/cbmem_top.c +++ b/src/lib/cbmem_top.c @@ -25,5 +25,18 @@ is implemented */ return cbmem_top_romstage(); } +#endif
+#if CONFIG(CBMEM_TOP_SAVE) +static uintptr_t cbmem_top_p; + +void save_top_mem(uintptr_t ramtop) +{ + cbmem_top_p = ramtop; +} + +void *cbmem_top_romstage(void) +{ + return (void *)cbmem_top_p; +} #endif
Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/36287 )
Change subject: lib/cbmem_top.c: Add some romstage helper functions to save cbmem_top ......................................................................
Patch Set 3: Code-Review-1
Not used/needed for now.
Arthur Heymans has abandoned this change. ( https://review.coreboot.org/c/coreboot/+/36287 )
Change subject: lib/cbmem_top.c: Add some romstage helper functions to save cbmem_top ......................................................................
Abandoned
Not needed anymore.