Jump to content

Recommended Posts

Posted

Hello,

I'm looking to assign manual IRQs and directly patch the .rom bios file to replace the standard ACPI Table with the customized one.

Is there a way to do that? I've edited the DSDT.dsl DSDT.7z to change the IRQ, I tried to compile it in .aml but there are several syntax errors that actually I don't know how to fix those

This is my bios image Z390ROM, if you can't do it directly can you link some good guides to do it myself because I couldn't find anything online how to do it correctly.

Thank you for your time and help.

  • Administrators
Posted

Extract tables with F4 key in Clover boot screen, files generated in Clover/Acpi/origin, post here

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

Posted (edited)

Ok, I installed Cloverboot via EFI Partition and managed to get the ACPI/origin/dsdt.aml

I would like to setup my IRQ devices to something like this :

        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLA, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {11}
                })
                CreateWordField (RTLA, One, IRQ0)
                IRQ0 = PIRA /* \PIRA */
                Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKB)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x02)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLB, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {10}
                })
                CreateWordField (RTLB, One, IRQ0)
                IRQ0 = PIRB /* \PIRB */
                Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKC)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x03)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLC, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {03}
                })
                CreateWordField (RTLC, One, IRQ0)
                IRQ0 = PIRC /* \PIRC */
                Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKD)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x04)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLD, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {04}
                })
                CreateWordField (RTLD, One, IRQ0)
                IRQ0 = PIRD /* \PIRD */
                Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKE)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x05)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLE, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {05}
                })
                CreateWordField (RTLE, One, IRQ0)
                IRQ0 = PIRE /* \PIRE */
                Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKF)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x06)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLF, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {06}
                })
                CreateWordField (RTLF, One, IRQ0)
                IRQ0 = PIRF /* \PIRF */
                Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKG)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x07)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLG, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {07}
                })
                CreateWordField (RTLG, One, IRQ0)
                IRQ0 = PIRG /* \PIRG */
                Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }

I will modify via AMIBCP the Int A/B/C/D/ to config the devices.

Can you tell me if this is the correct way to do that?

Thank you.

 

DSDT.7z

Edited by nosound8976
  • Administrators
Posted

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

Posted (edited)

Thank you for trying but the IRQs are not changed with your DSDT file. I checked with the DSDT Editor and the values are the same.

The values that I would like to be are the ones in the previous post.

 

 

Edited by nosound8976
  • Administrators
Posted

why u need this patch? for macos u dont need it, for macos u need patches inside my dsdt above

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

Posted (edited)

I'm trying to avoid IRQ Sharing because I'm having major problems with high load devices in the same IRQ line.

Can you please edit those lines as I wrote?

Thank you

Edited by nosound8976
Posted (edited)

EDIT : I managed somehow to load it in windows.

Now it gives me ACPI BIOS ERROR while loading the system at that is fine because the bootloader load the customized DSDT.

Is it possible to have just the IRQ Edits inside the DSDT.aml file instead having the MACOS patches?

 

        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLA, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {11}
                })
                CreateWordField (RTLA, One, IRQ0)
                IRQ0 = PIRA /* \PIRA */
                Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKB)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x02)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLB, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {10}
                })
                CreateWordField (RTLB, One, IRQ0)
                IRQ0 = PIRB /* \PIRB */
                Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKC)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x03)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLC, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {03}
                })
                CreateWordField (RTLC, One, IRQ0)
                IRQ0 = PIRC /* \PIRC */
                Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKD)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x04)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLD, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {04}
                })
                CreateWordField (RTLD, One, IRQ0)
                IRQ0 = PIRD /* \PIRD */
                Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKE)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x05)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLE, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {05}
                })
                CreateWordField (RTLE, One, IRQ0)
                IRQ0 = PIRE /* \PIRE */
                Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKF)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x06)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLF, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {06}
                })
                CreateWordField (RTLF, One, IRQ0)
                IRQ0 = PIRF /* \PIRF */
                Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }
        Device (LNKG)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x07)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLG, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, )
                        {07}
                })
                CreateWordField (RTLG, One, IRQ0)
                IRQ0 = PIRG /* \PIRG */
                Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
            }
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0B)
            }
        }

DSDT.7z

Edited by nosound8976

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...