coreboot/src
Arthur Heymans ee83be4d75 cpu/x86: Link page tables in stage if possible
When switching back and forth between 32 to 64 bit mode, for example to
call a 32-bits FSP or to call the payload, new page tables in the
respective stage will be linked.

The advantages of this approach are:
- No need to determine a good place for page tables in CBFS that does
  not overlap.
- Works with non memory mapped flash (however all coreboot targets
  currently do support this)
- If later stages can use their own page tables which fits better with
  the vboot RO/RW flow

A disadvantage is that it increases the stage size. This could be
improved upon by using 1G pages and generating the pages at runtime.

Note: qemu cannot have the page tables in the RO boot medium and needs
to relocate them at runtime. This is why keeping the existing code with
page tables in CBFS is done for now.

TEST: Booted to payload on google/vilbox and qemu/q35

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Change-Id: Ied54b66b930187cba5fbc578a81ed5859a616562
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80337
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-28 15:22:34 +00:00
..
acpi security/tpm: replace CONFIG(TPMx) checks with runtime check 2024-03-28 15:18:04 +00:00
arch cpu/x86: Link page tables in stage if possible 2024-03-28 15:22:34 +00:00
commonlib commonlib: Add timestamp entries for eSOL 2024-03-24 04:24:33 +00:00
console arch to cpu: Add SPDX license headers to Kconfig files 2024-02-18 01:58:52 +00:00
cpu cpu/x86: Link page tables in stage if possible 2024-03-28 15:22:34 +00:00
device device/pnp_device: fix log levels for unassigned resource messages 2024-02-29 21:40:49 +00:00
drivers security/tpm: replace CONFIG(TPMx) checks with runtime check 2024-03-28 15:18:04 +00:00
ec ec/hp/kbc1126/acpi: Drop unnecessary _STA methods 2024-03-16 15:20:04 +00:00
include symbols: Add __maybe_unused flag to region variable symbols 2024-03-18 16:53:36 +00:00
lib lib/spd_bin: Add LPDDR5X dram_type in use_ddr4_params 2024-03-28 07:26:45 +00:00
mainboard cpu/x86: Link page tables in stage if possible 2024-03-28 15:22:34 +00:00
northbridge nb/haswell: Disable iGPU when dGPU is used 2024-03-04 15:22:21 +00:00
sbom src, util: Clean up makefile.inc in text, help & comments 2024-01-26 20:15:18 +00:00
security security/vboot: extract secdata_tpm{1,2}.c 2024-03-28 15:20:11 +00:00
soc cpu/x86: Link page tables in stage if possible 2024-03-28 15:22:34 +00:00
southbridge util/amdfwtool: build amdfwtool only for all tools or AMD CPUs 2024-02-26 14:50:18 +00:00
superio superio/acpi: Add SUPERIO_PNP_NO_DIS to support always active LDNs 2024-03-01 15:37:48 +00:00
vendorcode security/tpm: replace CONFIG(TPMx) checks with runtime check 2024-03-28 15:18:04 +00:00
Kconfig src/Kconfig: Make it possible to override CCACHE in site-local 2024-03-17 16:37:54 +00:00