ghost8282 Posted April 30, 2023 Share Posted April 30, 2023 (edited) Hi all, I'm running a mac os virtual machine in qemu and by upgrading to newest version I couldn't boot any more my vm. After some tests I found that the issue is in the DSDT. This is a picture of the sata controller in ioreg (with first DSDT --> see below): DSDT generated by older versions of qemu (IT WORKS, IT BOOTS): Scope (\_SB) { Scope (PCI0) { Device (S08) { Name (_ADR, 0x00010000) // _ADR: Address } ... ... This give name S08 at addr 1. This is the DSDT generated by the newest version of qemu (IT DOESN'T WORK, CANNOT BOOT, mac os complaining "still waiting for root device"): Scope (\_SB) { Scope (PCI0) { Device (S08) { Name (_ADR, 0x00010000) // _ADR: Address Device (S00) { Name (_ADR, Zero) // _ADR: Address } } ... ... This should give the same name S08 at addr 1, as before, and renaming 'pci1b4b,9230' at addr 0 to 'S00'. Question is simple: why with the second DSDT mac os cannot find the sata drive? Thanks Edited April 30, 2023 by ghost8282 1 Link to comment Share on other sites More sharing options...
ghost8282 Posted May 1, 2023 Author Share Posted May 1, 2023 (edited) weird, yes...Could it be that pci1b4b,9230 is under IOPP?I don't know... In the meantime, instead of injecting the full patched DSDT, without the S00 declaration, I made an ssdt to disable/hide S00, this works too: DefinitionBlock ("", "SSDT", 2, "ACDT", "SATA", 0x00004000) { External (_SB_.PCI0, DeviceObj) External (_SB_.PCI0.S08_, DeviceObj) External (_SB_.PCI0.S08_.S00_, DeviceObj) Scope (\_SB.PCI0) { Scope (S08) { Scope (S00) { Name (_STA, Zero) // _STA: Status } } } } I was using the 3rd party sata controller kext, but even when disabling it (the controller is detected with the kext disabled but the disk attached to it is detected as external), the issue is the same. Edited May 1, 2023 by ghost8282 Link to comment Share on other sites More sharing options...
Recommended Posts