soc/ucb/riscv: Place CBMEM at top of autodetected RAM

Change-Id: Ida016aec11ccdb8da8d2ae1d30ddca16b069be11
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-on: https://review.coreboot.org/17595
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
diff --git a/src/soc/ucb/riscv/cbmem.c b/src/soc/ucb/riscv/cbmem.c
index 0e0eec1..44ffa26 100644
--- a/src/soc/ucb/riscv/cbmem.c
+++ b/src/soc/ucb/riscv/cbmem.c
@@ -12,9 +12,14 @@
  */
 
 #include <cbmem.h>
+#include <commonlib/configstring.h>
 
 void *cbmem_top(void)
 {
-	// TODO: find out how RISCV stores this.
-        return (void *)((uintptr_t)3*GiB);
+	uintptr_t base;
+	size_t size;
+
+	query_mem(configstring(), &base, &size);
+
+	return (void *)(base + size);
 }