Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/arm/pic splx: use pic_set_priority_psw in interrupt...



details:   https://anonhg.NetBSD.org/src/rev/4e4d5b5b7af4
branches:  trunk
changeset: 1018743:4e4d5b5b7af4
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Mon Feb 15 16:32:07 2021 +0000

description:
splx: use pic_set_priority_psw in interrupts disabled case to skip a few
more daif accesses.

diffstat:

 sys/arch/arm/pic/pic.c          |  6 +++---
 sys/arch/arm/pic/pic_splfuncs.c |  6 +++---
 sys/arch/arm/pic/picvar.h       |  3 ++-
 3 files changed, 8 insertions(+), 7 deletions(-)

diffs (71 lines):

diff -r f57a7ba8a207 -r 4e4d5b5b7af4 sys/arch/arm/pic/pic.c
--- a/sys/arch/arm/pic/pic.c    Mon Feb 15 16:04:01 2021 +0000
+++ b/sys/arch/arm/pic/pic.c    Mon Feb 15 16:32:07 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pic.c,v 1.63 2021/02/15 13:03:52 jmcneill Exp $        */
+/*     $NetBSD: pic.c,v 1.64 2021/02/15 16:32:07 jmcneill Exp $        */
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -33,7 +33,7 @@
 #include "opt_multiprocessor.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pic.c,v 1.63 2021/02/15 13:03:52 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pic.c,v 1.64 2021/02/15 16:32:07 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -130,7 +130,7 @@
                cpsie(I32_bit);
 }
 
-static void
+void
 pic_set_priority_psw(struct cpu_info *ci, register_t psw, int newipl)
 {
        if ((psw & I32_bit) == 0) {
diff -r f57a7ba8a207 -r 4e4d5b5b7af4 sys/arch/arm/pic/pic_splfuncs.c
--- a/sys/arch/arm/pic/pic_splfuncs.c   Mon Feb 15 16:04:01 2021 +0000
+++ b/sys/arch/arm/pic/pic_splfuncs.c   Mon Feb 15 16:32:07 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pic_splfuncs.c,v 1.11 2021/02/15 16:04:01 jmcneill Exp $       */
+/*     $NetBSD: pic_splfuncs.c,v 1.12 2021/02/15 16:32:07 jmcneill Exp $       */
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -28,7 +28,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pic_splfuncs.c,v 1.11 2021/02/15 16:04:01 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pic_splfuncs.c,v 1.12 2021/02/15 16:32:07 jmcneill Exp $");
 
 #define _INTR_PRIVATE
 #include <sys/param.h>
@@ -100,7 +100,7 @@
                cpsie(I32_bit);
                cpu_dosoftints();
        } else {
-               pic_set_priority(ci, savedipl);
+               pic_set_priority_psw(ci, psw, savedipl);
        }
 
        KASSERTMSG(ci->ci_cpl == savedipl, "cpl %d savedipl %d",
diff -r f57a7ba8a207 -r 4e4d5b5b7af4 sys/arch/arm/pic/picvar.h
--- a/sys/arch/arm/pic/picvar.h Mon Feb 15 16:04:01 2021 +0000
+++ b/sys/arch/arm/pic/picvar.h Mon Feb 15 16:32:07 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: picvar.h,v 1.26 2019/12/24 20:40:09 skrll Exp $        */
+/*     $NetBSD: picvar.h,v 1.27 2021/02/15 16:32:07 jmcneill Exp $     */
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -181,6 +181,7 @@
  */
 struct cpu_info;
 void   pic_set_priority(struct cpu_info *, int);
+void   pic_set_priority_psw(struct cpu_info *, register_t, int);
 #else
 /* Using an inline causes catch-22 problems with cpu.h */
 #define        pic_set_priority(ci, newipl)    ((void)((ci)->ci_cpl = (newipl)))



Home | Main Index | Thread Index | Old Index