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
This commit is contained in:
martin 2022-06-16 14:22:02 +00:00
parent 3a3a79ffce
commit fa92fc98d1
1 changed files with 8 additions and 5 deletions

View File

@ -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