Kyösti Mälkki (kyosti.malkki(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5719
-gerrit
commit c7079b8c9534ccb53a15d1103b54bcff2becd9ff
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Mon May 12 15:00:03 2014 +0300
intel: Drop obsolete comments on MTRR usage
Problem with UMA region allocation was fixed when MTRRs changed to use
memrange implementation.
Change-Id: I420dac30de2836a91596d81f88bb45b46f248532
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
---
src/include/device/device.h | 4 ----
src/northbridge/intel/fsp_sandybridge/northbridge.c | 11 -----------
src/northbridge/intel/nehalem/northbridge.c | 11 -----------
src/northbridge/intel/sandybridge/northbridge.c | 11 -----------
4 files changed, 37 deletions(-)
diff --git a/src/include/device/device.h b/src/include/device/device.h
index fd26c04..a4ef456 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -213,10 +213,6 @@ void fixed_mem_resource(device_t dev, unsigned long index,
/* It is the caller's responsibility to adjust regions such that ram_resource()
* and mmio_resource() do not overlap.
- *
- * Current MTRR setup creates exclusive uncacheable holes for uma_resource()
- * only and these are allowed to overlap any ram_resource(). This approach
- * is used for all UMA except Intel Sandy/IvyBridge.
*/
#define ram_resource(dev, idx, basek, sizek) \
fixed_mem_resource(dev, idx, basek, sizek, IORESOURCE_CACHEABLE)
diff --git a/src/northbridge/intel/fsp_sandybridge/northbridge.c b/src/northbridge/intel/fsp_sandybridge/northbridge.c
index d5b1575..2922ca0 100644
--- a/src/northbridge/intel/fsp_sandybridge/northbridge.c
+++ b/src/northbridge/intel/fsp_sandybridge/northbridge.c
@@ -102,17 +102,6 @@ static void add_fixed_resources(struct device *dev, int index)
struct resource *resource;
u32 pcie_config_base, pcie_config_size;
- /* Using uma_resource() here would fail as base & size cannot
- * be used as-is for a single MTRR. This would cause excessive
- * use of MTRRs.
- *
- * Use of mmio_resource() instead does not create UC holes by using
- * MTRRs, but making these regions uncacheable is taken care of by
- * making sure they do not overlap with any ram_resource().
- *
- * The resources can be changed to use separate mmio_resource()
- * calls after MTRR code is able to merge them wisely.
- */
mmio_resource(dev, index++, uma_memory_base >> 10, uma_memory_size >> 10);
if (get_pcie_bar(&pcie_config_base, &pcie_config_size)) {
diff --git a/src/northbridge/intel/nehalem/northbridge.c b/src/northbridge/intel/nehalem/northbridge.c
index d94bc09..639d245 100644
--- a/src/northbridge/intel/nehalem/northbridge.c
+++ b/src/northbridge/intel/nehalem/northbridge.c
@@ -134,17 +134,6 @@ static void mc_read_resources(device_t dev)
ram_resource(dev, 3, 0, 640);
ram_resource(dev, 4, 768, ((tseg_base >> 10) - 768));
- /* Using uma_resource() here would fail as base & size cannot
- * be used as-is for a single MTRR. This would cause excessive
- * use of MTRRs.
- *
- * Use of mmio_resource() instead does not create UC holes by using
- * MTRRs, but making these regions uncacheable is taken care of by
- * making sure they do not overlap with any ram_resource().
- *
- * The resources can be changed to use separate mmio_resource()
- * calls after MTRR code is able to merge them wisely.
- */
mmio_resource(dev, 5, tseg_base >> 10, CONFIG_SMM_TSEG_SIZE >> 10);
reg16 = pci_read_config16(dev_find_slot(0, PCI_DEVFN(0, 0)), D0F0_GGC);
diff --git a/src/northbridge/intel/sandybridge/northbridge.c b/src/northbridge/intel/sandybridge/northbridge.c
index 5440140..1fd252b 100644
--- a/src/northbridge/intel/sandybridge/northbridge.c
+++ b/src/northbridge/intel/sandybridge/northbridge.c
@@ -100,17 +100,6 @@ static void add_fixed_resources(struct device *dev, int index)
struct resource *resource;
u32 pcie_config_base, pcie_config_size;
- /* Using uma_resource() here would fail as base & size cannot
- * be used as-is for a single MTRR. This would cause excessive
- * use of MTRRs.
- *
- * Use of mmio_resource() instead does not create UC holes by using
- * MTRRs, but making these regions uncacheable is taken care of by
- * making sure they do not overlap with any ram_resource().
- *
- * The resources can be changed to use separate mmio_resource()
- * calls after MTRR code is able to merge them wisely.
- */
mmio_resource(dev, index++, uma_memory_base >> 10, uma_memory_size >> 10);
if (get_pcie_bar(&pcie_config_base, &pcie_config_size)) {
Kyösti Mälkki (kyosti.malkki(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5718
-gerrit
commit 71c3c6eb98a36ff847fb39736966529fe4f7cb33
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Fri Oct 18 11:02:46 2013 +0300
Add guard for UMA globals
We no longer need these globally. Guard them so we get to declare
static replacements at few locations until complete removal.
Change-Id: Ie33e2a680fc9bbb7e28c8fbe17e5181e626736a5
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
---
src/include/device/device.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/include/device/device.h b/src/include/device/device.h
index dfebeaa..fd26c04 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -131,9 +131,11 @@ extern struct bus *free_links;
extern const char mainboard_name[];
+#if CONFIG_GFXUMA
/* IGD UMA memory */
extern uint64_t uma_memory_base;
extern uint64_t uma_memory_size;
+#endif
/* Generic device interface functions */
device_t alloc_dev(struct bus *parent, struct device_path *path);
the following patch was just integrated into master:
commit f29200240e428761827ab8d179fa23068bfa9d59
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Sun Apr 27 00:41:50 2014 +1000
superio/ite/*: Factor out generic romstage component
Following the reasoning of:
cf7b498 superio/fintek/*: Factor out generic romstage component
Change-Id: I4c0a9a5a7786eb8fcb0c3ed6251c7fe9bbbadae7
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-on: http://review.coreboot.org/5585
Tested-by: build bot (Jenkins)
Reviewed-by: Rudolf Marek <r.marek(a)assembler.cz>
See http://review.coreboot.org/5585 for details.
-gerrit