qemu-devel
[Top][All Lists]
Advanced

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

[Bug 1886318] Re: Qemu after v5.0.0 breaks macos guests


From: Mark Cave-Ayland
Subject: [Bug 1886318] Re: Qemu after v5.0.0 breaks macos guests
Date: Sat, 11 Jul 2020 23:25:17 -0000

Thanks for the bisection, that's really helpful - that particular patch
fixes the way in which memory region access sizes are treated as valid.
The obvious device to look at here is isa-apple-smc since I suspect that
has less CI coverage.

Looking at the access sizes of all 3 MemoryRegions within
hw/misc/applesmc.c I think these would now reject all non-byte accesses
- does the following patch help at all?


diff --git a/hw/misc/applesmc.c b/hw/misc/applesmc.c
index 1c4addb201..7ca89e5e86 100644
--- a/hw/misc/applesmc.c
+++ b/hw/misc/applesmc.c
@@ -288,7 +288,7 @@ static const MemoryRegionOps applesmc_data_io_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
     .impl = {
         .min_access_size = 1,
-        .max_access_size = 1,
+        .max_access_size = 4,
     },
 };
 
@@ -298,7 +298,7 @@ static const MemoryRegionOps applesmc_cmd_io_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
     .impl = {
         .min_access_size = 1,
-        .max_access_size = 1,
+        .max_access_size = 4,
     },
 };
 
@@ -308,7 +308,7 @@ static const MemoryRegionOps applesmc_err_io_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
     .impl = {
         .min_access_size = 1,
-        .max_access_size = 1,
+        .max_access_size = 4,
     },
 };
 

ATB,

Mark.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1886318

Title:
  Qemu after v5.0.0 breaks macos guests

Status in QEMU:
  New

Bug description:
  The Debian Sid 5.0-6 qemu-kvm package can no longer get further than
  the Clover bootloader whereas 5.0-6 and earlier worked fine.

  So I built qemu master from github and it has the same problem,
  whereas git tag v5.0.0 (or 4.2.1) does not, so something between
  v5.0.0 release and the last few days has caused the problem.

  Here's my qemu script, pretty standard macOS-Simple-KVM setup on a
  Xeon host:

  qemu-system-x86_64 \
      -enable-kvm \
      -m 4G \
      -machine q35,accel=kvm \
      -smp 4,sockets=1,cores=2,threads=2 \
      -cpu 
  
Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc
 
  \
      -device 
  
isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
 
  \
      -smbios type=2 \
      -drive if=pflash,format=raw,readonly,file="/tmp/OVMF_CODE.fd" \
      -drive if=pflash,format=raw,file="/tmp/macos_catalina_VARS.fd" \
      -vga qxl \
      -device ich9-ahci,id=sata \
      -drive id=ESP,if=none,format=raw,file=/tmp/ESP.img \
      -device ide-hd,bus=sata.2,drive=ESP \
      -drive id=InstallMedia,format=raw,if=none,file=/tmp/BaseSystem.img \
      -device ide-hd,bus=sata.3,drive=InstallMedia \
      -drive id=SystemDisk,if=none,format=raw,file=/tmp/macos_catalina.img \
      -device ide-hd,bus=sata.4,drive=SystemDisk \
      -usb -device usb-kbd -device usb-mouse

  Perhaps something has changed in Penryn support recently, as that's
  required for macos?

  See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=964247

  Also on a related note, kernel 5.6/5.7 (on Debian) hard crashes the
  host when I try GPU passthrough on macos, whereas Ubuntu20/Win10 work
  fine - as does 5.5 kernel.

  See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=961676

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1886318/+subscriptions



reply via email to

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