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-all mailing list