summaryrefslogtreecommitdiff
path: root/sys/arch/m68k
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2004-05-20 09:20:43 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2004-05-20 09:20:43 +0000
commitfa548ed2239322fed4b99e17ca368c836285328c (patch)
tree55aab0ddc31aa2e7f0a93ce13b8a59cf28fccc84 /sys/arch/m68k
parentbb1fe1b9b98659e5bb936357bf26eda5391543bf (diff)
Properly flush instruction cache for ptrace(PT_WRTIE_{DI}, ...) on powerpc
and m68k. ok drahn@, millert@
Diffstat (limited to 'sys/arch/m68k')
-rw-r--r--sys/arch/m68k/include/pmap_motorola.h4
-rw-r--r--sys/arch/m68k/m68k/pmap_motorola.c11
2 files changed, 13 insertions, 2 deletions
diff --git a/sys/arch/m68k/include/pmap_motorola.h b/sys/arch/m68k/include/pmap_motorola.h
index b5092be61f3..b6b5c1d7ce7 100644
--- a/sys/arch/m68k/include/pmap_motorola.h
+++ b/sys/arch/m68k/include/pmap_motorola.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap_motorola.h,v 1.10 2004/01/01 01:12:52 miod Exp $ */
+/* $OpenBSD: pmap_motorola.h,v 1.11 2004/05/20 09:20:42 kettenis Exp $ */
/*
* Copyright (c) 1987 Carnegie-Mellon University
@@ -132,6 +132,8 @@ extern struct pv_entry *pv_table; /* array of entries, one per page */
extern pt_entry_t *Sysmap;
extern char *vmmap; /* map for mem, dumps, etc. */
+void pmap_proc_iflush(struct proc *, vaddr_t, vsize_t);
+
#ifdef M68K_MMU_HP
void pmap_prefer(vaddr_t, vaddr_t *);
#define PMAP_PREFER(foff, vap) pmap_prefer((foff), (vap))
diff --git a/sys/arch/m68k/m68k/pmap_motorola.c b/sys/arch/m68k/m68k/pmap_motorola.c
index 5c2262639e5..94e2c6dc827 100644
--- a/sys/arch/m68k/m68k/pmap_motorola.c
+++ b/sys/arch/m68k/m68k/pmap_motorola.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap_motorola.c,v 1.33 2004/01/01 01:12:54 miod Exp $ */
+/* $OpenBSD: pmap_motorola.c,v 1.34 2004/05/20 09:20:42 kettenis Exp $ */
/*
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -2696,6 +2696,15 @@ pmap_ptpage_delref(ptpva)
return (rv);
}
+void
+pmap_proc_iflush(p, va, len)
+ struct proc *p;
+ vaddr_t va;
+ vsize_t len;
+{
+ (void)cachectl(p, 0x80000004, va, len);
+}
+
#ifdef DEBUG
/*
* pmap_pvdump: