mp_machdep.c (214071) | mp_machdep.c (216803) |
---|---|
1/*- 2 * Copyright (c) 1997 Berkeley Software Design, Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. --- 41 unchanged lines hidden (view full) --- 50 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 51 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 52 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 53 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 54 * SUCH DAMAGE. 55 */ 56 57#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1997 Berkeley Software Design, Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. --- 41 unchanged lines hidden (view full) --- 50 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 51 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 52 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 53 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 54 * SUCH DAMAGE. 55 */ 56 57#include <sys/cdefs.h> |
58__FBSDID("$FreeBSD: head/sys/sparc64/sparc64/mp_machdep.c 214071 2010-10-19 19:44:05Z marius $"); | 58__FBSDID("$FreeBSD: head/sys/sparc64/sparc64/mp_machdep.c 216803 2010-12-29 16:59:33Z marius $"); |
59 60#include <sys/param.h> 61#include <sys/systm.h> 62#include <sys/lock.h> 63#include <sys/kdb.h> 64#include <sys/kernel.h> 65#include <sys/ktr.h> 66#include <sys/mutex.h> --- 17 unchanged lines hidden (view full) --- 84#include <machine/cpu.h> 85#include <machine/md_var.h> 86#include <machine/metadata.h> 87#include <machine/ofw_machdep.h> 88#include <machine/pcb.h> 89#include <machine/smp.h> 90#include <machine/tick.h> 91#include <machine/tlb.h> | 59 60#include <sys/param.h> 61#include <sys/systm.h> 62#include <sys/lock.h> 63#include <sys/kdb.h> 64#include <sys/kernel.h> 65#include <sys/ktr.h> 66#include <sys/mutex.h> --- 17 unchanged lines hidden (view full) --- 84#include <machine/cpu.h> 85#include <machine/md_var.h> 86#include <machine/metadata.h> 87#include <machine/ofw_machdep.h> 88#include <machine/pcb.h> 89#include <machine/smp.h> 90#include <machine/tick.h> 91#include <machine/tlb.h> |
92#include <machine/tsb.h> |
|
92#include <machine/tte.h> 93#include <machine/ver.h> 94 95#define SUNW_STARTCPU "SUNW,start-cpu" 96#define SUNW_STOPSELF "SUNW,stop-self" 97 98static ih_func_t cpu_ipi_ast; 99static ih_func_t cpu_ipi_hardclock; --- 334 unchanged lines hidden (view full) --- 434 cache_enable(pc->pc_impl); 435 436 /* 437 * Clear (S)TICK timer(s) (including NPT) and ensure they are stopped. 438 */ 439 tick_clear(pc->pc_impl); 440 tick_stop(pc->pc_impl); 441 | 93#include <machine/tte.h> 94#include <machine/ver.h> 95 96#define SUNW_STARTCPU "SUNW,start-cpu" 97#define SUNW_STOPSELF "SUNW,stop-self" 98 99static ih_func_t cpu_ipi_ast; 100static ih_func_t cpu_ipi_hardclock; --- 334 unchanged lines hidden (view full) --- 435 cache_enable(pc->pc_impl); 436 437 /* 438 * Clear (S)TICK timer(s) (including NPT) and ensure they are stopped. 439 */ 440 tick_clear(pc->pc_impl); 441 tick_stop(pc->pc_impl); 442 |
442 /* Lock the kernel TSB in the TLB. */ 443 pmap_map_tsb(); | 443 /* Set the kernel context. */ 444 pmap_set_kctx(); |
444 | 445 |
446 /* Lock the kernel TSB in the TLB if necessary. */ 447 if (tsb_kernel_ldd_phys == 0) 448 pmap_map_tsb(); 449 |
|
445 /* 446 * Flush all non-locked TLB entries possibly left over by the 447 * firmware. 448 */ 449 tlb_flush_nonlocked(); 450 451 /* Initialize global registers. */ 452 cpu_setregs(pc); --- 371 unchanged lines hidden --- | 450 /* 451 * Flush all non-locked TLB entries possibly left over by the 452 * firmware. 453 */ 454 tlb_flush_nonlocked(); 455 456 /* Initialize global registers. */ 457 cpu_setregs(pc); --- 371 unchanged lines hidden --- |