OSDev
http://osdev.su/

Осторожно! VmWare 8 виртуализация APIC-а хромает.
http://osdev.su/viewtopic.php?f=6&t=652
Страница 1 из 1

Автор:  ZarathustrA [ 22 ноя 2012, 03:13 ]
Заголовок сообщения:  Осторожно! VmWare 8 виртуализация APIC-а хромает.

Приветствую сообщество!

До недавних пор, я считал, что VmWare достаточно уважающая себя контора, которая веников не вяжет. Как же я был наивен и глуп. В дополнение к ранее озвученной проблеме с таймером локального APIC была обнаружена еще одна более суровая проблема связанная с диспетчеризацией прерываний. В отличие от APIC-а в понимании компании Intel, APIC в понимании компании от VmWare способен генерировать вложенные прерывания с ОДНИМ И ТЕМ ЖЕ приоритетом посредством Self IPI. Согласно интеловской документации, вложенные прерывания возможны, но только в том случае, когда каждое последующее вложенное прерывание обладает большим приоритетом (классом приоритета), чем предыдущее.

В частности мной был получен стек следующего характера

21h A2h A2h
SystemCallInt -> GpTaskSwitch -> GpTaskSwitch

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

В общем, моя первая реакция бала рука-лицо. Доверие к компании подорвано окончательно.

P.S.: Порекомендуйте мне плиз какую-нибудь нормальную виртуальную машину/эмулятор. Требования поддержка многоядерности/многопроцессорности, flat - файлы для эмуляции жестких дисков, уверенная эмуляция Pentium II/III.

Автор:  ZarathustrA [ 22 ноя 2012, 03:21 ]
Заголовок сообщения:  Re: Осторожно! VmWare 8 виртуализация APIC-а хромает.

P.P.S.: Обе проблемы с APIC-ом возникают на фазе старта/разогрева виртуальной машины. То есть либо вы их словите в первые секунды работы после пуска машины, либо не словите вообще. Но проводить десять пусков, для того чтобы тебе улыбнулась удача - это извращение.

Автор:  Nable [ 27 ноя 2012, 01:27 ]
Заголовок сообщения:  Re: Осторожно! VmWare 8 виртуализация APIC-а хромает.

ZarathustrA писал(а):
P.S.: Порекомендуйте мне плиз какую-нибудь нормальную виртуальную машину/эмулятор. Требования поддержка многоядерности/многопроцессорности, flat - файлы для эмуляции жестких дисков, уверенная эмуляция Pentium II/III.
qemu-kvm, если проц поддерживает. Bochs или AMD SimNow, если нужна офигенная точность эмуляции (симуляция).

И да, в VmWare, VirtualBox, QEmu (и других продуктах с неким балансом между скоростью и точностью, т.е. точность принесена в жертву скорости) закладываются на традиционные ОС, собранные традиционными компиляторами. А на всякие маргинальные мелочи, используемые любителями (используемые, потому что им (любителями) кажется что так круче получится, или им просто хочется во что бы то ни стало найти багу, или и правда так круче, но в больших ОС это уже не внедрить) там клали болт. Можно репортить баги (да и нужно, пожалуй), но вопрос ценности таких результатов открыт.

Уж пардон, но таковы (современные) реалии.

Автор:  Himik [ 27 ноя 2012, 17:28 ]
Заголовок сообщения:  Re: Осторожно! VmWare 8 виртуализация APIC-а хромает.

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/