Могу ли я использовать HAXM (или что-то еще) для ускорения OVMF и ОС в QEMU? - PullRequest
0 голосов
/ 26 мая 2020

Это мой первый вопрос, поэтому, пожалуйста, не будьте слишком строгими.

Я раньше разрабатывал драйверы DXE для edk2 (OvmfPkg) с QEMU и OVMF. Все работало на ubuntu с KVM.

Но я установил haxm v7.6.1 на свою ma c a1707 с процессором 7700H. Я проверил «kextstat | grep intel », найдено соответствие kext:

241 0 0xffffff7f852c6000 0x28000 0x28000
com.intel.kext.intelhaxm (7.6.1) 3CCC6557-CCBD-37CA-8AC4-271686ADAD2F <8 6 5 3 1>

Скачал edk2 и собрал его (OvmfPkg, получил образ OVMF.fd). Я использовал brew для установки QEMU версии 5.0.0_2. Я использовал этот сценарий для запуска настроенной виртуальной машины QEMU:

/usr/local/bin/qemu-system-x86_64 \
  -m 4000 \
  -net none \
  -name "UEFI DEBUG" \
  -machine q35 \
  -hdd /Users/usermane/FW/edk2/QEMU/Win10 \
  -serial file:qemu_log.txt \
  -accel hax \
  -smp 1 \
  -bios /Users/username/FW/edk2/Build/OvmfX64/DEBUG_XCODE5/FV/OVMF.fd\
  -cdrom QEMU/Win10_1809_x64.iso \

Все работает хорошо, но если я использую флаг ускорителя «hax», я получаю ошибку ядра pani c (когда я использую windows 1903 с те же настройки, я получаю ту же ошибку):

запрос выключения VCPU

запрос выключения VCPU

и последние строки файла «qemu_log .txt»являются:

EFI Storage Security Protocol - прочитанной SetUefiImageMemoryAttributes - 0x000000007CBC5000 - 0x0000000000006000 (0x0000000000000000) SetUefiImageMemoryAttributes - 0x000000007CBC0000 - 0x0000000000005000 (0x0000000000000000) SetUefiImageMemoryAttributes - 0x000000007CBBA000 - 0x0000000000006000 (0x0000000000000000) SetUefiImageMemoryAttributes - 0x000000007CBB5000 - 0x0000000000005000 ( 0x0000000000000000) SetUefiImageMemoryAttributes - 0x000000007BA99000 - 0x0000000000082000 (0x0000000000000000) SetUefiImageMemoryAttributes - 0x000000007CBB0000 - 0x0000000000005000 (0x0000000000000000) SetUefiImageM emoryAttributes - 0x000000007CBA9000 - 0x0000000000007000 (0x0000000000000000) SetUefiImageMemoryAttributes - 0x000000007CBA5000 - 0x0000000000004000 (0x0000000000000000) SetUefiImageMemoryAttributes - 0x000000007CB000000000000: * 102700000000000000 1030 *

После ознакомления с ним я пришел к выводу, что ovmf еще не поддерживается haxm.

Есть ли другой способ разработки и отладки DXE- драйверы на ма c или windows на ускоренной виртуальной машине (без покупки оборудования)?

...