freebsd-skq/sys/powerpc/aim
grehan 8d87f5baaa 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
2006-12-05 04:01:52 +00:00
..
clock.c Catch up with recent clock modifications: 2006-10-05 06:04:44 +00:00
copyinout.c Fix remaining compile error. 2006-10-18 19:56:20 +00:00
interrupt.c Tweak how the MD code calls the fooclock() methods some. Instead of 2005-12-22 22:16:09 +00:00
locore.S Copy SPRG0-3 registers at boot-time and restore when calling into 2005-10-30 21:29:59 +00:00
machdep.c Make KSE a kernel option, turned on by default in all GENERIC 2006-10-26 21:42:22 +00:00
mmu_oea.c Fix gdb issue where the i-cache was not being updated when a breakpoint 2006-12-05 04:01:52 +00:00
nexus.c /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
ofw_machdep.c o Move the prototype of mem_valid() from ofw_machdep.h to md_var.h. 2006-07-26 17:12:54 +00:00
ofwmagic.S Instead of "OpenFirmware", "openfirmware", etc. use the official spelling 2004-08-16 15:45:27 +00:00
swtch.S /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
trap_subr.S Mark the return address of the call to ast() in the generic trap 2005-12-23 13:05:27 +00:00
trap.c Make KSE a kernel option, turned on by default in all GENERIC 2006-10-26 21:42:22 +00:00
uio_machdep.c Fix gdb issue where the i-cache was not being updated when a breakpoint 2006-12-05 04:01:52 +00:00
uma_machdep.c /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
vm_machdep.c In cpu_set_user_tls(), properly set the thread pointer. It is 0x7000 2006-09-01 06:05:40 +00:00