coreboot/src/device
Jeremy Compostella ba757a71fe x86: Separate CPU and SoC physical address size
The physical address size of the System-on-Chip (SoC) can be different
from the CPU physical address size. These two different physical
address sizes should be used for settings of their respective field.

For instance, the physical address size related to the CPU should be
used for MTRR programming while the physical address size of the SoC
should be used for MMIO resource allocation.

Typically, on Meteor Lake, the CPUs physical address size is 46 if TME
is disabled and 42 if TME is enabled but Meteor Lake SoC physical
address size is always 42. As a result, MTRRs should reflect the TME
status while coreboot MMIO resource allocator should always use
42 bits.

This commit introduces `SOC_PHYSICAL_ADDRESS_WIDTH' Kconfig to set the
physical address size of the SoC for those SoCs.

BUG=b:314886709
TEST=MTRR are aligned between coreboot and FSP

Change-Id: Icb76242718581357e5c62c2465690cf489cb1375
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79665
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-12-22 12:26:59 +00:00
..
dram device/dram/ddr3.c: Check SPD byte before using as a divisor 2023-10-25 14:07:16 +00:00
oprom arch to drivers/intel: Fix misspellings & capitalization issues 2023-09-08 00:53:57 +00:00
azalia_device.c treewide: Get rid of CONFIG_AZALIA_MAX_CODECS 2022-02-22 17:40:30 +00:00
cardbus_device.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
cpu_device.c cpu/x86/topology: Add code to fill in topology on struct path 2023-04-06 15:27:23 +00:00
device.c arch to drivers/intel: Fix misspellings & capitalization issues 2023-09-08 00:53:57 +00:00
device_const.c src/device + util/sconfig: Introduce new device 'mdio' 2022-11-24 05:53:55 +00:00
device_util.c console: Add format-checking __printf() to die() 2023-05-17 11:23:59 +00:00
gpio.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
i2c.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
i2c_bus.c device/i2c_bus.c: Check pointer for NULL before using it 2023-12-20 17:01:49 +00:00
Kconfig device: Drop MULTIPLE_VGA_ADAPTERS Kconfig 2023-12-19 13:16:08 +00:00
Makefile.inc device/Kconfig: rename AZALIA_PLUGIN_SUPPORT to AZALIA_HDA_CODEC_SUPPORT 2023-11-10 15:27:58 +00:00
mdio.c device/mdio: Provide helper functions for read and write 2022-11-24 05:58:28 +00:00
mmio.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
pci_class.c arch to drivers/intel: Fix misspellings & capitalization issues 2023-09-08 00:53:57 +00:00
pci_device.c x86: Separate CPU and SoC physical address size 2023-12-22 12:26:59 +00:00
pci_early.c treewide: Remove duplicated include <device/pci.h> 2023-02-01 03:03:34 +00:00
pci_ops.c treewide: Remove duplicated include <device/pci.h> 2023-02-01 03:03:34 +00:00
pci_rom.c device: Drop MULTIPLE_VGA_ADAPTERS Kconfig 2023-12-19 13:16:08 +00:00
pciexp_device.c arch to drivers/intel: Fix misspellings & capitalization issues 2023-09-08 00:53:57 +00:00
pcix_device.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
pnp_device.c device/pnp_device: Remove return statement from void function 2023-08-15 08:51:16 +00:00
resource_allocator_common.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
resource_allocator_v4.c allocator_v4: Fix top-level allocations w/o IORESOURCE_ABOVE_4G 2023-06-23 08:47:50 +00:00
root_device.c lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
smbus_ops.c console: Add format-checking __printf() to die() 2023-05-17 11:23:59 +00:00
software_i2c.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
xhci.c device/xhci: Add functions to work with resource pointers 2023-03-05 15:32:34 +00:00
xhci_resource.c device/xhci: Add functions to work with resource pointers 2023-03-05 15:32:34 +00:00