[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI b
From: |
Dhiru Kholia |
Subject: |
Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader |
Date: |
Sun, 6 Aug 2017 13:08:36 +0530 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
On Sat, Aug 05, 2017 at 10:05:09PM +0200, Laszlo Ersek wrote:
> On 08/05/17 13:46, Dhiru Kholia wrote:
> > On Sat, Aug 5, 2017 at 2:00 PM, Dhiru Kholia <address@hidden> wrote:
> >> I ran git bisect on OVMF repository [5] to find the commit that broke
> >> booting of macOS + Clover combination in QEMU/KVM.
> >>
> >> It seems that commit 805762252733bb is problematic for some reason.
> >> Reverting this commit fixes the macOS booting problem.
> >>
> >> In summary, I am able to boot macOS 10.12.5 + Clover combination with
> >> latest OVMF (commit 1fceaddb12b with 805762252733bb reverted) +
> >> updated QEMU (commit aaaec6acad7c with patch from this thread
> >> applied).
> >
> > After some more testing,
> >
> > I am also able to boot macOS 10.12.5 + Clover combination with latest
> > OVMF (commit 1fceaddb12b with 805762252733bb reverted) + updated QEMU
> > (commit ac44ed2afb7c60 *without* my patch from this thread).
>
> I don't know how edk2 commit 805762252733 ("OvmfPkg/AcpiPlatformDxe:
> save fw_cfg boot script with QemuFwCfgS3Lib", 2017-02-23) can cause your
> symptoms.
>
> (snipped)
Hi Laszlo,
Thanks a lot for your detailed answers, and great tips.
For all of the following results, I have used OVMF commit 1fceaddb12b59,
without any patches reverted.
> You could try the following:
>
> (1) Disable S3 support on the QEMU command line. OVMF will recognize
> that, and skip all the S3 opcode recording (and memory reservation).
> IIRC OSX requires Q35, so I'll give you the command line option for Q35:
>
> -global ICH9-LPC.disable_s3=1
-machine pc-q35-2.4 -global ICH9-LPC.disable_s3=1
This combination works fine. I was able to boot macOS 10.12.5 + Clover with
it.
> (2) Set "PcdDebugPrintErrorLevel" in "OvmfPkg/OvmfPkgX64.dsc" to
> 0x8040004F, then rebuild OVMF. Additionally, append the following to the
> QEMU command line:
>
> -debugcon file:ovmf.debug.log -global isa-debugcon.iobase=0x402
>
> We can then look at the OVMF debug log.
I have attached the compressed logs to this email.
q35-2.4-ovmf.debug.log.tar.gz is for "pc-q35-2.4" machine type and
q35-2.5-ovmf.debug.log.tar.gz is for "pc-q35-2.5".
The "pc-q35-2.4" machine doesn't boot but "pc-q35-2.5" works fine.
I did not use the "ICH9-LPC.disable_s3=1" option for these results.
> (3) Hm... are you perhaps using the pc-q35-2.4 machine type? If so, can
> you try pc-q35-2.5 or later?
>
> ... Yes, you are using pc-q35-2.4:
> https://github.com/kholia/OSX-KVM/blob/master/boot-clover.sh
> https://github.com/kholia/OSX-KVM/blob/master/boot-macOS.sh
The "pc-q35-2.5" machine type works great without any extra options with
pristine latest QEMU and OVMF sources! I will update my macOS boot
script to use this (or higher) machine type.
> Sigh, I see now what it is. It's indeed an OVMF bug, introduced in
> commit 805762252733.
>
> Basically what I think I messed up in 805762252733 is that if you have
> S3 enabled, OvmfPkg/AcpiPlatformDxe will incorrectly / indirectly insist
> that you also have the DMA feature for fw_cfg, even if you have zero
> WRITE_POINTER commands. pc-q35-2.4 has no DMA for fw_cfg, and S3 is
> enabled by default in upstream QEMU and libvirt. OvmfPkg/AcpiPlatformDxe
> incorrectly thinks this is bad and rolls back all the ACPI linker/loader
> stuff -- you end up with the built-in (very outdated) fallback ACPI tables.
>
> I'll try to send out a patch next week and CC you for testing. Please
> subscribe to edk2-devel at
> <https://lists.01.org/mailman/listinfo/edk2-devel> first, otherwise the
> list will drop your messages.
>
> Just to confirm my suspicion, can you please do all three steps / checks
> above?
I have subscribed to the edk2-devel list now. I would be happy to test
your upcoming patch.
I believe that you have already figured out this whole thing :-)
Thanks,
Dhiru
q35-2.4-ovmf.debug.log.tar.gz
Description: application/gzip
q35-2.5-ovmf.debug.log.tar.gz
Description: application/gzip
- [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader, Dhiru Kholia, 2017/08/04
- Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader, Igor Mammedov, 2017/08/04
- Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader, Dhiru Kholia, 2017/08/04
- Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader, Igor Mammedov, 2017/08/04
- Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader, Dhiru Kholia, 2017/08/05
- Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader, Dhiru Kholia, 2017/08/05
- Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader, Laszlo Ersek, 2017/08/05
- Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader,
Dhiru Kholia <=
- Re: [Qemu-devel] [PATCH] pc/acpi: Fix booting of macOS with Clover EFI bootloader, Laszlo Ersek, 2017/08/06