Jump to content

SATA controller DSDT name - cannot boot, why?


ghost8282
 Share

2 posts in this topic

Recommended Posts

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):

sata.png.72d8cea45d28b9914cb3587019a645e9.png.f63b825d1abda1ffce5fa134de328e8e.png

 

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 by ghost8282
  • Confused 1
Link to comment
Share on other sites

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 by ghost8282
Link to comment
Share on other sites

 Share

×
×
  • Create New...