Change CONFIG_LB_MEM_TOPK to CONFIG_RAMTOP to match CONFIG_RAMBASE.
Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4788 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
@ -246,17 +246,17 @@ int start_cpu(device_t cpu)
|
||||
index = ++last_cpu_index;
|
||||
|
||||
/* Find end of the new processors stack */
|
||||
#if (CONFIG_LB_MEM_TOPK>1024) && (CONFIG_RAMBASE < 0x100000) && ((CONFIG_CONSOLE_VGA==1) || (CONFIG_PCI_ROM_RUN == 1))
|
||||
#if (CONFIG_RAMTOP>0x100000) && (CONFIG_RAMBASE < 0x100000) && ((CONFIG_CONSOLE_VGA==1) || (CONFIG_PCI_ROM_RUN == 1))
|
||||
if(index<1) { // only keep bsp on low
|
||||
stack_end = ((unsigned long)_estack) - (CONFIG_STACK_SIZE*index) - sizeof(struct cpu_info);
|
||||
} else {
|
||||
// for all APs, let use stack after pgtbl, 20480 is the pgtbl size for every cpu
|
||||
stack_end = 0x100000+(20480 + CONFIG_STACK_SIZE)*CONFIG_MAX_CPUS - (CONFIG_STACK_SIZE*index);
|
||||
#if (0x100000+(20480 + CONFIG_STACK_SIZE)*CONFIG_MAX_CPUS) > (CONFIG_LB_MEM_TOPK<<10)
|
||||
#warning "We may need to increase CONFIG_LB_MEM_TOPK, it need to be more than (0x100000+(20480 + CONFIG_STACK_SIZE)*CONFIG_MAX_CPUS)\n"
|
||||
#if (0x100000+(20480 + CONFIG_STACK_SIZE)*CONFIG_MAX_CPUS) > (CONFIG_RAMTOP)
|
||||
#warning "We may need to increase CONFIG_RAMTOP, it need to be more than (0x100000+(20480 + CONFIG_STACK_SIZE)*CONFIG_MAX_CPUS)\n"
|
||||
#endif
|
||||
if(stack_end > (CONFIG_LB_MEM_TOPK<<10)) {
|
||||
printk_debug("start_cpu: Please increase the CONFIG_LB_MEM_TOPK more than %luK\n", stack_end>>10);
|
||||
if(stack_end > (CONFIG_RAMTOP)) {
|
||||
printk_debug("start_cpu: Please increase the CONFIG_RAMTOP more than %luK\n", stack_end);
|
||||
die("Can not go on\n");
|
||||
}
|
||||
stack_end -= sizeof(struct cpu_info);
|
||||
|
@ -11,8 +11,8 @@
|
||||
#if defined(CONFIG_XIP_ROM_BASE) && !defined(CONFIG_XIP_ROM_SIZE)
|
||||
# error "CONFIG_XIP_ROM_BASE without CONFIG_XIP_ROM_SIZE"
|
||||
#endif
|
||||
#if !defined(CONFIG_LB_MEM_TOPK)
|
||||
# error "CONFIG_LB_MEM_TOPK not defined"
|
||||
#if !defined(CONFIG_RAMTOP)
|
||||
# error "CONFIG_RAMTOP not defined"
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_XIP_ROM_SIZE) && ((CONFIG_XIP_ROM_SIZE & (CONFIG_XIP_ROM_SIZE -1)) != 0)
|
||||
@ -22,8 +22,8 @@
|
||||
# error "CONFIG_XIP_ROM_BASE is not a multiple of CONFIG_XIP_ROM_SIZE"
|
||||
#endif
|
||||
|
||||
#if (CONFIG_LB_MEM_TOPK & (CONFIG_LB_MEM_TOPK -1)) != 0
|
||||
# error "CONFIG_LB_MEM_TOPK must be a power of 2"
|
||||
#if (CONFIG_RAMTOP & (CONFIG_RAMTOP -1)) != 0
|
||||
# error "CONFIG_RAMTOP must be a power of 2"
|
||||
#endif
|
||||
|
||||
static void disable_var_mtrr(unsigned reg)
|
||||
@ -75,7 +75,7 @@ static void cache_lbmem(int type)
|
||||
{
|
||||
/* Enable caching for 0 - 1MB using variable mtrr */
|
||||
disable_cache();
|
||||
set_var_mtrr(0, 0x00000000, CONFIG_LB_MEM_TOPK << 10, type);
|
||||
set_var_mtrr(0, 0x00000000, CONFIG_RAMTOP, type);
|
||||
enable_cache();
|
||||
}
|
||||
|
||||
|
@ -54,19 +54,19 @@ void *map_2M_page(unsigned long page)
|
||||
struct pde pdp[512];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
#if (CONFIG_LB_MEM_TOPK>1024) && (CONFIG_RAMBASE<0x100000) && ((CONFIG_CONSOLE_VGA==1) || (CONFIG_PCI_ROM_RUN == 1))
|
||||
#if (CONFIG_RAMTOP>0x100000) && (CONFIG_RAMBASE<0x100000) && ((CONFIG_CONSOLE_VGA==1) || (CONFIG_PCI_ROM_RUN == 1))
|
||||
/*
|
||||
pgtbl is too big, so use last one 1M before CONFIG_LB_MEM_TOP, otherwise for 8 way dual core with vga support will push stack and heap cross 0xa0000,
|
||||
and that region need to be used as vga font buffer. Please make sure set CONFIG_LB_MEM_TOPK=2048 in MB Config
|
||||
and that region need to be used as vga font buffer. Please make sure set CONFIG_RAMTOP=0x200000 in MB Config
|
||||
*/
|
||||
struct pg_table *pgtbl = (struct pg_table*)0x100000; //1M
|
||||
|
||||
unsigned x_end = 0x100000 + sizeof(struct pg_table) * CONFIG_MAX_CPUS;
|
||||
#if (0x100000+20480*CONFIG_MAX_CPUS) > (CONFIG_LB_MEM_TOPK<<10)
|
||||
#warning "We may need to increase CONFIG_LB_MEM_TOPK, it need to be more than (0x100000+20480*CONFIG_MAX_CPUS)\n"
|
||||
#if (0x100000+20480*CONFIG_MAX_CPUS) > (CONFIG_RAMTOP)
|
||||
#warning "We may need to increase CONFIG_RAMTOP, it need to be more than (0x100000+20480*CONFIG_MAX_CPUS)\n"
|
||||
#endif
|
||||
if(x_end > (CONFIG_LB_MEM_TOPK<<10)) {
|
||||
printk_debug("map_2M_page: Please increase the CONFIG_LB_MEM_TOPK more than %dK\n", x_end>>10);
|
||||
if(x_end > (CONFIG_RAMTOP)) {
|
||||
printk_debug("map_2M_page: Please increase the CONFIG_RAMTOP more than %dK\n", x_end);
|
||||
die("Can not go on");
|
||||
}
|
||||
#else
|
||||
|
Reference in New Issue
Block a user