diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2004-05-20 09:20:43 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2004-05-20 09:20:43 +0000 |
commit | fa548ed2239322fed4b99e17ca368c836285328c (patch) | |
tree | 55aab0ddc31aa2e7f0a93ce13b8a59cf28fccc84 /sys/arch/m68k | |
parent | bb1fe1b9b98659e5bb936357bf26eda5391543bf (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.h | 4 | ||||
-rw-r--r-- | sys/arch/m68k/m68k/pmap_motorola.c | 11 |
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: |