Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/powerpc/booke Compute softintr mask correctly.
details: https://anonhg.NetBSD.org/src/rev/2262a3c684d4
branches: trunk
changeset: 779653:2262a3c684d4
user: matt <matt%NetBSD.org@localhost>
date: Fri Jun 08 23:35:23 2012 +0000
description:
Compute softintr mask correctly.
diffstat:
sys/arch/powerpc/booke/e500_intr.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diffs (36 lines):
diff -r 6aa5da4ce9fe -r 2262a3c684d4 sys/arch/powerpc/booke/e500_intr.c
--- a/sys/arch/powerpc/booke/e500_intr.c Fri Jun 08 15:01:51 2012 +0000
+++ b/sys/arch/powerpc/booke/e500_intr.c Fri Jun 08 23:35:23 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: e500_intr.c,v 1.16 2011/09/27 01:02:35 jym Exp $ */
+/* $NetBSD: e500_intr.c,v 1.17 2012/06/08 23:35:23 matt Exp $ */
/*-
* Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -39,7 +39,7 @@
#define __INTR_PRIVATE
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: e500_intr.c,v 1.16 2011/09/27 01:02:35 jym Exp $");
+__KERNEL_RCSID(0, "$NetBSD: e500_intr.c,v 1.17 2012/06/08 23:35:23 matt Exp $");
#include <sys/param.h>
#include <sys/proc.h>
@@ -506,7 +506,7 @@
// const
register_t msr = wrtee(0);
#ifdef __HAVE_FAST_SOFTINTS
- const u_int softints = (ci->ci_data.cpu_softints << ipl) & IPL_SOFTMASK;
+ const u_int softints = ci->ci_data.cpu_softints & (IPL_SOFTMASK << ipl);
if (__predict_false(softints != 0)) {
e500_splset(ci, IPL_HIGH);
powerpc_softint(ci, ipl,
@@ -940,7 +940,7 @@
/*
* Before exiting, deal with any softints that need to be dealt with.
*/
- const u_int softints = (ci->ci_data.cpu_softints << old_ipl) & IPL_SOFTMASK;
+ const u_int softints = ci->ci_data.cpu_softints & (IPL_SOFTMASK << old_ipl);
if (__predict_false(softints != 0)) {
KASSERT(old_ipl < IPL_VM);
e500_splset(ci, IPL_HIGH); /* pop to high */
Home |
Main Index |
Thread Index |
Old Index