From owner-cvs-all@FreeBSD.ORG Tue Dec 5 04:01:54 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 61EE816A417; Tue, 5 Dec 2006 04:01:54 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 12A3343CAF; Tue, 5 Dec 2006 04:01:16 +0000 (GMT) (envelope-from grehan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kB541q6N042333; Tue, 5 Dec 2006 04:01:52 GMT (envelope-from grehan@repoman.freebsd.org) Received: (from grehan@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kB541qwY042332; Tue, 5 Dec 2006 04:01:52 GMT (envelope-from grehan) Message-Id: <200612050401.kB541qwY042332@repoman.freebsd.org> From: Peter Grehan Date: Tue, 5 Dec 2006 04:01:52 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: 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 X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Dec 2006 04:01:54 -0000 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