Attention is currently required from: Chen, Gang C, Christian Walter, Intel coreboot Reviewers, Johnny Lin, Jonathan Zhang, Patrick Rudolph, Tim Chu.
Hello Chen, Gang C,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/86573?usp=email
to review the following change.
Change subject: soc/intel/xeon_sp: Reserve SoC MMIO region in CBFS ......................................................................
soc/intel/xeon_sp: Reserve SoC MMIO region in CBFS
Ensure CBFS does not overlap with SoC MMIO by reserving space with mmio_reserved.bin for BIOS sizes over 16MB.
Change-Id: I122821975afde9e234147a66e2f4c09dbe10815d Signed-off-by: Gang Chen gang.c.chen@intel.com Signed-off-by: Shuo Liu shuo.liu@intel.com --- M src/soc/intel/xeon_sp/Kconfig M src/soc/intel/xeon_sp/Makefile.mk 2 files changed, 30 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/73/86573/1
diff --git a/src/soc/intel/xeon_sp/Kconfig b/src/soc/intel/xeon_sp/Kconfig index f61de56..2356c20 100644 --- a/src/soc/intel/xeon_sp/Kconfig +++ b/src/soc/intel/xeon_sp/Kconfig @@ -116,4 +116,16 @@ default y select SHADOW_ROM_TABLE_TO_EBDA
+config FIXED_MMIO_REGION_BASE + hex + help + MMIO reservation windows below 4GB-16MB boundary to hold + SoC fixed mapping like CACHE as RAM, local APIC, et al. + +config FIXED_MMIO_REGION_SIZE + hex + help + MMIO reservation windows below 4GB-16MB boundary to hold + SoC fixed mapping like CACHE as RAM, local APIC, et al. + endif ## SOC_INTEL_XEON_SP diff --git a/src/soc/intel/xeon_sp/Makefile.mk b/src/soc/intel/xeon_sp/Makefile.mk index c66b8ad..2227c99 100644 --- a/src/soc/intel/xeon_sp/Makefile.mk +++ b/src/soc/intel/xeon_sp/Makefile.mk @@ -32,4 +32,21 @@ CPPFLAGS_common += -I$(src)/soc/intel/xeon_sp/include CPPFLAGS_common += -include $(src)/soc/intel/xeon_sp/include/soc/fsp_upd.h
-endif ## XEON_SP_COMMON_BASE +ifeq ($(call int-gt, $(CONFIG_BIOS_SIZE) 0x01000000), 1) +DD_COUNT=$(call int-divide, $(CONFIG_FIXED_MMIO_REGION_SIZE) 0x100000) +$(shell `dd if=/dev/zero of=$(obj)/mmio_reserved.bin bs=M count=$(DD_COUNT)`) +cbfs-files-y += mmio_reserved.bin + +mmio_reserved.bin-file ?= $(obj)/mmio_reserved.bin +mmio_reserved.bin-type := raw +mmio_reserved.bin-align := 16 + +ifneq ($(CONFIG_FIXED_MMIO_REGION_BASE),) +mmio_reserved.bin-COREBOOT-position := $(CONFIG_FIXED_MMIO_REGION_BASE) +else +$(warning "FIXED_MMIO_REGION_BASE should be set!") +endif + +endif + +endif