diff options
author | arch import user (historical) <svn@openbios.org> | 2005-07-06 17:15:30 +0000 |
---|---|---|
committer | arch import user (historical) <svn@openbios.org> | 2005-07-06 17:15:30 +0000 |
commit | ef03afa405b049a172146aab93cfb81fb21f3945 (patch) | |
tree | 3b59033be66edd60c2cc6c66d6875153dc052a72 /src/cpu/x86 | |
parent | 014c3e185fe8e1455e56efeb496715a67ce292bb (diff) | |
download | coreboot-ef03afa405b049a172146aab93cfb81fb21f3945.tar.xz |
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
Diffstat (limited to 'src/cpu/x86')
-rw-r--r-- | src/cpu/x86/16bit/reset16.lds | 2 | ||||
-rw-r--r-- | src/cpu/x86/lapic/lapic_cpu_init.c | 13 | ||||
-rw-r--r-- | src/cpu/x86/mtrr/mtrr.c | 4 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/cpu/x86/16bit/reset16.lds b/src/cpu/x86/16bit/reset16.lds index 4c42c76b37..f32597c00c 100644 --- a/src/cpu/x86/16bit/reset16.lds +++ b/src/cpu/x86/16bit/reset16.lds @@ -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) diff --git a/src/cpu/x86/lapic/lapic_cpu_init.c b/src/cpu/x86/lapic/lapic_cpu_init.c index 20615e61c8..7c40f6a3c0 100644 --- a/src/cpu/x86/lapic/lapic_cpu_init.c +++ b/src/cpu/x86/lapic/lapic_cpu_init.c @@ -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 } diff --git a/src/cpu/x86/mtrr/mtrr.c b/src/cpu/x86/mtrr/mtrr.c index 1c028a9ea1..59f9ca1e91 100644 --- a/src/cpu/x86/mtrr/mtrr.c +++ b/src/cpu/x86/mtrr/mtrr.c @@ -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; |