qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v11 15/15] hw/vmapple/vmapple: Add vmapple machine type


From: Akihiko Odaki
Subject: Re: [PATCH v11 15/15] hw/vmapple/vmapple: Add vmapple machine type
Date: Thu, 28 Nov 2024 20:39:16 +0900
User-agent: Mozilla Thunderbird

On 2024/11/28 0:02, Phil Dennis-Jordan wrote:
From: Alexander Graf <graf@amazon.com>

Apple defines a new "vmapple" machine type as part of its proprietary
macOS Virtualization.Framework vmm. This machine type is similar to the
virt one, but with subtle differences in base devices, a few special
vmapple device additions and a vastly different boot chain.

This patch reimplements this machine type in QEMU. To use it, you
have to have a readily installed version of macOS for VMApple,
run on macOS with -accel hvf, pass the Virtualization.Framework
boot rom (AVPBooter) in via -bios, pass the aux and root volume as pflash
and pass aux and root volume as virtio drives. In addition, you also
need to find the machine UUID and pass that as -M vmapple,uuid= parameter:

$ qemu-system-aarch64 -accel hvf -M vmapple,uuid=0x1234 -m 4G \
     -bios 
/System/Library/Frameworks/Virtualization.framework/Versions/A/Resources/AVPBooter.vmapple2.bin
     -drive file=aux,if=pflash,format=raw \
     -drive file=root,if=pflash,format=raw \
     -drive file=aux,if=none,id=aux,format=raw \
     -device vmapple-virtio-aux,drive=aux \
     -drive file=root,if=none,id=root,format=raw \
     -device vmapple-virtio-root,drive=root

With all these in place, you should be able to see macOS booting
successfully.

Known issues:
  - Keyboard and mouse/tablet input is laggy. The reason for this is
    either that macOS's XHCI driver is broken when the device/platform
    does not support MSI/MSI-X, or there's some unfortunate interplay
    with Qemu's XHCI implementation in this scenario.
  - Currently only macOS 12 guests are supported. The boot process for
    13+ will need further investigation and adjustment.

Signed-off-by: Alexander Graf <graf@amazon.com>
Co-authored-by: Phil Dennis-Jordan <phil@philjordan.eu>
Signed-off-by: Phil Dennis-Jordan <phil@philjordan.eu>

Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]