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

Remote bug watches

Bug watches keep track of this bug in other bug trackers.