671 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Iommu что это в БИОСе?

IOMMU

IOMMU (англ. input/output memory management unit ) — блок управления памятью (MMU) для операций ввода/вывода. Так же как традиционный, процессорный блок управления памятью, который переводит виртуальные адреса, видимые процессором в физические, этот блок занимается трансляцией виртуальных адресов, видимых аппаратным устройством, в физические адреса. Некоторые IOMMU также позволяют задавать различные ограничения операций ввода-вывода для защиты от неправильно работающих устройств или для изоляции, например, при использовании виртуализации (см. VT-d).

При наличии IOMMU у аппаратуры имеется возможность проводить DMA-операции не только по физическим адресам, но и по логическим (виртуальным). Такая возможность упрощает устройства, которым больше не нужно заботиться о поддержке DMA по разрывному (с точки зрения физических адресов) региону памяти (поддержка такого DMA в драйвере влечет за собой накладные расходы).

Недостатками использования IOMMU по сравнению с прямой физической адресацией памяти в DMA запросах являются:

  • Некоторое ухудшение производительности из-за необходимости транслирования адресов и расходов на управление, например, проход по иерархии таблицы страниц.
  • Дополнительное потребление памяти для хранения таблиц отображения. Может быть уменьшен при использовании основным таблиц трансляции адресов процессора.

IOMMU используется для прямой работы виртуализованных операционных систем с оборудованием основной системы. Наличие IOMMU для таких комбинаций позволяет повысить безопасность, производительность и упростить реализацию виртуальной машины.

IOMMU всегда использовался на компьютерах Sun SPARC [1] для шины SBus, также он использовался на компьютерах DEC Alpha [1] для шины PCI.

Разновидностью IOMMU является AGP GART (Graphics Address Remapping Table, таблица преобразований графических адресов [2] ).

Как правило, обычные PC-совместимые компьютеры не имели IOMMU (кроме AGP GART). Вместо этого все главнейшее периферийное оборудование где-то с конца 90х годов разрабатывалось с поддержкой chain DMA.

Тем не менее, широкое распространение гипервизоров виртуальных машин привело к включению поддержки IOMMU в “гостевые” ОС, такие, как Windows (API ядра Windows всегда поддерживал данную функцию, хотя обычно данная поддержка не реализовывалась).

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

Опция BIOS Virtualization – как включить виртуализацию в BIOS

Опция Virtualization Technology. Включение данной опции включает технологию аппаратной виртуализации, основанной на специальной процессорной архитектуре. В отличие от программной виртуализации, с помощью данной техники возможно использование изолированных гостевых систем (виртуальных машинах – VMware, Virtual PC и тд.), управляемых гипервизором напрямую. Гостевая система не зависит от архитектуры хостовой платформы и реализации платформы виртуализации.

На работу программ пользователя в стандартной операционной системе данная опция практически не влияет.

Значения опции:

  • Enabled,
  • Disabled

Опция также может иметь другие названия:

  • Virtualization Technology
  • Vanderpool Technology
  • VT Technology
  • Virtualization

Примечание 1.Аппаратная виртуализация виртуализация с поддержкой специальной процессорной архитектуры. Аппаратная виртуализация обеспечивает производительность, сравнимую с производительностью невиртуализованной машины, что дает виртуализации возможность практического использования и влечет её широкое распространение. Наиболее распространены технологии виртуализации Intel-VT и AMD-V.

  1. В Intel VT (Intel Virtualization Technology) реализована виртуализация режима реальной адресации (режим совместимости с 8086). Соответствующая аппаратная виртуализация ввода-вывода — VT-d. Часто обозначается аббревиатурой VMX (Virtual Machine eXtension). Кодовое название — Vanderpool.
  2. AMD-V часто обозначается аббревиатурой SVM (Secure Virtual Machines). Кодовое название — Pacifica. Соответствующая технология виртуализации ввода-вывода — IOMMU. AMD-V проще и эффективнее, чем Intel VT. Поддержка AMD-V появилась в Xen 3.3.

Intel VT (Intel Virtualization Technology) – intel virtualization technology что это?

VT-x 13 ноября 2005 года Intel выпустила две модели Pentium 4 (модели 662 и 672), которые стали первыми процессорами, поддерживающими VT-x (“Vanderpool”). VT-x представляет собой технологию виртуализации Intel режима реальной адресации на платформе x86 – VMX (Virtual Machine eXtension).

Реализована виртуализация режима реальной адресации (режим совместимости с 8086).

VT-d (Virtualization technology for directed I/O) — технология аппаратной виртуализации ввода-вывода , созданная корпорацией Intel в дополнение к её технологии виртуализации вычислений VT-x. Виртуализация ввода-вывода позволяет пробрасывать (pass-through) устройства на шине PCI (и более современных подобных шинах) в гостевую ОС, таким образом, что она может работать с ним с помощью своих штатных средств. Чтобы такое было возможно, в логических схемах системной платы используется специальное устройство управления памятью ввода-вывода (IOMMU), работающее аналогично MMU центрального процессора, используя таблицы страниц и специальную таблицу отображения DMA (DMA remapping table — DMAR), которую гипервизор получает от BIOS через ACPI. Отображение DMA необходимо, поскольку гипервизор ничего не знает о специфике работы устройства с памятью по физическим адресам, которые известны лишь драйверу. С помощью DMAR он создает таблицы отображения таким образом, что драйвер гостевой ОС видит виртуальные адреса IOMMU аналогично тому, как бы он видел физические без него и гипервизора.

Читать еще:  Установка шипованной резины закон

Intel Virtualization Technology for Directed I/O (VT-d) — это следующий важный шаг на пути к всеобъемлющей аппаратной поддержке виртуализации платформ на базе Intel. VT-d расширяет возможности технологии Virtualization Technology (VT), существующей в IA-32 (VT-x) и Itanium (VT-i), и добавляет поддержку виртуализации новых устройств ввода-вывода. Ознакомиться подробнее с технической стороной вопроса можно здесь https://ru.wikipedia.org/wiki/

Программа Setup BIOS фирмы AWARD Software International Inc на системных платах GIGABYTE TECHNOLOGY

Название данной опции у данного производителя в данной версии BIOS:

[РЕШЕНО] IOMMU

Разумеется, система твоя, мы о ней ничего не знаем.
загляни сперва в правила, обрати внимание на пятый пункт.
Затем приложи,как там просят inxi и дополнительно вывод dmesg и syslog на предмет работы iommu и определения интерфейсов в обоих режимах.

У меня например нет ни гигабайтовских матерей, ни регулировки iommu вовсе на девайсах под рукой.

Он один на оба случая, спосле двух dmesg’ей

Будем читать

Надеюсь это то, что надо.

А вот задействования IOMMU – там не наблюдаю почему-то. Хотя его инициализация должна пройти гораздо раньше сети.

И еще в сислог не попал второй старт от Jun 16 12:55:34, видимо обрезался файлик. За этот срез лога видно только что хром падал.

Можно расшарить где-нибудь сами файлики /var/log/syslog
И /var/log/dmesg, куда-нибудь пересохранить, когда сеть не работает, чтоб нам показать.

Вот так гораздо прозрачней 🙂

сама по себе технология относится к решениям виртуализации, требуется оно или нет в данном случае, решать придется самостоятельно:)

В основном информация в сети сводится к следующему:

1. либо стоит включить проброс (passthrought) и поддержку iommu на уровне ядра. Добавить к строке загрузки:

Чтоб AMD-V не ругался, как здесь:
[ 18.474549] AMD-Vi: Event logged [IO_PAGE_FAULT device=02:00.0 domain=0x0014 address=0x00000000bec16880 flags=0x0010]

2. Либо отключить её в биосе и перевести в программный режим.

Guesto.ru

Guesto notes

Linux. Debian 9 долгая загрузка на GA-970A-DS3P. Проблема в IOMMU

Загрузка Debian 9 происходит долго, dmesg показал задержку в 17 секунд на одной строке:

Поиски в интернете указали причину — IOMMU. Статья с подобной проблемой, а в ней ссылка на еще одну полезную статью.

Прямое выполнение рекомендаций не помогло, либо не работали USB 2.0, либо USB 3.0. Но перебрав несколько комбинаций настройки BIOS получил быструю загрузку и все работающие USB-порты.

Решение

Настройка GRUB

Первым делом необходимо переключить поддержку IOMMU с железа на ОС. Программная поддержка IOMMU была добавлена в ядре 3.6. Для этого поправим настройки GRUB

Необходимо изменить значение параметра GRUB_CMDLINE_LINUX добавив значение iommu=soft, у меня параметр был пуст и получилось так:

Теперь выполним обновление конфигурации GRUB

Настройка BIOS

Тут есть некоторое отступление. Ранее принудительно включал опцию IOMMU в биосе, на 890, 970 и 990 чипсетах опция по умолчанию была отключена. А если она была отключена, то на архитектуре AMD64 не работала сеть(о чем еще в 2013 году писал вопрос на kubuntu.ru) и не работала загрузка с USB.

Заходим в BIOS, переходим в раздел Peripherals и выставляем следующие значения параметров:

Перезагружаемся и проверяем результат. Загрузка прошла очень быстро, USB 2.0 и USB 3.0 в строю, нагрузки на процессор не замечено.

Для сравнения часть выхлопа dmesg до и после изменений сохранил: это до, а это после. Начало и конец фрагментов одинаковы, разница во времени 20 секунд.

Комментарии 2

Благодетель мой, скажи, как ты на эту железочку Debian 9 поставил?
Купил сегодня на замену ASUS M5A97 LE — не взлетело.

Федор, проблем с установкой не заметил.
Из предположений:
1. В BIOS отключен IOMMU;
2. Готовится кривой загрузочный образ, попробовал бы командой dd;
3. Смотреть в сторону вариантов установки с/без UEFI.

Проблемы с включением IOMMU

Сап, лорчан. Имею мать GA-990FXA-D3, rev 1.2. Биосе присутствуют пункты Virtualization и IOMMU, оба включены. Тем не менее, в dmesg всё время

Написал в саппорт Gigabyte:

Здравствуйте! Год назад приобрел эту материнскую плату, вот возникла проблема: вне зависимости от включенностивыключенности IOMMU в BIOS система просит включить в Биосе поддержку iommu. Проверялось на Gentoo

amd64 с ядром 3.13.5 и на Ubuntu 13.10 со стандартным ядром. Наличие строки «[ 0.000000] Please enable the IOMMU option in the BIOS setup» в двух дистрибутивах говорит о том, что ядерный модуль iommu включен и работает, а проблема в самом Биосе. Биос изначально был F7, вчера обновился до F9a, ничего не изменилось. Буду благодарен за любую информацию и помощь.
===
$ dmesg | grep IOMMU -A2 -B5
[ 0.000000] Checking aperture.
[ 0.000000] No AGP bridge found
[ 0.000000] Node 0: aperture @ c4000000 size 32 MB
[ 0.000000] Aperture pointing to e820 RAM. Ignoring.
[ 0.000000] Your BIOS doesn’t leave a aperture memory hole
[ 0.000000] Please enable the IOMMU option in the BIOS setup
[ 0.000000] This costs you 64 MB of RAM [ 0.000000] Mapping aperture over 65536 KB of RAM @ c4000000

Читать еще:  Как присоединить принтер к ноутбуку

На что получил ответ:

Благодарим Вас за использование нашей продукции и за обращение в службу технической поддержки GIGABYTE TECHNOLOGY.

Материнские платы компании Gigabyte проходят соответствующую сертификацию на предмет совместимости с операционными системами компании Microsoft (сертификат Windows Hardware Quality Labs/WHQL), так же информацию о совместимости Вы можете найти на сайте Microsoft: http://www.microsoft.com/windows/compatibility/windows-7/en-us/Search.aspx?l=. Вся продукция компании Gigabyte, все программное обеспечение разрабатывается и тестируется только под операционные системы компании Microsoft. В разделе «Спецификации» или «Описание», к любой модели материнской платы есть пункт, в котором указаны поддерживаемые операционные системы, в Вашем случае это Microsoft Windows 7/Vista/XP.

Так же, на сайте отмечено, что: «Из-за особенностей осуществления поддержки семейства ОС Linux со стороны производителей системной логики, пожалуйста, обратитесь за драйверами для Linux на сайты разработчиков.»

Таким образом, мы не можем гарантировать какую-либо стабильную работу компьютера при использовании операционных систем Linux.

С Уважением и Наилучшими пожеланиями, GIGABYTE TECHNOLOGY

Они, блин, совсем там упоролись? Слов нет просто.

Ну да ладно. IOMMU мне нужно для проброса видеокарты в виртуалку с шиндой, второй видеокарты пока нет, виртуалки с шиндой тоже (будет либо xen либо qemu-kvm, смотря что покажет себя шустрее). Перед докупкой железа решил потыкать, действительно ли работает iommu на этой матери. Оказалось – не работает. Но опции есть и включены. Но не работает.

Iommu что это в биосе

IOMMU (англ. input/output memory management unit ) — блок управления памятью (MMU) для операций ввода-вывода. Так же как традиционный, процессорный блок управления памятью, который переводит виртуальные адреса, видимые процессором в физические, этот блок занимается трансляцией виртуальных адресов, видимых аппаратным устройством, в физические адреса. Некоторые IOMMU также позволяют задавать различные ограничения операций ввода-вывода для защиты от неправильно работающих устройств или для изоляции, например, при использовании виртуализации (см. VT-d).

При наличии IOMMU у аппаратуры имеется возможность проводить DMA-операции не только по физическим адресам, но и по логическим (виртуальным). Такая возможность упрощает устройства, которым больше не нужно заботиться о поддержке DMA по разрывному (с точки зрения физических адресов) региону памяти (поддержка такого DMA в драйвере влечет за собой накладные расходы).

Недостатками использования IOMMU по сравнению с прямой физической адресацией памяти в DMA запросах являются:

  • Некоторое ухудшение производительности из-за необходимости транслирования адресов и расходов на управление, например, проход по иерархии таблицы страниц.
  • Дополнительное потребление памяти для хранения таблиц отображения. Может быть уменьшен при использовании основных таблиц трансляции адресов процессора.

IOMMU используется для прямой работы виртуализованных операционных систем с оборудованием основной системы. Наличие IOMMU для таких комбинаций позволяет повысить безопасность, производительность и упростить реализацию виртуальной машины. [1] Примеры IOMMU для виртуализации на платформах x86/x86_64: Intel VT-d и AMD-Vi.

IOMMU всегда использовался на компьютерах Sun SPARC [2] для шины SBus, также он использовался на компьютерах DEC Alpha [2] для шины PCI.

Разновидностью IOMMU является AGP GART (Graphics Address Remapping Table, таблица преобразований графических адресов [3] ).

Как правило, обычные PC-совместимые компьютеры не имели IOMMU (кроме AGP GART). Вместо этого все главнейшее периферийное оборудование где-то с конца 90х годов разрабатывалось с поддержкой chain DMA.

Тем не менее, широкое распространение гипервизоров виртуальных машин привело к включению поддержки IOMMU в «гостевые» ОС, такие, как Windows (API ядра Windows всегда поддерживал данную функцию, хотя обычно данная поддержка не реализовывалась).

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

IOMMU — Comparison of the I/O memory management unit (IOMMU) to the memory management unit (MMU). In computing, an input/output memory management unit (IOMMU) is a memory management unit (MMU) that connects a DMA capable I/O bus to the main memory. Like… … Wikipedia

IOMMU — Eine I/O Memory Mapping Unit (I/O MMU, oder kurz IOMMU) erweitert die I/O Schnittstelle eines Mikroprozessors um eine Adressübersetzung und Zugriffsschutz bei Direct Memory Access (DMA). Einsatz von I/O MMUs war lange nur in High End… … Deutsch Wikipedia

IOMMU — Input Output Memory Management Unit … Acronyms

IOMMU — Input Output Memory Management Unit … Acronyms von A bis Z

HP 9000 — is the name for a line of workstation and server computer systems produced by the Hewlett Packard (HP) company. The HP 9000 brand was introduced in 1984 to encompass several existing technical workstations models previously launched in the early… … Wikipedia

Читать еще:  Tls mls что лучше SSD?

Прямой доступ к памяти — (англ. Direct Memory Access, DMA) режим обмена данными между устройствами или же между устройством и основной памятью (RAM) без участия Центрального Процессора (ЦП). В результате скорость передачи увеличивается, так как данные не… … Википедия

Advanced Micro Devices — Infobox Company company name=Advanced Micro Devices, Inc. company logo= company type=Public (nyse|AMD) foundation=1969 founder=W. Jerry Sanders III Edwin J. Turney Additional co founders location city=Sunnyvale, California, US key people=Derrick… … Wikipedia

Comparison of AMD chipsets — Amd chipsets logo This is a comparison of chipsets sold under the brand AMD, manufactured before May 2004 by the company itself, before the adoption of open platform approach as well as chipsets manufactured by ATI Technologies (ATI) after July… … Wikipedia

AMD 800 chipset series — AMD chipsets Table name= AMD 800 chipset series img w= Caption= Codename= CPU= future Opteron, Phenom, Athlon X2 and Turion Ultra processors Socket= Socket F+, Socket G34 (server) Socket AM3 (desktop) Socket FS1 (mobile) Process= Power=… … Wikipedia

Udma — Прямой доступ к памяти (англ. Direct Memory Access, DMA) режим обмена данными между устройствами или же между устройством и основной памятью (RAM), без участия Центрального Процессора. В результате скорость передачи увеличивается, так как данные … Википедия

Опция Virtualization Technology. Включение данной опции включает технологию аппаратной виртуализации, основанной на специальной процессорной архитектуре. В отличие от программной виртуализации, с помощью данной техники возможно использование изолированных гостевых систем (виртуальных машинах — VMware, Virtual PC и тд.), управляемых гипервизором напрямую. Гостевая система не зависит от архитектуры хостовой платформы и реализации платформы виртуализации.

На работу программ пользователя в стандартной операционной системе данная опция практически не влияет.

Значения опции:

  • Enabled,
  • Disabled

Опция также может иметь другие названия:

  • Virtualization Technology
  • Vanderpool Technology
  • VT Technology
  • Virtualization

Примечание 1.Аппаратная виртуализация виртуализация с поддержкой специальной процессорной архитектуры. Аппаратная виртуализация обеспечивает производительность, сравнимую с производительностью невиртуализованной машины, что дает виртуализации возможность практического использования и влечет её широкое распространение. Наиболее распространены технологии виртуализации Intel-VT и AMD-V.

  1. В Intel VT (Intel Virtualization Technology) реализована виртуализация режима реальной адресации (режим совместимости с 8086). Соответствующая аппаратная виртуализация ввода-вывода — VT-d. Часто обозначается аббревиатурой VMX (Virtual Machine eXtension). Кодовое название — Vanderpool.
  2. AMD-V часто обозначается аббревиатурой SVM (Secure Virtual Machines). Кодовое название — Pacifica. Соответствующая технология виртуализации ввода-вывода — IOMMU. AMD-V проще и эффективнее, чем Intel VT. Поддержка AMD-V появилась в Xen 3.3.

Intel VT (Intel Virtualization Technology) — intel virtualization technology что это?

VT-x 13 ноября 2005 года Intel выпустила две модели Pentium 4 (модели 662 и 672), которые стали первыми процессорами, поддерживающими VT-x (“Vanderpool”). VT-x представляет собой технологию виртуализации Intel режима реальной адресации на платформе x86 — VMX (Virtual Machine eXtension).

Реализована виртуализация режима реальной адресации (режим совместимости с 8086).

VT-d (Virtualization technology for directed I/O) — технология аппаратной виртуализации ввода-вывода , созданная корпорацией Intel в дополнение к её технологии виртуализации вычислений VT-x. Виртуализация ввода-вывода позволяет пробрасывать (pass-through) устройства на шине PCI (и более современных подобных шинах) в гостевую ОС, таким образом, что она может работать с ним с помощью своих штатных средств. Чтобы такое было возможно, в логических схемах системной платы используется специальное устройство управления памятью ввода-вывода (IOMMU), работающее аналогично MMU центрального процессора, используя таблицы страниц и специальную таблицу отображения DMA (DMA remapping table — DMAR), которую гипервизор получает от BIOS через ACPI. Отображение DMA необходимо, поскольку гипервизор ничего не знает о специфике работы устройства с памятью по физическим адресам, которые известны лишь драйверу. С помощью DMAR он создает таблицы отображения таким образом, что драйвер гостевой ОС видит виртуальные адреса IOMMU аналогично тому, как бы он видел физические без него и гипервизора.

Intel Virtualization Technology for Directed I/O (VT-d) — это следующий важный шаг на пути к всеобъемлющей аппаратной поддержке виртуализации платформ на базе Intel. VT-d расширяет возможности технологии Virtualization Technology (VT), существующей в IA-32 (VT-x) и Itanium (VT-i), и добавляет поддержку виртуализации новых устройств ввода-вывода. Ознакомиться подробнее с технической стороной вопроса можно здесь https://ru.wikipedia.org/wiki/

Программа Setup BIOS фирмы AWARD Software International Inc на системных платах GIGABYTE TECHNOLOGY

Название данной опции у данного производителя в данной версии BIOS:

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: