summaryrefslogtreecommitdiff
path: root/src/southbridge
diff options
context:
space:
mode:
authorRudolf Marek <r.marek@assembler.cz>2009-03-21 11:50:20 +0000
committerRudolf Marek <r.marek@assembler.cz>2009-03-21 11:50:20 +0000
commit9e9fa825fdd836f5e13db78ce4dc6bfb182dc35e (patch)
treef9c635f310c235c11e90351f4d79550f2bed1485 /src/southbridge
parent2a63ea580a754f65ef8f2cf2f4682a51e6b7a9da (diff)
To make use of HAVE_HIGH_TABLES following patch is needed. Also, it moves
coreboot to 1MB and tries to cache whole range for XIP. The UMA part colide a bit with the HAVE_HIGH_TABLES region. I solved that by relocation of the region. Signed-off-by: Rudolf Marek <r.marek@assembler.cz> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4024 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/southbridge')
-rw-r--r--src/southbridge/via/k8t890/k8t890_dram.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/southbridge/via/k8t890/k8t890_dram.c b/src/southbridge/via/k8t890/k8t890_dram.c
index 1c60a78a13..5339257743 100644
--- a/src/southbridge/via/k8t890/k8t890_dram.c
+++ b/src/southbridge/via/k8t890/k8t890_dram.c
@@ -91,6 +91,17 @@ static void get_memres(void *gp, struct device *dev, struct resource *res)
(proposed_base < ((uint64_t) 0xffffffff) )) {
resmax = res;
}
+#if HAVE_HIGH_TABLES==1
+/* in arch/i386/boot/tables.c */
+extern uint64_t high_tables_base, high_tables_size;
+
+ if ((high_tables_base) && ((high_tables_base > proposed_base) &&
+ (high_tables_base < (res->base + res->size)))) {
+ high_tables_base = proposed_base - high_tables_size;
+ printk_debug("Moving the high_tables_base pointer to "
+ "new base %llx\n", high_tables_base);
+ }
+#endif
}