Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-6]: src/sys/arch/powerpc/booke Pull up following revision(s) (req...



details:   https://anonhg.NetBSD.org/src/rev/1603e7256371
branches:  netbsd-6
changeset: 774221:1603e7256371
user:      riz <riz%NetBSD.org@localhost>
date:      Wed Jun 13 19:41:28 2012 +0000

description:
Pull up following revision(s) (requested by matt in ticket #338):
        sys/arch/powerpc/booke/e500_intr.c: revision 1.17
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 92b2766c683c -r 1603e7256371 sys/arch/powerpc/booke/e500_intr.c
--- a/sys/arch/powerpc/booke/e500_intr.c        Wed Jun 13 19:39:03 2012 +0000
+++ b/sys/arch/powerpc/booke/e500_intr.c        Wed Jun 13 19:41:28 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.16.8.1 2012/06/13 19:41:28 riz 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.16.8.1 2012/06/13 19:41:28 riz 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