freebsd-nq/sys/powerpc/include
Peter Grehan 6e4f008cbb 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
..
_bus.h
_inttypes.h
_limits.h
_stdint.h
_types.h
asm.h
atomic.h
bat.h
bootinfo.h
bus_dma.h
bus.h
clock.h
cpu.h
cpufunc.h
db_machdep.h
elf.h
endian.h
exec.h
float.h
floatingpoint.h
fpu.h
frame.h
gdb_machdep.h
hid.h
ieee.h
ieeefp.h
in_cksum.h
interruptvar.h
intr_machdep.h
intr.h
ipl.h
kdb.h
limits.h
md_var.h
memdev.h
metadata.h
mmuvar.h
mutex.h
nexusvar.h
ofw_machdep.h
openpicreg.h
openpicvar.h
param.h
pcb.h
pcpu.h
pio.h
pmap.h
pmc_mdep.h
powerpc.h
proc.h
profile.h
psl.h
pte.h
ptrace.h
reg.h
reloc.h
resource.h
runq.h
sc_machdep.h
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h
spr.h
sr.h
stdarg.h
trap.h
ucontext.h
varargs.h
vmparam.h