diff options
author | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-07-25 22:06:09 +0000 |
---|---|---|
committer | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-07-25 22:06:09 +0000 |
commit | 9f1a49a1553d9614c4d3a581efe8c98c62ebb55b (patch) | |
tree | 2e60c08b3430c32cdee2403b18967ca16ccbfc8d /arch/mips64 | |
parent | 036b956de28a83b793d7182bf104e7d0b44862eb (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.c | 6 | ||||
-rw-r--r-- | arch/mips64/mm/r4xx0.c | 6 |
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); |