summaryrefslogtreecommitdiff
path: root/src/lib/bootmem.c
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2018-09-16 09:59:54 -0700
committerPatrick Georgi <pgeorgi@google.com>2018-10-11 17:42:41 +0000
commit83bd46e5e5df0176af1208c7feec98d64273875b (patch)
treea9b8905d9bb14b127a0b1d996ff5a712d721cab0 /src/lib/bootmem.c
parentce1064edd6827112ee86728ac15f67daab656f54 (diff)
selfboot: remove bounce buffers
Bounce buffers used to be used in those cases where the payload might overlap coreboot. Bounce buffers are a problem for rampayloads as they need malloc. They are also an artifact of our x86 past before we had relocatable ramstage; only x86, out of the 5 architectures we support, needs them; currently they only seem to matter on the following chipsets: src/northbridge/amd/amdfam10/Kconfig src/northbridge/amd/lx/Kconfig src/northbridge/via/vx900/Kconfig src/soc/intel/fsp_baytrail/Kconfig src/soc/intel/fsp_broadwell_de/Kconfig The first three are obsolete or at least could be changed to avoid the need to have bounce buffers. The last two should change to no longer need them. In any event they can be fixed or pegged to a release which supports them. For these five chipsets we change CONFIG_RAMBASE from 0x100000 (the value needed in 1999 for the 32-bit Linux kernel, the original ramstage) to 0xe00000 (14 Mib) which will put the non-relocatable x86 ramstage out of the way of any reasonable payload until we can get rid of it for good. 14 MiB was chosen after some discussion, but it does fit well: o Fits in the 16 MiB cacheable range coreboot sets up by default o Most small payloads are well under 14 MiB (even kernels!) o Most large payloads get loaded at 16 MiB (especially kernels!) With this change in place coreboot correctly still loads a bzImage payload. Werner reports that the 0xe00000 setting works on his broadwell systems. Change-Id: I602feb32f35e8af1d0dc4ea9f25464872c9b824c Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-on: https://review.coreboot.org/28647 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/lib/bootmem.c')
-rw-r--r--src/lib/bootmem.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/src/lib/bootmem.c b/src/lib/bootmem.c
index 38fdb1b937..2f9b5dc0b1 100644
--- a/src/lib/bootmem.c
+++ b/src/lib/bootmem.c
@@ -228,15 +228,6 @@ int bootmem_region_targets_usable_ram(uint64_t start, uint64_t size)
return bootmem_region_targets_ram(start, start + size, &bootmem);
}
-/* Special testcase to use when loading payload segments when bounce-buffer is
- * supported. Memory ranges tagged with >BM_MEM_OS_CUTOFF may be overwritten at
- * the time we jump to payload.
- */
-int bootmem_region_usable_with_bounce(uint64_t start, uint64_t size)
-{
- return bootmem_region_targets_ram(start, start + size, &bootmem_os);
-}
-
void *bootmem_allocate_buffer(size_t size)
{
const struct range_entry *r;