Do on i386 as we do on amd64. This is done on variable cpu_pae, which
authorderaadt <deraadt@openbsd.org>
Wed, 18 Jan 2023 05:06:44 +0000 (05:06 +0000)
committerderaadt <deraadt@openbsd.org>
Wed, 18 Jan 2023 05:06:44 +0000 (05:06 +0000)
commit0de2542132318935e5bfb4203ff1773057e32aa3
tree1cc04862b9e730c517bf0c308afdd747855c01fd
parenta35e5d1461f6dceeea514e2b986315b1eea5e532
Do on i386 as we do on amd64.  This is done on variable cpu_pae, which
indicates the "PAE" pmap is being used, which only happens if the cpu
has both PAE and NX.
On i386 machines without the NX feature enabled, we can't distinguish
between page faults as a result of instruction fetches or normal data
access.  Handle this in the same way as we do on landisk: if handling
the fault with access type PROT_READ fails, retry with PROT_EXEC.
Fortunately we know whether NX is enabled or nor so only do this when
it isn't.
ok kettenis, jsg
sys/arch/i386/i386/trap.c