Как включить аппаратную виртуализацию в настройках uefi и bios

Включение виртуализации

Для начала нужно зайти в BIOS. Для этого обычно используются кнопки ESC, F2, Delete. Во время включения компьютера нажимайте одну из этих кнопок, чтобы появились настройки БИОС.

Параметры в BIOS/UEFI могут располагаться по-разному. Это зависит от того, какая модель материнской платы на ПК, какой тип процессора, кто является производителем оборудования. Именно поэтому, я приведу несколько примеров интерфейса.

Для процессора AMD

Если у вас процессор от AMD, то определите, что у вас, UEFI или БИОС, и ищите в нем нужный пункт.

UEFI

Справа внизу кликните мышкой по пункту «Advance Mode».

Дальше перейдите на вкладку «Advanced» и выделите пункт «SVM Mode».

Обратите внимание, что пункт может называться и по-другому. Например, «Secure Virtual Machine» или «AMD-V»

Измените значение на «Enabled».

Перейдите во вкладку «Save & Exit» и кликните по пункту «Save Changes and Exit».

Подтвердите сохранение параметров и перезагрузку системы кнопкой «ОК». После этого загрузится Windows и в ней вы уже сможете запустить виртуальную машину.

Если у вас компьютер с материнской платой от GIGABYTE и процессором AMD Ryzen, то интерфейс UEFI будет другой. Сначала выбирайте пункты: «Расширенные настройки частот» – «Расширенные настройки ядра ЦП». Затем на вкладке «M.I.T.» находите пункт «SVM Mode» и напротив него устанавливайте «Разрешить».

Дальше открывайте вкладку «чипсет». Здесь нам нужен пункт «IOMMU», напротив которого выберите «Разрешить». Жмите F10 – «Да» для выхода и сохранения настроек.

BIOS

Включить виртуализацию в БИОСе на компьютере с процессором AMD можно следующим образом:

  1. Откройте вверху вкладку «Advanced».
  2. Выберите пункт «CPU Configuration».
  3. Дальше перейдите в строку «Secure Virtual Machin Mode» и кликните «Enter».
  4. Измените значение на «Enabled».
  5. Нажмите F10, чтобы сохранить настройки и перезагрузить компьютер.

Также может быть вкладка «Configuration». В ней найдите пункт «AMD SVM Support», и для него установите значение «Enabled».

Для процессора Intel

На процессорах от компании Intel нужный нам пункт может называться «Intel Virtualization Technology», «Intel VT-x», «Virtualization Extensions», «Vanderpool». Находите его и включайте аппаратную виртуализацию.

UEFI

В UEFI шаги будут следующие:

  1. Нажмите на кнопку снизу слева «Advanced Mode».
  2. Перейдите вверху на вкладку «Advanced».
  3. Из списка выберите «CPU Configuration».
  4. Найдите пункт «Intel Virtualization Technology» и установите для него «Enabled».
  5. Нажмите F10 и подтвердите сохранение настроек и перезагрузку ПК.

Если пункты на русском, то вам нужно перейти на вкладку «Дополнительно» – пункт «Конфигурация процессора». Дальше ищите «Intel Virtualization Technology» и напротив выбирайте «Включено».

Также на вкладке «Advanced» нужно перейти в «System Agent (SA) Configuration» (это там, где вы выбирали CPU Configuration). Затем в поле «VT-d» установите значение «Enabled».

Еще обратите внимание, что «Advanced Mode» может быть не отдельным пунктом, а делить одну кнопку с пунктом «Exit». Расположена она, чаще всего, вверху справа

BIOS

Если перед вами появляется старый-добрый БИОС, то:

  1. Выберите вкладку «Advanced».
  2. Если есть пункт «CPU Configuration» кликайте по нему. Данного пункта может и не быть.
  3. В списке ищите поля «Intel Virtualization Technology» и «VT-d» и напротив них устанавливайте значение «Enabled».
  1. Дальше внизу справа посмотрите, какая функциональная клавиша соответствует сохранению – должно быть написано «Save». В примере это F10 Нажмите на нее, сохраните изменения и компьютер перезагрузится.

Конечно, ваш БИОС или UEFI может выглядеть по-другому, но названия пунктов, которые нужны, чтобы включить аппаратную виртуализацию будут похожи на те, что упомянуты в статье. Теперь нужная вам виртуальная машина должна работать без проблем, и у вас будет возможность установить себе дополнительную ОС или протестировать нужную программу.

 

Об авторе: Аня Каминская

Что делать? This host supports Intel VT-x

3 минуты чтения

Привет, друг! Если ты читаешь эту статью, то скорее всего столкнулся с ошибкой VT-x/AMD-V hardware acceleration is not available on your system когда пробовал создать виртуальную машину в Virtual Box, или такой ошибкой при работе с VMWare: This host supports Intel VT-x, but Intel VT-x is disabled или чем-то похожим при работе с другой средой виртуализации. Продолжай читать и ты обязательно найдёшь причину!

Для начала, позволь вкратце объяснить, что такое VT-x и AMD-V.

VT-x – это технология, разработанная компанией Intel в 2005 году, которая позволила процеcсорам (CPU) данного производителя поддерживать аппаратную виртуализацию. Грубо говоря, появилась возможность имея один компьютер, создать другой внутри него и даже с другой операционной системой!

AMD-V — это технология аппаратной виртуализации от компании AMD. Первые процессоры от производителя AMD появились на рынке годом позже, в 2006 году.

Итак, теперь вот тебе топ 3 причин, по которым ты мог встретить вышеупомянутые ошибки:

Процессор твоего «комплюктера» попросту не поддерживает технологии виртуализации VT-x/AMD-V.

Возможно ты являешься обладателем очень старого или наоборот крайне специфичного девайса, CPU которого просто не умеет в виртуализацию. В таком случае, ты не сможешь устранить те ошибки и запустить виртуалку в любой среде виртуализации. Но не огорчайся, есть масса способов покрутить виртуалки, например, воспользоваться услугами VDS/VPS хостера!

Hyper-V это проприетарная технология виртуализации от Microsoft, которая по умолчанию вырубает поддержку VT-x/AMD-V, чтобы избежать конфликтов. Короче придётся выбирать между Hyper-V и другой конфликтующей средой виртуализации.

Технология VT-x или AMD-V просто выключены и их нужно включить.

По умолчанию, поддержка виртуализации выключена в BIOS и чтобы победить ошибки из начала статьи и, наконец запустить заветную виртуалку, тебе нужно просто зайти в BIOS и включить VT-x/AMD-V!

В зависимости от производителя твоего компьютера, может быть несколько вариантов перехода в BIOS. Обычно, тебе нужно просто перезагрузить компьютер и дождаться на экране надписи: Press to enter BIOS, а вот какая-то кнопка может быть разной.

Вот тебе несколько примеров для разных производителей:

  • Asus, Lenovo, DELL
  • Как правило просят нажать F2
  • Перейти на вкладку Advanced, выбрать Virtualization Technology и нажать Enter
  • Сменить состояние строки с Disabled на Enabled после чего нажать F10, чтобы сохранить изменения и перезагрузить компьютер
  • Acer, HP
  • Как правило просят нажать F2 ну или F1 или же CTRL+ALT+ESC или F10
  • Нажать на правую стрелку и перейти на вкладку System Configuration, выбрать Virtualization Technology и нажать Enter
  • Сменить состояние строки с Disabled на Enabled после чего нажать F10, чтобы сохранить изменения и перезагрузить компьютер
  • Компьютеры с процессорами AMD
  • Как правило просят нажать F2
  • Выбрать вкладку Advanced затем CPU Configuration, после чего выбрать SVM Mode и нажать Enter
  • Сменить состояние строки с Disabled на Enabled после чего нажать F10, чтобы сохранить изменения и перезагрузить компьютер
  • This host supports Intel VT-x
  • VMware ошибка
  • 470

Scatter/gather DMA

С ростом скорости Ethernet адаптеров, contiguous DMA показал свою несостоятельность. В основном из-за того, что требовались области памяти достаточно большого размера, которые подчас невозможно было выделить, так как в современных системах фрагментация физической памяти достаточно высока. Во всем виноват механизм виртуальной памяти, без которого нынче никуда

Решение напрашивается само собой: использовать вместо одного большого участка памяти несколько, но в разных регионах этой самой памяти. Возникает вопрос, но как же сообщить контроллеру устройства, как инициировать DMA трансфер и по какому адресу писать данные? И тут нашли решение, использовать дескрипторы, чтобы описывать каждый вот такой участок в оперативной памяти.

Типичный дескриптор DMA буфера содержит следующие поля:

  1. Адрес участка ОЗУ (именно bus address), который предназначен для DMA трансфера.
  2. Размер описываемого участка ОЗУ.
  3. Опциональные флаги и другие специфические аргументы.
  4. Адрес следующего дескриптора в памяти.

Структура дескрипторов определяется конкретным производителем контроллера устройства, и может содержать какие-либо другие поля. Дескриптор также как и DMA буфер, размещается в оперативной памяти.

Алгоритм scatter/gather DMA следующий:

  • Драйвер операционной системы выделяет и иницилизирует дескрипторы DMA буферов.
  • Драйвер выделяет DMA буферы (участки ОЗУ для DMA трансфера) и записывает необходимую информацию о них в дескрипторы.
  • Устройство по мере возникновения потребности, заполняет DMA буферы, и после того, как заполнен один или несколько буферов инициирует прерывание.
  • Драйвер ОС просматривает все дескрипторы DMA буферов, определяет какие из них были заполнены контроллером устройства, пересылает данные из буфера далее по стеку устройств и помечает буфер как готовый к DMA трансферу.

Порядок в каком контроллер устройства заполняет DMA буферы, определяется производителем. Контроллер может писать в первый свободный DMA буфер, либо просто писать подряд (дескрипторы DMA буферов в данном случае образуют односвязный кольцевой список) во все буфера и т.д.

На сегодня пожалуй все, иначе информации станет слишком много. В следующей статье я покажу вам, как с этой уличной магией работает IOKit. Жду отзывов и дополнений

AMD SVM support что это

Приветствую дорогие! Выходят новые материнские платы, процессоры, память.. все железо становится лучше и быстрее. Появляются новые функции. Старые остаются.

Но сегодня мы поговорим про одну из старых функций, которая уже давно существует..

не знаю когда появилась у AMD, но у Intel она появилась еще в Pentium 4 модель 662/672 — была простая виртуализация VT-x.

Разбираемся

SVM Support (Support Vector Machine) — опция позволяет включить или отключить технологию AMd SVM (Secure Virtual Machine). Данная технология представляет из себя аппаратную виртуализацию AMD, которая необходима для работы некоторых программ.

Данная технология присутствует почти во всех современных процессорах AMD, у Intel есть своя — Intel VT.

Старые процессоры могут не поддерживать виртуализацию.

Другое описание опции — помогает разгрузить процессор во время использования виртуальны машин, скорее всего данное описание не совсем точно. Хотя по сути эффект именно такой же — если использовать виртуальные машины, а опцию не включать — будут реально дикие тормоза.

Принцип работы — простыми словами

На самом деле ничего сложного нет:

  1. Виртуализация позволяет некоторым программам посылать команды процессору напрямую — так он их обрабатывает быстрее. Применимо только к специальным программам, которые эмулируют среду — например Андроид, Windows, Линукс и другие.
  2. Есть обычная виртуализация и расширенная. Первая — обеспечивает прямой доступ к процессору. Вторая — доступ к устройствам на шине PCI (например аудио/видеокарта).
  3. Теоретически, аппаратную виртуализацию могут использовать и некоторые обычные программы, например Хром или видео-плеер. Почему? Вы наверно слышали где-то — аппаратное ускорение. Я об этом. Оно может работать быстрее при включенной виртуализации. Такое ускорение вроде есть в Хроме, и может быть в некоторых видеоплеерах.

Нужно ли включать?

И здесь тоже все очень просто:

  1. Чтобы ответить на этот вопрос, скажу иначе — отключать нет смысла. Технология никак не грузит ПК, не меняет принцип работы процессора, просто включает в нем некую инструкцию и все.
  2. При отключенной опции иногда могут быть проблемы при установке некоторых программ — они просто могут сообщать вам что нужна технология виртуализации, иногда они ее называют Hyper-V (хотя это виртуализация на основе гипервизора).

Опция в биосе:

Другое название — SVM Mode:

Какие программы нуждаются в этой технологии?

Программ немного и все они имеют общую направленность — эмуляция среды (операционки):

  1. VMware Workstation/Player. Позволяет создать настоящий виртуальный ПК со своим процессором, оперативной памятью, жестким диском и так далее. Требует включенной виртуализации, при отключенной — будут страшные лаги. Сам по себе виртуальный ПК представляет окно в другой ПК — там может быть установлена Windows, будет меню пуск, все как обычно. Но эта Windows полностью изолирована от реальной.
  2. VirtualBox. Аналог предыдущей проги, но полностью бесплатная. В большинстве случаев функции такие же, отличие в интерфейсе. По моему опыту VMware работает быстрее.
  3. BlueStacks/NOX. Позволяет эмулировать среду Андроид — можно устанавливать приложения, тестировать их, даже играть в игры можно. И при этом все это на обычном ПК с Windows. Весомый недостаток — требовательность к ресурсам, виртуальный Андроид не будет шустро работать на том ПК, где шустро работает виртуальная Windows. Минимум 2 ядра (лучше с высокой частотой и последнего поколения) и 4 гига оперы.
  4. Ну и как я писал выше — возможно виртуализация поможет работать быстрее тем программам, которые используют аппаратное ускорение. Но это теория, врать не буду — не тестировал.

Вывод

Мы выяснили, что SVM Support:

  1. Нужно включать. Просто потому что она никак не вредит — ничем, абсолютно. Нет ни одной проблемы в мире, при которой, чтобы решить ее — нужно отключить виртуализацию. Так что смело включайте ее — в биосе выставьте Enabled/Enable.
  2. При использовании софта, который эмулирует виртуальный ПК — включение обязательно.
  3. Присутствует почти на всех современных процессорах как Intel так и AMD, однако по умолчанию может быть отключена.

Надеюсь информация помогла. Удачи.

! 15.02.2019

Метод опорных векторов (SVM)

Продолжаем цикл статей про Топ-10 data mining алгоритмов. Сегодня у нас на проводе интересный алгоритм дата майнинга — метод опорных векторов.

Метод опорных векторов (SVM – Support vector machines) использует гиперплоскость, чтобы классифицировать данные по 2 классам. На верхнем уровне SVM выполняет те же операции, что и C4.5, но с одним отличием – SVM не использует деревья решений.

DMA Mode

Описание:

Опция позволяет указать режим прямого доступа к памяти (DMA — Direct Memory Access, UDMA — Ultra DMA), используемый при работе накопителя, подключенного к данному каналу стандартного IDE/SATA-контроллера чипсета. Как правило, можно использовать режим автоматического определения возможностей накопителя (Auto). В случае проблем с данным конкретным диском можно попытаться отключить режим DMA (Disabled). Только стоит иметь в виду, что это приведет к существенному падению производительности дисковой подсистемы, использовать эту меру можно только в крайнем случае.

Зачастую среди значений данной опции присутствуют не только варианты, дающие возможность включить или отключить режим прямого доступа к памяти, но и значения, позволяющие указать конкретный режим. Тогда, если накопитель работает нестабильно, можно попробовать вместо полного отключения DMA перейти на один из младших режимов. Возможно, это полностью решит проблему, при этом не столь пагубно сказавшись на производительности дисковой подсистемы.

Для справки приведем названия режимов и максимальную скорость обмена данными с накопителем интерфейса IDE или SATA для каждого из режимов (следует учитывать, что режимы DMA дополняют режимы PIO Mode, обеспечивая существенно большую скорость работы):

Single-Word DMA 0 2.1 Мбайт/сек
Single-Word DMA 1 4.2 Мбайт/сек
Single-Word DMA 2 8.3 Мбайт/сек
Multi-Word DMA 0 4.2 Мбайт/сек
Multi-Word DMA 1 13.3 Мбайт/сек
Multi-Word DMA 2 16.7 Мбайт/сек
Ultra DMA 0 16.7 Мбайт/сек
Ultra DMA 1 25.0 Мбайт/сек
Ultra DMA 2 или Ultra DMA 33 33.3 Мбайт/сек
Ultra DMA 3 44.4 Мбайт/сек
Ultra DMA 4 или Ultra DMA 66 66.7 Мбайт/сек
Ultra DMA 5 или Ultra DMA 100 100.0 Мбайт/сек
Ultra DMA 6 или Ultra DMA 133 133.0 Мбайт/сек

Все современные жесткие диски с интерфейсом IDE способны работать как минимум в режиме Ultra DMA 100. Приводы оптических дисков и им подобные устройства обычно используют режим Ultra DMA 33, есть модели, использующие Ultra DMA 66. Таким образом, для более или менее современных жестких дисков должна быть установлена комбинация PIO Mode 4 и Ultra DMA 100 (как вариант, Ultra DMA 133), но лучше установить значение Auto. Для приводов оптических дисков и им подобных устройств — PIO Mode 4 и Ultra DMA 33 (как вариант, Ultra DMA 66), но, опять же, лучше использовать Auto.

Для начала немного про PIO /DMA/UDMA способы/режимы доступа к данным на жестком диске:

Прямой доступ к памяти (DMA — Direct Memory Access) — это аппаратная возможность обмена информацией между устройствами, практически не требующая участия центрального процессора (протоколы — Multiword DMA и Ultra DMA), что позволяет во время выполнения передачи данных использовать ресурсы центрального процессора для выполнения других задач. Для режимов Ultra DMA-3 и выше необходим 80-жильный интерфейсный кабель.

Максимальная пропускная способность протоколов передачи данных (Мб/c (Мбайт/сек))

Single-Word DMA 0 = 2.1 Single-Word DMA 1 = 4.2 Single-Word DMA 2 = 8.3

Multi-Word DMA 0 = 4.2 Multi-Word DMA 1 = 13.3 Multi-Word DMA 2 = 16.7

Ultra DMA 0 = 16.7 Ultra DMA 1 = 25.0 Ultra DMA 2 или Ultra DMA 33 = 33.3 Ultra DMA 3 = 44.4 Ultra DMA 4 или Ultra DMA 66 = 66.7 Ultra DMA 5 или Ultra DMA 100 = 100.0 Ultra DMA 6 или Ultra DMA 133 = 133.0

Для работы UDMA устройств требуется соблюдение следующих условий :

Проблема кэширования

Сегодня ни одна вычислительная платформа не обходится без кэш-памяти (Cache), представляющей из себя быстродействующий буфер между вычислительным ядром и «внешним миром». Информация, прочитанная процессором из оперативной памяти, сохраняется в кэш-памяти. При повторном обращении к тем же данным, они будут предоставлены из кэш-памяти, что значительно быстрее доступа к оперативной памяти. Другим фактором увеличения быстродействия является отложенная запись или Write-back mode. Смысл метода в том, что запись данных выполняется в кэш, без немедленного переноса информации в оперативную память, а потому очень быстро. И только при необходимости  вытеснения информации из кэш, например для размещения новых данных, требуется запись в «медленную» оперативную память. Какое отношение эти банальные истины имеют к  NVDIMM? Вспомним, что в момент выключения электропитания или перезапуска системы, внутри модуля NVDIMM должен быть выполнен процесс копирования информации из оперативной памяти в энергонезависимую.  Но в режиме отложенной записи, актуальная копия данных существует только в кэш, а в оперативной памяти находятся устаревшие данные, которые и будут перенесены в энергонезависимую память. Более «свежие» актуальные данные будут потеряны.

Решение проблемы — принудительно синхронизировать содержимое кэш и оперативной памяти. Но сделать это необходимо без нивелирования позитивного эффекта от кэширования данных, так, чтобы не снизить быстродействие системы. Именно это требование стало причиной введения компанией Intel двух новых процессорных команд.

Ассемблерная инструкция CLWB (Cache Line Write Back) выполняет копирование данных, подлежащих отложенной записи из кэш-памяти в оперативную память. При этом, данные не вытесняются из кэш-памяти и доступны для дальнейшего использования. Этим новая инструкция CLWB отличается от достаточно давно существующей инструкции CLFLUSH (Cache Line Flush), которая в свою очередь форсирует копирование данных в оперативную память с удалением их из кэш-памяти.

Ассемблерная инструкция PCOMMIT (Persistent Commit) форсирует отложенную запись в оперативную память для всех диапазонов адресного пространства, статус которых, в системных регистрах процессора декларирован как Persistent Memory или Non Volatile Storage.

Рис 3. Результат выполнения функции 7 подфункции 0 инструкции CPUID. Биты 22,23,24 регистра EBX индицируют поддержку инструкций PCOMMIT, CLFLUSHOPT, CLWB соответственно.

Назначение статуса диапазонов, требующих такой синхронизации, выполняется встроенным программным обеспечением, или firmware, при старте вычислительной платформы. При этом для идентификации модулей памяти используется информация, прочитанная из микросхем SPD (Serial Presence Detect).

Предоставление операционной системе сведений о диапазонах адресного пространства, содержащих NVDIMM базируется на ACPI-таблице NFIT (NVDIMM Firmware Interface Table), генерируемой firmware при старте платформы и выполнении процедуры Power-On-Self-Test (POST).

Рис 4. Функциональность таблицы NFIT (NVDIMM Firmware Interface Table),  согласно спецификации ACPI 6.0.

Резюме

Несмотря на то, что модули NVDIMM построены на основе уже достаточно долго существующих технологий, в частности DDR3/DDR4 RAM и NAND Flash, появление устройств,  сочетающих в себе преимущества оперативной и энергонезависимой памяти бросает вызов традиционной классификации видов компьютерных устройств хранения данных. А это в свою очередь, может привести к появлению принципиально новых архитектур вычислительных платформ…

Инструкции AMD SVM

Технология AMD SVM определяет сле­ду­ю­щие про­цес­сор­ные инструкции.

VMRUN — эту инструкцию использует ги­пер­ви­зор для запуска гостя на виртуальной машине. В регистре EAX (для 32-битного режима) или RAX (для 64-битного режима) находится базовый физический адрес блока VMCB, который будет использоваться запускаемой виртуальной машиной. Контекст ги­пер­ви­зо­ра, со­хра­ня­ет­ся в блоке Host Save Area. Кон­текст гостя загружается из блока VMCB. Выполнение гостя на виртуальной ма­ши­не продолжается до тех пор, пока не воз­ни­к­нет одно из событий, подлежащих перехвату ги­пер­ви­зо­ром. Список таких событий зависит от содержимого Con­trol Area в бло­ке VMCB. Когда перехватываемое со­бы­тие возникает, выполняется операция #VMEXIT. Вы­пол­не­ние гос­тя пре­ры­ва­ет­ся, его кон­текст сохраняется в State Save Area в блоке VMCB. Контекст ги­пер­ви­зо­ра загружается из бло­ка Host Save Area. Начинает вы­пол­ня­ться ги­пер­ви­зор. По содержимому статусных полей в блоке VMCB, ги­пер­ви­зор мо­жет определить при­чи­ну завершения гостя.

VMMCALL — эту инструкцию использует гость для явной передачи управления ги­пер­ви­зо­ру. Она инициирует опе­ра­цию #VMEXIT, описанную выше. Отметим, что для правильного функционирования инструкции VMMCALL, бит Inter­cept VMMCALL Instruction в блоке VMCB должен быть установлен в 1.

VMSAVE — сохраняет в блоке VMCB ряд дополнительных параметров контекста процессора для гостевой про­г­рам­мы, которые не сохраняются автоматически при выполнении операции #VMEXIT. Базовый фи­зи­че­ский адрес ис­поль­зу­е­мо­го блока VMCB находится в регистре EAX (для 32-битного режима) или RAX (для 64-бит­но­го режима). Спи­сок сох­ра­ня­е­мых параметров следующий: регистры FS, GS, TR, LDTR, model-specific регистры KernelGSbase, STAR, LSTAR, CSTAR, SFMAS, SYSENTER_CS, SYSENTER_EIP, SYSENTER_ESP.

VMLOAD — загружает из блока VMCB ряд дополнительных параметров контекста процессора для гостевой про­г­рам­мы, которые не загружаются автоматически при выполнении инструкции VMRUN. Базовый фи­зи­че­ский адрес ис­поль­зу­е­мо­го блока VMCB находится в регистре EAX (для 32-битного режима) или RAX (для 64-бит­но­го режима). Спи­сок за­гру­жа­е­мых параметров такой же, как в инструкции VMSAVE.

CLGI — обнуляет глобальный флаг разрешения прерываний (GIF). Если GIF=0, запрещены все виды ап­па­рат­ных пре­ры­ва­ний (NMI, SMI, INTR), запрещено восприятие сигнала мягкого сброса INIT, управление ли­ни­ей A20 и ряд дру­гих опе­ра­ций, полный список которых приведен в .

Примечание. Всем, кто имел дело с ассемблером x86 хорошо знаком флаг разрешения прерываний IF (Inter­rupt Flag) и ин­ст­рук­ции для его сброса и установки CLI и STI. Флаг GIF (Global Interrupt Flag) и связанные с ним ин­ст­рук­ции CLGI и STGI работают по тому же принципу, с той лишь разницей, что при GIF=0 за­пре­ще­но восприятие не только мас­ки­ру­е­мых прерываний, но и ряда других асинхронных событий, пе­ре­чис­лен­ных выше.

STGI — устанавливает глобальный флаг разрешения прерываний (GIF). См. комментарий к инструкции CLGI.

INVLPGA — объявляет недостоверными заданные элементы буфера страничной трансляции (TLB). Ин­ст­рук­ция при­ни­ма­ет в регистре EAX (для 32-битного режима) или RAX (для 64-битного режима) линейный ад­рес ячейки па­мя­ти. Очи­ща­ют­ся те элементы TLB, которые участвуют в трансляции этого адреса. Инструкция так­же принимает в регистре ECX номер виртуального адресного пространства (ASID — Address Space Iden­ti­fier) для которого выполняется операция.

SKINIT (Secure Init and Jump with Attestation) — обеспечивает аппаратную поддержку защиты программных мо­ду­лей от не­сан­к­ци­о­ни­ро­ван­ной модификации. Использует внешнее устройство Trusted Platform Module (TPM). Процессор ини­ци­а­ли­зи­ру­ет­ся для выполнения защищенного фрагмента (Secure Loader), регион па­мя­ти, содержащий за­дан­ный мо­дуль, защищается от внешнего доступа, его содержимое ве­ри­фи­ци­ру­ет­ся с при­ме­не­ни­ем TPM, затем на этот про­г­рам­мный мо­дуль передается управление. Инструкция принимает в ре­гист­ре EAX базовый физический ад­рес за­щи­ща­е­мо­го модуля Secure Loader, адрес должен быть вы­ров­нен на 64 KB. Размер модуля 64 KB.

Примечание. Не все процессоры, поддерживающие AMD SVM, поддерживают инструкцию SKINIT. Перед ее ис­поль­зо­ва­ни­ем необходимо выполнить функцию CPUID 80000001h и проверить бит 12 регистра ECX (SKINIT feature).

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий