diff options
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/Kconfig | 12 | ||||
-rw-r--r-- | src/arch/x86/cpu_common.c | 8 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index 90ece988c0..e149f0864e 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -391,4 +391,16 @@ config DUMP_SMBIOS_TYPE17 bool "Dump part of SMBIOS type17 dimm information" depends on GENERATE_SMBIOS_TABLES +config SOC_PHYSICAL_ADDRESS_WIDTH + int + default 0 + help + On some System-on-Chip the physical address size available + at the SoC level may be different than at the CPU + level. This configuration can be use to set the physical + address width (in bits) of the SoC. + + If not set, both CPU and SoC physical address width are + assume to be the same. + endif diff --git a/src/arch/x86/cpu_common.c b/src/arch/x86/cpu_common.c index 0242dcebdd..c4d30a2c06 100644 --- a/src/arch/x86/cpu_common.c +++ b/src/arch/x86/cpu_common.c @@ -60,6 +60,14 @@ unsigned int cpu_phys_address_size(void) return 32; } +unsigned int soc_phys_address_size(void) +{ + if (CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH) + return CONFIG_SOC_PHYSICAL_ADDRESS_WIDTH; + + return cpu_phys_address_size(); +} + /* * Get processor id using cpuid eax=1 * return value in EAX register |