Date: Tue, 5 Dec 2006 04:01:52 +0000 (UTC) From: Peter Grehan <grehan@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/powerpc/include pmap.h src/sys/powerpc/powerpc mmu_if.m mmu_oea.c pmap_dispatch.c uio_machdep.c Message-ID: <200612050401.kB541qwY042332@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
grehan 2006-12-05 04:01:52 UTC FreeBSD src repository Modified files: sys/powerpc/include pmap.h sys/powerpc/powerpc mmu_if.m mmu_oea.c pmap_dispatch.c uio_machdep.c Log: Fix gdb issue where the i-cache was not being updated when a breakpoint was written into a user's address space. The fix is to modify uiomove_fromphys to sync the icache when an executable user-space page is written into. Alan Cox suggested that there should probably be a higher-level interface to this in the ptrace code, but agreed that this is an OK short-term solution. Files changed: pmap.h - declaration of pmap_page_executable() pmap_dispatch.c - pass through the page_executable call to the mmu object mmu_oea.c - implement the page_executable method by examining the PTE_EXEC field in the vm_page_t uio_machdep.c - in uiomove_fromphys(), if the op was a UIO_WRITE to user-space, and if the page is executable, sync the icache since this is at the least a breakpoint-write from gdb. Reported by: marcel Tested by: marcel, grehan on g3+g4 Discussed with: alc MFC after: 2 weeks Revision Changes Path 1.20 +1 -1 src/sys/powerpc/include/pmap.h 1.7 +14 -0 src/sys/powerpc/powerpc/mmu_if.m 1.114 +8 -0 src/sys/powerpc/powerpc/mmu_oea.c 1.9 +5 -0 src/sys/powerpc/powerpc/pmap_dispatch.c 1.6 +5 -1 src/sys/powerpc/powerpc/uio_machdep.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200612050401.kB541qwY042332>