Attention is currently required from: Patrick Rudolph. Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/59845 )
Change subject: soc/block/systemagent: Do more fine grained resource allocation ......................................................................
soc/block/systemagent: Do more fine grained resource allocation
Not all top_of_ram -> TOLUD is uncacheable mmio.
Change-Id: Idbceeb31f15ba78c9a241869b5a34cb378096dbb Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/soc/intel/common/block/systemagent/systemagent.c 1 file changed, 21 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/45/59845/1
diff --git a/src/soc/intel/common/block/systemagent/systemagent.c b/src/soc/intel/common/block/systemagent/systemagent.c index 63c2e14..5868a16 100644 --- a/src/soc/intel/common/block/systemagent/systemagent.c +++ b/src/soc/intel/common/block/systemagent/systemagent.c @@ -175,10 +175,29 @@
sa_get_mem_map(dev, &sa_map_values[0]);
- /* top_of_ram -> TOLUD */ + /* Uncacheable memory */ base_k = top_of_ram; + size_k = sa_map_values[SA_TSEG_REG] - base_k; + if (size_k) { + printk(BIOS_DEBUG, "%s UC memory: base=0x%lx, size=0x%lx\n", __func__, base_k, size_k); + mmio_resource(dev, index++, base_k / KiB, size_k / KiB); + } + + /* TSEG */ + base_k = sa_map_values[SA_TSEG_REG]; + size_k = sa_map_values[SA_BGSM_REG] - base_k; + if (size_k) { + printk(BIOS_DEBUG, "%s TSEG: base=0x%lx, size=0x%lx\n", __func__, base_k, size_k); + reserved_ram_resource(dev, index++, base_k / KiB, size_k / KiB); + } + + /* GSM */ + base_k = sa_map_values[SA_BGSM_REG]; size_k = sa_map_values[SA_TOLUD_REG] - base_k; - mmio_resource(dev, index++, base_k / KiB, size_k / KiB); + if (size_k) { + printk(BIOS_DEBUG, "%s GSM: base=0x%lx, size=0x%lx\n", __func__, base_k, size_k); + mmio_resource(dev, index++, base_k / KiB, size_k / KiB); + }
/* 4GiB -> TOUUD */ base_k = 4 * (GiB / KiB); /* 4GiB */