V-comp

Последовательные асинхронные порты
в терминальных и платежных системах

 
 
 












AMD SVM

Технология AMD SVM определяет два специальных состояния процессора, предназначенные для выполнения программных модулей двух видов.

Virtual Machine Monitor (VMM) или Hypervisor имеет неограниченные полномочия при доступе к системным ресурсам. Координирует работу всей системы и создает заданное количество виртуальных машин для выполнения "гостевых" программ.

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

Для включения режима SVM и приобретения полномочий гипервизора, программа должна установить бит SVME (SVM Enable). Это бит 12 регистра IA32_EFER MSR (MSR с адресом C0000080h). Затем, после подготовки в оперативной памяти структур, необходимых для запуска виртуальных машин, программа может запускать "гостей", используя инструкцию VMRUN. Если "гость" обратился к системному ресурсу, доступ к которому для него запрещен или истек квант времени, выделенный для его работы, управление передается в гипервизор. Эта операция называется #VMEXIT.

Отметим, что после установки бита SVME, программа должна выполнить контрольное считывание регистра IA32_EFER MSR и проверить, что SVME=1. Это связано с тем, что режим SVM может быть заблокирован. Блокировкой управляет бит SVMDIS (SVM Disable). Это бит 4 регистра VM_CR MSR (MSR с адресом C0010114h). Для разрешения установки бита SVME, бит SVMDIS должен быть обнулен.


Процессор позволяет установить защиту от несанкционированного включения режима SVM. Если установлен бит LOCK (бит 3 регистра VM_CR MSR), обнулить бит SVMDIS можно только после записи пароля в регистр SVM_KEY MSR (MSR с адресом C0010118h).

Идентификация ресурсов AMD SVM

Рейтинг@Mail.ru

Copyright 2010 V-comp