Deleted Added
full compact
intr_machdep.c (208165) intr_machdep.c (210528)
1/*-
2 * Copyright (c) 2006-2009 RMI Corporation
3 * Copyright (c) 2002-2004 Juli Mallett <jmallett@FreeBSD.org>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

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

22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
27 */
28
29#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2006-2009 RMI Corporation
3 * Copyright (c) 2002-2004 Juli Mallett <jmallett@FreeBSD.org>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

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

22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
27 */
28
29#include <sys/cdefs.h>
30__FBSDID("$FreeBSD: head/sys/mips/rmi/intr_machdep.c 208165 2010-05-16 19:43:48Z rrs $");
30__FBSDID("$FreeBSD: head/sys/mips/rmi/intr_machdep.c 210528 2010-07-27 09:22:41Z jchandra $");
31
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/bus.h>
35#include <sys/interrupt.h>
36#include <sys/kernel.h>
37
38#include <machine/cpu.h>

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

139 eimr = read_c0_eimr64();
140 eirr &= eimr;
141
142 if (eirr == 0) {
143 critical_exit();
144 return;
145 }
146 /*
31
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/bus.h>
35#include <sys/interrupt.h>
36#include <sys/kernel.h>
37
38#include <machine/cpu.h>

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

139 eimr = read_c0_eimr64();
140 eirr &= eimr;
141
142 if (eirr == 0) {
143 critical_exit();
144 return;
145 }
146 /*
147 * No need to clear the EIRR here. the handler is gonna write to
148 * compare which clears eirr also
147 * No need to clear the EIRR here as the handler writes to
148 * compare which ACKs the interrupt.
149 */
150 if (eirr & (1 << IRQ_TIMER)) {
149 */
150 if (eirr & (1 << IRQ_TIMER)) {
151 count_compare_clockhandler(tf);
151 intr_event_handle(mips_intr_events[IRQ_TIMER], tf);
152 critical_exit();
153 return;
154 }
155
156 /* FIXME sched pin >? LOCK>? */
157 for (i = sizeof(eirr) * 8 - 1; i >= 0; i--) {
158 if ((eirr & (1ULL << i)) == 0)
159 continue;

--- 59 unchanged lines hidden ---
152 critical_exit();
153 return;
154 }
155
156 /* FIXME sched pin >? LOCK>? */
157 for (i = sizeof(eirr) * 8 - 1; i >= 0; i--) {
158 if ((eirr & (1ULL << i)) == 0)
159 continue;

--- 59 unchanged lines hidden ---