2

Как я могу определить, включен ли бит 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 ответа2

1

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

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

sudo rdmsr -f 11:11 0xc00000080

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

Теперь вы можете установить значение с помощью инструмента wrmsr таким же образом.

sudo wrmsr -p processor_no address value

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

sudo wrmsr 0xc0000080 0xvalue

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

0

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

Чтение на странице 55 «Руководства по программированию для архитектуры AMD64, том 2: Системное программирование» (http://support.amd.com/us/Processor_TechDocs/24593_APM_v2.pdf#G11.1043852), на которое я нашел ссылку в Википедии (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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .