How can I determine if the NX bit is enabled? What I am doing right now is trying to run rdmsr, but I get an error:
rdmsr:pread: Input/output error
This is when I do:
rdmsr 0x1a0
The CPU is an AMD A6 3400M APU with Radeon HD Graphics.
I am running Fedora 18, and the reason I want to check if the NX bit is enabled is because I'm getting an Error Code 0x0000005D while trying to install windows 8 on Gnome Boxes.
The way you are using the rdmsr tool is incorrect. You are specifying the address in correctly.
You should use it like this:
sudo rdmsr -f 11:11 0xc00000080
This will give you the correct bit value other wise you will get 0 each time without any error.
Now you can set the value using the wrmsr
tool the same way.
sudo wrmsr -p processor_no address value
So in this case it should be like this
sudo wrmsr 0xc0000080 0xvalue
Tested on AMD..
I found out how to do it, or at least I think I did. If I am wrong, please correct me.
Reading on page 55 of the "AMD64 Architecture Programmer's Manual Volume 2: System Programming" (http://support.amd.com/us/Processor_TechDocs/24593_APM_v2.pdf#G11.1043852), to which I found a link on wikipedia (https://en.wikipedia.org/wiki/Control_register), I learned that the address of the Extended Feature Enable Register, which is where the NXE bit is located, is C0000_0080h, not 0x1a0. Based on that, I did this:
sudo rdmsr -f 11:11 C0000_0080h
Which returns a zero (0), which according to the manual, means the bit is not enabled.
This doesn't exactly solve my problem with installing Windows 8 on Gnome Boxes, but I think it answers the question of how to determine if the NX bit is enabled on AMD A6 chips.
User contributions licensed under CC BY-SA 3.0