So today I've enabled through my BIOS, CPU feature called either "eXecute-Disable" (XD) or "Non-eXecute" (NX) or EDB (Execute Disable Bit), depends on your BIOS manufacturer. I've set EDB from "Not Available" to "Available". I'm on 32 bit machine, but to get true NX support you need PAE kernel, which I didn't install for the time being.
As it is, two CPU features on x86-based hardware are not always available by default out of the box. Many BIOS manufacturers disable the features in a conservative attempt to help legacy operating systems that may perform strangely when these features are available. Ubuntu/Kubuntu can fully utilize these features and it's recommended that you enable them.
Most modern CPUs protect against executing non-executable memory regions (heap, stack, etc) to help block the exploitation of security vulnerabilities.
In reading the system's /proc/cpuinfo file, the first flags line will include nx if the BIOS is not disabling the CPU feature, and the CPU is actually NX-capable. Nearly all 64-bit CPUs are NX-capable. If the flags line contains pae, usually the CPU will support NX:
grep ^flags /proc/cpuinfo | head -n1 | egrep --color=auto ' (pae|nx) '
On Ubuntu/Kubuntu 10.04 and later, you can check if your hardware is expected to have NX available by running the command:
As far as making use of the CPU feature once it's not disabled in the BIOS, it will automatically be used if you’re running a 64bit kernel. If you're using 32bit, you can start using it if you install the -server or -generic-pae flavor of the 32bit kernel. As a bonus, you get to address all your physical RAM if you do this too (since the "PAE" mode is the kernel mode that allows NX to work).
In Ubuntu 9.10 and later, if you run 32bit kernels without PAE, you will still have the partial NX emulation. It is required that you use PAE if you want true NX support.
If you believe you are incorrectly getting the boot-time warning, please open a bug report against the cpu-checker package, or disable the check by removing the motd module: sudo rm /etc/update-motd.d/20-cpu-checker
So, what I'm asking is whoever has nx flag enabled, do you use PAE kernel or not and did you encouter any issues whatsoever? I'm testing this feature on my laptop, so would like to get some input.
Feature 2 is hardware virtualization, but I'm not into that right now.