cbmem_top: Fix comment and remove upper limit

There's no such limit on 64 Bit coreboot builds.

* Fix comment in cbmem.h
* Remove 4 GiB limit on Cavium SoCs

Tested on opencellular/elgon.
Still boots Linux as payload.

Change-Id: I8c9c6a5ff81bee48311e8bf8e383d1a032ea3a6d
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/30609
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Patrick Rudolph 2019-01-02 14:04:02 +01:00 committed by Patrick Georgi
parent 267684f10e
commit ab0a77453c
2 changed files with 4 additions and 3 deletions

View File

@ -70,7 +70,8 @@ void cbmem_top_init(void);
/* Return the top address for dynamic cbmem. The address returned needs to /* Return the top address for dynamic cbmem. The address returned needs to
* be consistent across romstage and ramstage, and it is required to be * be consistent across romstage and ramstage, and it is required to be
* below 4GiB. * below 4GiB for 32bit coreboot builds. On 64bit coreboot builds there's no
* upper limit.
* x86 boards or chipsets must return NULL before the cbmem backing store has * x86 boards or chipsets must return NULL before the cbmem backing store has
* been initialized. */ * been initialized. */
void *cbmem_top(void); void *cbmem_top(void);

View File

@ -2,6 +2,7 @@
* This file is part of the coreboot project. * This file is part of the coreboot project.
* *
* Copyright 2014 Rockchip Inc. * Copyright 2014 Rockchip Inc.
* Copyright 2019 9Elements GmbH <patrick.rudolph@9elements.com>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -22,6 +23,5 @@
void *cbmem_top(void) void *cbmem_top(void)
{ {
/* Make sure not to overlap with reserved ATF scratchpad */ /* Make sure not to overlap with reserved ATF scratchpad */
return (void *)min((uintptr_t)_dram + (sdram_size_mb() - 1) * MiB, return (void *)((uintptr_t)_dram + (sdram_size_mb() - 1) * MiB);
4ULL * GiB);
} }