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/e51f0bd89b8e
branches: trunk
changeset: 980708:e51f0bd89b8e
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 3cefbad3e211 -r e51f0bd89b8e 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 3cefbad3e211 -r e51f0bd89b8e 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 3cefbad3e211 -r e51f0bd89b8e 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