Revision: linuxbios@linuxbios.org--devel/freebios--devel--2.0--patch-34
Creator: Yinghai Lu <yhlu@tyan.com> AMD D0/E0 Opteron new mem mapping support, AMD E Opteron mem hole support,AMD K8 Four Ranks DIMM support git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1950 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
|
||||
SECTIONS {
|
||||
/* Trigger an error if I have an unuseable start address */
|
||||
_ROMTOP = (_start >= 0xffff0000) ? 0xfffffff0 : 0xffffffff8;
|
||||
_ROMTOP = (_start >= 0xffff0000) ? 0xfffffff0 : 0xfffffff8;
|
||||
. = _ROMTOP;
|
||||
.reset . : {
|
||||
*(.reset)
|
||||
|
@@ -11,6 +11,7 @@
|
||||
|
||||
|
||||
#if CONFIG_SMP == 1
|
||||
|
||||
/* This is a lot more paranoid now, since Linux can NOT handle
|
||||
* being told there is a CPU when none exists. So any errors
|
||||
* will return 0, meaning no CPU.
|
||||
@@ -229,12 +230,16 @@ int start_cpu(device_t cpu)
|
||||
void secondary_cpu_init(void)
|
||||
{
|
||||
atomic_inc(&active_cpus);
|
||||
#if CONFIG_MAX_CPUS>2
|
||||
#if SERIAL_CPU_INIT == 1
|
||||
#if CONFIG_MAX_CPUS>2
|
||||
spin_lock(&start_cpu_lock);
|
||||
#endif
|
||||
#endif
|
||||
cpu_initialize();
|
||||
#if CONFIG_MAX_CPUS>2
|
||||
#if SERIAL_CPU_INIT == 1
|
||||
#if CONFIG_MAX_CPUS>2
|
||||
spin_unlock(&start_cpu_lock);
|
||||
#endif
|
||||
#endif
|
||||
atomic_dec(&active_cpus);
|
||||
stop_this_cpu();
|
||||
@@ -260,8 +265,10 @@ static void initialize_other_cpus(struct bus *cpu_bus)
|
||||
printk_err("CPU %u would not start!\n",
|
||||
cpu->path.u.apic.apic_id);
|
||||
}
|
||||
#if CONFIG_MAX_CPUS>2
|
||||
#if SERIAL_CPU_INIT == 1
|
||||
#if CONFIG_MAX_CPUS>2
|
||||
udelay(10);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@@ -236,8 +236,8 @@ static unsigned int range_to_mtrr(unsigned int reg,
|
||||
sizek = 1 << align;
|
||||
printk_debug("Setting variable MTRR %d, base: %4dMB, range: %4dMB, type %s\n",
|
||||
reg, range_startk >>10, sizek >> 10,
|
||||
(type==MTRR_TYPE_UNCACHEABLE)?"NC":
|
||||
((type==MTRR_TYPE_WRBACK)?"WB":"Other")
|
||||
(type==MTRR_TYPE_UNCACHEABLE) ? "NC" :
|
||||
((type==MTRR_TYPE_WRBACK) ? "WB" : "Other")
|
||||
);
|
||||
set_var_mtrr(reg++, range_startk, sizek, type);
|
||||
range_startk += sizek;
|
||||
|
Reference in New Issue
Block a user