subr_smp.c (7245dff0f1aa3a9f4e5481f643ab6981a0b0d41c) subr_smp.c (20233f27f47bc6545222bc06ad89735924aadb8f)
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.49 1997/08/31 03:17:47 fsmp Exp $
25 * $Id: mp_machdep.c,v 1.38 1997/09/05 20:23:34 smp Exp smp $
26 */
27
28#include "opt_smp.h"
29
30#include <sys/param.h>
31#include <sys/systm.h>
32#include <sys/kernel.h>
33#include <sys/proc.h>

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

190
191#endif /* CHECK_POINTS */
192
193/*
194 * Values to send to the POST hardware.
195 */
196#define MP_BOOTADDRESS_POST 0x10
197#define MP_PROBE_POST 0x11
26 */
27
28#include "opt_smp.h"
29
30#include <sys/param.h>
31#include <sys/systm.h>
32#include <sys/kernel.h>
33#include <sys/proc.h>

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

190
191#endif /* CHECK_POINTS */
192
193/*
194 * Values to send to the POST hardware.
195 */
196#define MP_BOOTADDRESS_POST 0x10
197#define MP_PROBE_POST 0x11
198#define MP_START_POST 0x12
199#define MP_ANNOUNCE_POST 0x13
200#define MPTABLE_PASS1_POST 0x14
198#define MPTABLE_PASS1_POST 0x12
199
200#define MP_START_POST 0x13
201#define MP_ENABLE_POST 0x14
201#define MPTABLE_PASS2_POST 0x15
202#define MPTABLE_PASS2_POST 0x15
202#define MP_ENABLE_POST 0x16
203#define START_ALL_APS_POST 0x17
204#define INSTALL_AP_TRAMP_POST 0x18
205#define START_AP_POST 0x19
206
203
204#define START_ALL_APS_POST 0x16
205#define INSTALL_AP_TRAMP_POST 0x17
206#define START_AP_POST 0x18
207
208#define MP_ANNOUNCE_POST 0x19
209
210
207/** XXX FIXME: where does this really belong, isa.h/isa.c perhaps? */
208int current_postcode;
209
210/** XXX FIXME: what system files declare these??? */
211extern struct region_descriptor r_gdt, r_idt;
212
213int bsp_apic_ready = 0; /* flags useability of BSP apic */
214int mp_ncpus; /* # of CPUs, including BSP */

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

1440
1441/*
1442 * initialize all the SMP locks
1443 */
1444
1445/* critical region around IO APIC, apic_imen */
1446struct simplelock imen_lock;
1447
211/** XXX FIXME: where does this really belong, isa.h/isa.c perhaps? */
212int current_postcode;
213
214/** XXX FIXME: what system files declare these??? */
215extern struct region_descriptor r_gdt, r_idt;
216
217int bsp_apic_ready = 0; /* flags useability of BSP apic */
218int mp_ncpus; /* # of CPUs, including BSP */

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

1444
1445/*
1446 * initialize all the SMP locks
1447 */
1448
1449/* critical region around IO APIC, apic_imen */
1450struct simplelock imen_lock;
1451
1448/* critical region around splxx(), cpl, cil, ipending */
1452/* critical region around splxx(), cpl, cml, cil, ipending */
1449struct simplelock cpl_lock;
1450
1451/* Make FAST_INTR() routines sequential */
1452struct simplelock fast_intr_lock;
1453
1454/* critical region around INTR() routines */
1455struct simplelock intr_lock;
1456

--- 516 unchanged lines hidden ---
1453struct simplelock cpl_lock;
1454
1455/* Make FAST_INTR() routines sequential */
1456struct simplelock fast_intr_lock;
1457
1458/* critical region around INTR() routines */
1459struct simplelock intr_lock;
1460

--- 516 unchanged lines hidden ---