2

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.

Hennes
  • 65,804
  • 7
  • 115
  • 169
Buzu
  • 233

2 Answers2

1

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..

abhi
  • 149
  • 1
  • 1
  • 8
0

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.

Buzu
  • 233