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
This commit is contained in:
Rudolf Marek 2009-03-21 11:50:20 +00:00
parent 2a63ea580a
commit 9e9fa825fd
3 changed files with 27 additions and 1 deletions

View File

@ -34,7 +34,8 @@ default CONFIG_ROM_PAYLOAD = 1
default _ROMBASE = (CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE)
##WARNING enable caching of whole ROM during CAR
default XIP_ROM_SIZE = ROM_SIZE
##for 512KB flash
default XIP_ROM_SIZE = 0x80000
default XIP_ROM_BASE = 0xffffffff + 1 - XIP_ROM_SIZE
arch i386 end

View File

@ -21,8 +21,22 @@
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <boot/tables.h>
#include "chip.h"
/* in arch/i386/boot/tables.c */
extern uint64_t high_tables_base, high_tables_size;
int add_mainboard_resources(struct lb_memory *mem)
{
#if HAVE_HIGH_TABLES == 1
printk_debug("Adding high table area\n");
lb_add_memory_range(mem, LB_MEM_TABLE,
high_tables_base, high_tables_size);
#endif
return 0;
}
#if CONFIG_CHIP_NAME == 1
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS M2V-MX SE Mainboard")

View File

@ -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
}