From 9e9fa825fdd836f5e13db78ce4dc6bfb182dc35e Mon Sep 17 00:00:00 2001 From: Rudolf Marek Date: Sat, 21 Mar 2009 11:50:20 +0000 Subject: 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 Acked-by: Stefan Reinauer git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4024 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/southbridge/via/k8t890/k8t890_dram.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/southbridge') 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 } -- cgit v1.2.3