Deleted Added
full compact
mp_machdep.c (35932) mp_machdep.c (36125)
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 * $Id: mp_machdep.c,v 1.73 1998/04/06 15:48:30 peter Exp $
25 * $Id: mp_machdep.c,v 1.74 1998/05/11 01:06:06 dyson Exp $
26 */
27
28#include "opt_smp.h"
29#include "opt_vm86.h"
30#include "opt_cpu.h"
31
32#ifdef SMP
33#include <machine/smptests.h>

--- 1678 unchanged lines hidden (view full) ---

1712 /* allocate and set up an idle stack data page */
1713 stack = (char *)kmem_alloc(kernel_map, UPAGES*PAGE_SIZE);
1714 for (i = 0; i < UPAGES; i++)
1715 newpt[i + 3] = (pt_entry_t)(PG_V | PG_RW | vtophys(PAGE_SIZE * i + stack));
1716
1717 newpt[3 + UPAGES] = 0; /* *prv_CMAP1 */
1718 newpt[4 + UPAGES] = 0; /* *prv_CMAP2 */
1719 newpt[5 + UPAGES] = 0; /* *prv_CMAP3 */
26 */
27
28#include "opt_smp.h"
29#include "opt_vm86.h"
30#include "opt_cpu.h"
31
32#ifdef SMP
33#include <machine/smptests.h>

--- 1678 unchanged lines hidden (view full) ---

1712 /* allocate and set up an idle stack data page */
1713 stack = (char *)kmem_alloc(kernel_map, UPAGES*PAGE_SIZE);
1714 for (i = 0; i < UPAGES; i++)
1715 newpt[i + 3] = (pt_entry_t)(PG_V | PG_RW | vtophys(PAGE_SIZE * i + stack));
1716
1717 newpt[3 + UPAGES] = 0; /* *prv_CMAP1 */
1718 newpt[4 + UPAGES] = 0; /* *prv_CMAP2 */
1719 newpt[5 + UPAGES] = 0; /* *prv_CMAP3 */
1720 newpt[6 + UPAGES] = 0; /* *prv_PMAP1 */
1720
1721 /* prime data page for it to use */
1722 gd->cpuid = x;
1723 gd->cpu_lockid = x << 24;
1724 gd->my_idlePTD = myPTD;
1725 gd->prv_CMAP1 = &newpt[3 + UPAGES];
1726 gd->prv_CMAP2 = &newpt[4 + UPAGES];
1727 gd->prv_CMAP3 = &newpt[5 + UPAGES];
1721
1722 /* prime data page for it to use */
1723 gd->cpuid = x;
1724 gd->cpu_lockid = x << 24;
1725 gd->my_idlePTD = myPTD;
1726 gd->prv_CMAP1 = &newpt[3 + UPAGES];
1727 gd->prv_CMAP2 = &newpt[4 + UPAGES];
1728 gd->prv_CMAP3 = &newpt[5 + UPAGES];
1729 gd->prv_PMAP1 = &newpt[6 + UPAGES];
1728
1729 /* setup a vector to our boot code */
1730 *((volatile u_short *) WARMBOOT_OFF) = WARMBOOT_TARGET;
1731 *((volatile u_short *) WARMBOOT_SEG) = (boot_addr >> 4);
1732 outb(CMOS_REG, BIOS_RESET);
1733 outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */
1734
1735 bootPTD = myPTD;

--- 756 unchanged lines hidden ---
1730
1731 /* setup a vector to our boot code */
1732 *((volatile u_short *) WARMBOOT_OFF) = WARMBOOT_TARGET;
1733 *((volatile u_short *) WARMBOOT_SEG) = (boot_addr >> 4);
1734 outb(CMOS_REG, BIOS_RESET);
1735 outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */
1736
1737 bootPTD = myPTD;

--- 756 unchanged lines hidden ---