mp_machdep.c (251703) | mp_machdep.c (254025) |
---|---|
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 --- 10 unchanged lines hidden (view full) --- 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 26#include <sys/cdefs.h> | 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 --- 10 unchanged lines hidden (view full) --- 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 26#include <sys/cdefs.h> |
27__FBSDID("$FreeBSD: head/sys/i386/i386/mp_machdep.c 251703 2013-06-13 20:46:03Z jeff $"); | 27__FBSDID("$FreeBSD: head/sys/i386/i386/mp_machdep.c 254025 2013-08-07 06:21:20Z jeff $"); |
28 29#include "opt_apic.h" 30#include "opt_cpu.h" 31#include "opt_kstack_pages.h" 32#include "opt_pmap.h" 33#include "opt_sched.h" 34#include "opt_smp.h" 35 --- 918 unchanged lines hidden (view full) --- 954 invltlb(); 955 956 /* start each AP */ 957 for (cpu = 1; cpu < mp_ncpus; cpu++) { 958 apic_id = cpu_apic_ids[cpu]; 959 960 /* allocate and set up a boot stack data page */ 961 bootstacks[cpu] = | 28 29#include "opt_apic.h" 30#include "opt_cpu.h" 31#include "opt_kstack_pages.h" 32#include "opt_pmap.h" 33#include "opt_sched.h" 34#include "opt_smp.h" 35 --- 918 unchanged lines hidden (view full) --- 954 invltlb(); 955 956 /* start each AP */ 957 for (cpu = 1; cpu < mp_ncpus; cpu++) { 958 apic_id = cpu_apic_ids[cpu]; 959 960 /* allocate and set up a boot stack data page */ 961 bootstacks[cpu] = |
962 (char *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); 963 dpcpu = (void *)kmem_alloc(kernel_map, DPCPU_SIZE); | 962 (char *)kmem_malloc(kernel_arena, KSTACK_PAGES * PAGE_SIZE, 963 M_WAITOK | M_ZERO); 964 dpcpu = (void *)kmem_malloc(kernel_arena, DPCPU_SIZE, 965 M_WAITOK | M_ZERO); |
964 /* setup a vector to our boot code */ 965 *((volatile u_short *) WARMBOOT_OFF) = WARMBOOT_TARGET; 966 *((volatile u_short *) WARMBOOT_SEG) = (boot_address >> 4); 967#ifndef PC98 968 outb(CMOS_REG, BIOS_RESET); 969 outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ 970#endif 971 --- 614 unchanged lines hidden --- | 966 /* setup a vector to our boot code */ 967 *((volatile u_short *) WARMBOOT_OFF) = WARMBOOT_TARGET; 968 *((volatile u_short *) WARMBOOT_SEG) = (boot_address >> 4); 969#ifndef PC98 970 outb(CMOS_REG, BIOS_RESET); 971 outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ 972#endif 973 --- 614 unchanged lines hidden --- |