summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormartin <martin@NetBSD.org>2022-06-16 14:22:02 +0000
committermartin <martin@NetBSD.org>2022-06-16 14:22:02 +0000
commit9d76de85464af96869b07892ed2e936dedf9819f (patch)
tree99743afdcac41d342d1ccb505ce2ae2d0876dc0a
parent8c762c50349865d6d22f51daebb157301f3768a1 (diff)
Pull up following revision(s) (requested by skrll in ticket #1474):
sys/arch/hppa/hppa/pmap.c: revision 1.120 Re-reading the PA2.0 Cache Move-In rules tells me we do indeed need to purge the translations from the TLBs in pmap_procwr. PR/56867: hppa: intermittent SIGSEGV reports in t_ptrace_wait's stepN and setstepN test cases
-rw-r--r--sys/arch/hppa/hppa/pmap.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/arch/hppa/hppa/pmap.c b/sys/arch/hppa/hppa/pmap.c
index 7bc15442e38..d5a7f010652 100644
--- a/sys/arch/hppa/hppa/pmap.c
+++ b/sys/arch/hppa/hppa/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.100.20.1 2022/06/10 17:16:54 martin Exp $ */
+/* $NetBSD: pmap.c,v 1.100.20.2 2022/06/16 14:22:02 martin Exp $ */
/*-
* Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
@@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.100.20.1 2022/06/10 17:16:54 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.100.20.2 2022/06/16 14:22:02 martin Exp $");
#include "opt_cputype.h"
@@ -1658,10 +1658,13 @@ pmap_activate(struct lwp *l)
void
pmap_procwr(struct proc *p, vaddr_t va, size_t len)
{
- pmap_t pmap = p->p_vmspace->vm_map.pmap;
+ const pmap_t pmap = p->p_vmspace->vm_map.pmap;
+ const pa_space_t space = pmap->pm_space;
- fdcache(pmap->pm_space, va, len);
- ficache(pmap->pm_space, va, len);
+ fdcache(space, va, len);
+ ficache(space, va, len);
+ pdtlb(space, va);
+ pitlb(space, va);
}
static inline void