coreboot-kgpe-d16/src/arch/x86
Ronald G. Minnich 83bd46e5e5 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>
2018-10-11 17:42:41 +00:00
..
acpi
include Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
acpi.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
acpi_bert_storage.c arch/x86/acpi_bert_storage.c: Fix coverity error CID 1395706 2018-09-15 12:43:26 +00:00
acpi_device.c acpi: Call acpi_gen_writeSTA by status from device tree 2018-09-16 08:37:42 +00:00
acpi_pld.c
acpi_s3.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
acpigen.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
acpigen_dsm.c
assembly_entry.S
boot.c selfboot: remove bounce buffers 2018-10-11 17:42:41 +00:00
bootblock.ld
bootblock_crt0.S
bootblock_normal.c
bootblock_romcc.S
bootblock_simple.c
c_start.S
car.ld
cbfs_and_run.c
cbmem.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
cpu.c src/{arch,commonlib,cpu}: Use "foo *bar" instead of "foo* bar" 2018-07-09 09:26:18 +00:00
cpu_common.c arch/x86: Remove unneeded includes 2018-06-04 08:41:55 +00:00
ebda.c
exception.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
exit_car.S
failover.ld
gdt.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
gdt_init.S
id.ld
id.S
idt.S
ioapic.c
Kconfig selfboot: remove bounce buffers 2018-10-11 17:42:41 +00:00
Makefile.inc arch/x86: Make mb/romstage.c optional 2018-10-04 09:46:41 +00:00
memcpy.c
memlayout.ld arch/x86: Use fixed size limit with RELOCATABLE_RAMSTAGE 2018-06-06 10:36:04 +00:00
memmove.c
memset.c
mmap_boot.c
mpspec.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
pci_ops.c
pci_ops_conf1.c arch/x86: Remove unneeded includes 2018-06-04 08:41:55 +00:00
pirq_routing.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
postcar.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
postcar_loader.c arch/x86: Introduce postcar_frame_add_romcache() 2018-06-04 08:20:35 +00:00
prologue.inc
rdrand.c
smbios.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
stages.c
tables.c arch/x86/tables.c: Avoid static analysis error for unused value 2018-08-09 16:06:06 +00:00
thread.c src/arch: Fix typo 2018-08-09 15:56:02 +00:00
thread_switch.S
timestamp.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
verstage.c
wakeup.S
walkcbfs.S