mptable.h (78908) | mptable.h (79609) |
---|---|
1/* 2 * Copyright (c) 1996, by Steve Passe 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 8 unchanged lines hidden (view full) --- 17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 * SUCH DAMAGE. 24 * | 1/* 2 * Copyright (c) 1996, by Steve Passe 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 8 unchanged lines hidden (view full) --- 17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 * SUCH DAMAGE. 24 * |
25 * $FreeBSD: head/sys/i386/include/mptable.h 78908 2001-06-28 04:03:29Z jhb $ | 25 * $FreeBSD: head/sys/i386/include/mptable.h 79609 2001-07-12 06:32:51Z peter $ |
26 */ 27 28#include "opt_cpu.h" 29 30#ifdef SMP 31#include <machine/smptests.h> 32#else 33#error --- 2182 unchanged lines hidden (view full) --- 2216 smp_invltlb(); 2217} 2218 2219 2220/* 2221 * This is called once the rest of the system is up and running and we're 2222 * ready to let the AP's out of the pen. 2223 */ | 26 */ 27 28#include "opt_cpu.h" 29 30#ifdef SMP 31#include <machine/smptests.h> 32#else 33#error --- 2182 unchanged lines hidden (view full) --- 2216 smp_invltlb(); 2217} 2218 2219 2220/* 2221 * This is called once the rest of the system is up and running and we're 2222 * ready to let the AP's out of the pen. 2223 */ |
2224extern void enable_sse(void); 2225 |
|
2224void 2225ap_init(void) 2226{ 2227 u_int apic_id; 2228 2229 /* spin until all the AP's are ready */ 2230 while (!aps_ready) 2231 /* spin */ ; --- 23 unchanged lines hidden (view full) --- 2255 printf("SMP: AP CPU #%d Launched!\n", PCPU_GET(cpuid)); 2256 2257 /* set up CPU registers and state */ 2258 cpu_setregs(); 2259 2260 /* set up FPU state on the AP */ 2261 npxinit(__INITIAL_NPXCW__); 2262 | 2226void 2227ap_init(void) 2228{ 2229 u_int apic_id; 2230 2231 /* spin until all the AP's are ready */ 2232 while (!aps_ready) 2233 /* spin */ ; --- 23 unchanged lines hidden (view full) --- 2257 printf("SMP: AP CPU #%d Launched!\n", PCPU_GET(cpuid)); 2258 2259 /* set up CPU registers and state */ 2260 cpu_setregs(); 2261 2262 /* set up FPU state on the AP */ 2263 npxinit(__INITIAL_NPXCW__); 2264 |
2265 /* set up SSE registers */ 2266 enable_sse(); 2267 |
|
2263 /* A quick check from sanity claus */ 2264 apic_id = (apic_id_to_logical[(lapic.id & 0x0f000000) >> 24]); 2265 if (PCPU_GET(cpuid) != apic_id) { 2266 printf("SMP: cpuid = %d\n", PCPU_GET(cpuid)); 2267 printf("SMP: apic_id = %d\n", apic_id); 2268 printf("PTD[MPPTDI] = %p\n", (void *)PTD[MPPTDI]); 2269 panic("cpuid mismatch! boom!!"); 2270 } --- 162 unchanged lines hidden --- | 2268 /* A quick check from sanity claus */ 2269 apic_id = (apic_id_to_logical[(lapic.id & 0x0f000000) >> 24]); 2270 if (PCPU_GET(cpuid) != apic_id) { 2271 printf("SMP: cpuid = %d\n", PCPU_GET(cpuid)); 2272 printf("SMP: apic_id = %d\n", apic_id); 2273 printf("PTD[MPPTDI] = %p\n", (void *)PTD[MPPTDI]); 2274 panic("cpuid mismatch! boom!!"); 2275 } --- 162 unchanged lines hidden --- |