arch/x86/Kconfig: introduce RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT
Since also some AMD CPUs have reserved physical address bits that can't be used as normal address bits, introduce the RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT Kconfig option which gets selected by CPU_INTEL_COMMON, and use the new common option to configure if the specific SoC/CPU code implements get_reserved_phys_addr_bits or if the default of this returning 0 is used instead. Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: I0059e63a160e60ddee280635bba72d363deca7f7 Reviewed-on: https://review.coreboot.org/c/coreboot/+/78073 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com> Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com> Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
This commit is contained in:
		| @@ -92,6 +92,16 @@ config ARCH_X86_64_PGTBL_LOC | ||||
| 	  The position where to place pagetables. Needs to be known at | ||||
| 	  compile time. Must not overlap other files in CBFS. | ||||
|  | ||||
| config RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT | ||||
| 	bool | ||||
| 	help | ||||
| 	  On some systems, the upper physical address bits are reserved and | ||||
| 	  used as a tag which is typically related to a memory encryption | ||||
| 	  feature. When selecting this option, the SoC code needs to implement | ||||
| 	  get_reserved_phys_addr_bits so that the common code knows how many of | ||||
| 	  the most significant physical address bits are reserved and can't be | ||||
| 	  used as address bits. | ||||
|  | ||||
| # This is an SMP option. It relates to starting up APs. | ||||
| # It is usually set in mainboard/*/Kconfig. | ||||
| # TODO: Improve description. | ||||
|   | ||||
| @@ -316,7 +316,7 @@ size_t get_cache_size(const struct cpu_cache_info *info); | ||||
|  */ | ||||
| bool fill_cpu_cache_info(uint8_t level, struct cpu_cache_info *info); | ||||
|  | ||||
| #if CONFIG(CPU_INTEL_COMMON) | ||||
| #if CONFIG(RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT) | ||||
| unsigned int get_reserved_phys_addr_bits(void); | ||||
| #else | ||||
| /* Default implementation */ | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| config CPU_INTEL_COMMON | ||||
| 	bool | ||||
| 	select RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT | ||||
|  | ||||
| if CPU_INTEL_COMMON | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user