cvs commit: src/sys/powerpc/include pmap.h src/sys/powerpc/powerpc
mmu_if.m mmu_oea.c pmap_dispatch.c uio_machdep.c
Peter Grehan
grehan at FreeBSD.org
Mon Dec 4 20:01:54 PST 2006
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
More information about the cvs-src
mailing list