Как определить, включен ли NX на AMD A6?

Как я могу определить, включен ли бит NX? Сейчас я пытаюсь запустить rdmsr, но получаю ошибку:

rdmsr:pread: Input/output error

Это когда я делаю:

rdmsr 0x1a0

Процессор представляет собой AMD A6 3400M APU с Radeon HD Graphics.

Я использую Fedora 18, и причина, по которой я хочу проверить, включен ли бит NX, заключается в том, что я получаю код ошибки 0x0000005D при попытке установить Windows 8 на Gnome Boxes.

2 ответа

Решение

Я узнал, как это сделать, или, по крайней мере, я так думаю. Если я не прав, пожалуйста, поправьте меня.

Чтение на странице 55 "Руководства по программированию для архитектуры AMD64, том 2: Системное программирование" ( http://support.amd.com/us/Processor_TechDocs/24593_APM_v2.pdf), на которое я нашел ссылку в Википедии ( https://en.wikipedia.org/wiki/Control_register), я узнал, что адрес регистра включения расширенных функций, в котором находится бит NXE, - это C0000_0080h, а не 0x1a0. Исходя из этого, я сделал это:

sudo rdmsr -f 11:11 C0000_0080h

Что возвращает ноль (0), что в соответствии с руководством означает, что бит не включен.

Это не совсем решает мою проблему с установкой Windows 8 на Gnome Boxes, но я думаю, что это отвечает на вопрос, как определить, включен ли бит NX на чипах AMD A6.

То, как вы используете инструмент rdmsr, неверно. Вы правильно указали адрес.

Вы должны использовать это так:

sudo rdmsr -f 11:11 0xc00000080

Это даст вам правильное значение бита, иначе вы получите 0 каждый раз без какой-либо ошибки.

Теперь вы можете установить значение, используя wrmsr инструмент так же.

sudo wrmsr -p processor_no address value

Так что в этом случае это должно быть так

sudo wrmsr 0xc0000080 0xvalue

Проверено на AMD..

Другие вопросы по тегам