CVSROOT: /cvs Module name: src Changes by: gkoeh...@cvs.openbsd.org 2023/01/30 18:27:58
Modified files: sys/arch/powerpc/include: pmap.h pte.h sys/arch/powerpc/powerpc: pmap.c trap.c Log message: Execute-only for macppc G5 The G5 PowerPC 970 has a Data Address Compare mechanism that can trap loads and stores to pages with PTE_AC_64, while allowing instruction fetches. Use this for execute-only mappings, like we do on powerpc64. Add a check to pte_spill_v for execute-only mappings. Without this, we would forever retry reading an execute-only page. In altivec_assist, copyin would fail to read the instruction from an execute-only page. Add copyinsn to bypass x-only, like sparc64. with help from abieber@ deraadt@ kettenis@ ok deraadt@