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/ |