Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sparc/include Looks like sparc clears want_ast with...
details: https://anonhg.NetBSD.org/src/rev/9a3ea2515c81
branches: trunk
changeset: 966945:9a3ea2515c81
user: ad <ad%NetBSD.org@localhost>
date: Sat Nov 23 16:50:39 2019 +0000
description:
Looks like sparc clears want_ast with interrupts enabled, so check+clear it
and call mi_userret() in a loop.
diffstat:
sys/arch/sparc/include/userret.h | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diffs (23 lines):
diff -r 36e24036923d -r 9a3ea2515c81 sys/arch/sparc/include/userret.h
--- a/sys/arch/sparc/include/userret.h Sat Nov 23 16:36:38 2019 +0000
+++ b/sys/arch/sparc/include/userret.h Sat Nov 23 16:50:39 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: userret.h,v 1.9 2019/11/21 19:24:01 ad Exp $ */
+/* $NetBSD: userret.h,v 1.10 2019/11/23 16:50:39 ad Exp $ */
/*
* Copyright (c) 1996
@@ -62,11 +62,10 @@
userret(struct lwp *l, int pc, u_quad_t oticks)
{
struct proc *p = l->l_proc;
-
- mi_userret(l);
- if (cpuinfo.ci_want_ast) {
+ while (cpuinfo.ci_want_ast) {
cpuinfo.ci_want_ast = 0;
+ mi_userret(l);
if (l->l_pflag & LP_OWEUPC) {
l->l_pflag &= ~LP_OWEUPC;
ADDUPROF(l);
Home |
Main Index |
Thread Index |
Old Index