CVSROOT: /cvs
Module name: src
Changes by: [email protected] 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@