summaryrefslogtreecommitdiffstats
path: root/arch/mips64
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-07-25 22:06:09 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-07-25 22:06:09 +0000
commit9f1a49a1553d9614c4d3a581efe8c98c62ebb55b (patch)
tree2e60c08b3430c32cdee2403b18967ca16ccbfc8d /arch/mips64
parent036b956de28a83b793d7182bf104e7d0b44862eb (diff)
When a debugger faults in a page for a debugee, we do not need to update
the mmu cache/tlbs, since the debugger will use a kernel address to access the page, and not the user address. This should fix the strace warning messages that Ralf and Ulf have seen. Fix should be backported into MIPS.
Diffstat (limited to 'arch/mips64')
-rw-r--r--arch/mips64/mm/andes.c6
-rw-r--r--arch/mips64/mm/r4xx0.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/mips64/mm/andes.c b/arch/mips64/mm/andes.c
index bcff62ad9..3dfabd169 100644
--- a/arch/mips64/mm/andes.c
+++ b/arch/mips64/mm/andes.c
@@ -376,6 +376,12 @@ static void andes_update_mmu_cache(struct vm_area_struct * vma,
pte_t *ptep;
int idx, pid;
+ /*
+ * Handle debugger faulting in for debugee.
+ */
+ if (current->active_mm != vma->vm_mm)
+ return;
+
__save_and_cli(flags);
pid = get_entryhi() & 0xff;
diff --git a/arch/mips64/mm/r4xx0.c b/arch/mips64/mm/r4xx0.c
index 5fa267d6d..1b2fb35bf 100644
--- a/arch/mips64/mm/r4xx0.c
+++ b/arch/mips64/mm/r4xx0.c
@@ -2170,6 +2170,12 @@ static void r4k_update_mmu_cache(struct vm_area_struct * vma,
pte_t *ptep;
int idx, pid;
+ /*
+ * Handle debugger faulting in for debugee.
+ */
+ if (current->active_mm != vma->vm_mm)
+ return;
+
__save_and_cli(flags);
pid = (get_entryhi() & 0xff);