NetBSD/sys/compat/linux32
jym bc0420413d This patch fixes the NX regression issue observed on amd64 kernels, where
per-page execution right was disabled (therefore leading to the inability
of the kernel to detect fraudulent use of memory mappings marked as not
being executable).

- replace cpu_feature and ci_feature_flags variables by cpu_feature and
ci_feat_val arrays. This makes it cleaner and brings kernel code closer
to the design of cpuctl(8). A warning will be raised for each CPU that
does not expose the same features as the Boot Processor (BP).

- the blacklist of CPU features is now a macro defined in the
specialreg.h header, instead of hardcoding it inside MD initialization
code; fix comments.

- replace checks against CPUID_TSC with the cpu_hascounter() function.

- clean up the code in init_x86_64(), as cpu_feature variables are set
inside cpu_probe().

- use cpu_init_msrs() for i386. It will be eventually used later for NX
feature under i386 PAE kernels.

- remove code that checks for CPUID_NOX in amd64 mptramp.S, this is already
performed by cpu_hatch() through cpu_init_msrs().

- remove cpu_signature and feature_flags members from struct mpbios_proc
(they were never used).

This patch was tested with i386 MONOLITHIC, XEN3PAE_DOM0 and XEN3_DOM0 under
a native i386 host, and amd64 GENERIC, XEN3_DOM0 via QEMU virtual machines.

XXX Should kernel rev be bumped?

XXX A similar patch should be pulled-up for NetBSD-5, hopefully tomorrow.
2010-04-18 23:47:50 +00:00
..
arch/amd64 This patch fixes the NX regression issue observed on amd64 kernels, where 2010-04-18 23:47:50 +00:00
common This patch fixes the NX regression issue observed on amd64 kernels, where 2010-04-18 23:47:50 +00:00
files.linux32 Make the emulations, exec formats, coredump, NFS, and the NFS server 2008-11-19 18:35:57 +00:00
linux32_syscall.h
linux32_syscallargs.h
linux32_syscalls.c
Makefile.inc Fix generated file names from makesyscalls.sh (s/linux/linux32/). 2007-03-23 12:26:10 +00:00