kernel panic using hvf with CPU passthrough

Bug #1894836 reported by Jordan Williams
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

Host Details
QEMU 5.1 (Homebrew)
macOS 10.15.6 Catalina
Late 2014 iMac
i5-4690 @ 3.5 GHz
8 GB RAM

Guest Details
Ubuntu Desktop 20.04.1 Installer ISO

Problem
Whenever I boot with "-accel hvf -cpu host", the Ubuntu desktop installer will immediately crash with a kernel panic after the initial splash screen.
See the attached picture of the kernel panic for more details.

Steps to recreate
From https://www.jwillikers.com/posts/virtualize_ubuntu_desktop_on_macos_with_qemu/

1. Install QEMU with Homebrew.
$ brew install qemu

2. Create a qcow2 disk image to which to install.
$ qemu-img create -f qcow2 ubuntu2004.qcow2 60G

3. Download the ISO.
$ curl -L -o ubuntu-20.04.1-desktop-amd64.iso https://releases.ubuntu.com/20.04/ubuntu-20.04.1-desktop-amd64.iso

4. Run the installer in QEMU.
$ qemu-system-x86_64 \
  -accel hvf \
  -cpu host \
  -smp 2 \
  -m 4G \
  -usb \
  -device usb-tablet \
  -vga virtio \
  -display default,show-cursor=on \
  -device virtio-net,netdev=vmnic -netdev user,id=vmnic \
  -audiodev coreaudio,id=snd0 \
  -device ich9-intel-hda -device hda-output,audiodev=snd0 \
  -cdrom ubuntu-20.04.1-desktop-amd64.iso \
  -drive file=ubuntu2004.qcow2,if=virtio

Workaround
Emulating the CPU with "-cpu qemu64" does not result in a kernel panic.

Tags: hvf macos
Revision history for this message
Jordan Williams (jwillikers) wrote :
description: updated
tags: added: macos
Revision history for this message
Jessica Clarke (jrtc27) wrote :

0f 01 f9 is RDTSCP; use -cpu host,-rdtscp to mask out the feature. KVM couldn't pass the feature through for a while, and HVF currently can't, though HVF should be modified to automatically hide the feature until it can emulate it.

Revision history for this message
Jordan Williams (jwillikers) wrote :

Thanks for the response Jessica! The option you provided fixes the problem and everything works flawlessly now. Thank you!!

Revision history for this message
Thomas Huth (th-huth) wrote :

Fixed in commit 65baabca22366e5246955474228908d6a8354881

Changed in qemu:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers