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:
parent
2a63ea580a
commit
9e9fa825fd
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue