Jump to content
sakoula

DSDT patching Q87 I5-4690

Recommended Posts

Hi,


I have an HP Desktop (HP EliteDesk 800 G1 TWR) which has a Q87 chipset and a I5-4690 Haswell processor. It has a 4600 Intel GPU on board, however I have disabled it and used an ASUS GeForce GT 630 4GB. El Capitan is working fine with Clover with the exception of USB3.


I have extracted the stock ACPI tables using clover. However I am facing some issues with compile.


I have used 'ASL+ Optimizing Compiler version 20141107-64 [Jan 2 2015]' to convert DSDT.aml to DSDT.dsl with the command:

./iasl -da -dl SSDT*.aml DSDT.aml

This gives me warning:

 

iASL Warning: There were 17 external control methods found during
disassembly, but only 10 were resolved (7 unresolved). Additional
ACPI tables may be required to properly disassemble the code. The
resulting disassembler output file may not compile because the
disassembler did not know how many arguments to assign to the
unresolved methods.

Then I open the DSDT.aml on MaciASL make a couple of changes:

  • 1. get rid of a number of 'Zero' lines

    2. fix an if block.

 

When I try to compile the code (using ACPI specification 5.1) I get two errors (and many warnings).


I attach the DSL file I got from the decompile. Is it possible to help me with the compilation? What about the '7 unresolved' are they supposed to be resolved somehow or I should just ignore the warning?


Thanks!!!!

and happy new year!

DSDT.zip

Link to comment
Share on other sites

Hi!!!!


Thanks for your help!!!!!

I am trying to understand how you did it.


I noticed that you got rid off

External (_SB_.PCI0.PEG0, UnknownObj)

External (_SB_.PCI0.PEG0.PEGP, UnknownObj)

External (_SB_.PCI0.PEG1, UnknownObj)

External (_SB_.PCI0.PEG2, UnknownObj)


and in the External* statements you have converted FieldUnitObj/IntObj/MethodObj to UnknownObj. Is there a reason for this?


Also I have seen the changes/patches you have applied by diffing the files. Can you please let me know what type of patches you have applied?


I am trying to undestand what needs to be done!!!



Thanks again!

Panagiotis

Link to comment
Share on other sites

Hi!


Thanks again for your help!!!!


I have been looking at the patches you have applied and read around to understand and improve my novice DSDT editing skills :)


I have a four questions on the edits you have applied:


diff 1:

original

    Name (APCB, 0xFEC00000)

your edit

    Name (APCB, 0x0000000FEC000000)

question: Is this valid?


diff 2:

original

  // all instances of this
 Return (Buffer (0x10)
 {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00
 })

your edit

  // turn to this
 Return (Buffer (0x10)
 {
 })

question: Why is this edit? I have noticed a lot of different values inside the Buffer.


diff 3:

original

    Name (PML1, 0x00000846)
   Name (PML2, 0x00000846)
   Name (PML3, 0x00000846)
   Name (PML4, 0x00000846)
   Name (PML5, 0x00000846)
   Name (PML6, 0x00000846)
   Name (PML7, 0x00000846)
   Name (PML8, 0x00000846)
   Name (PNL1, 0x00000846)
   Name (PNL2, 0x00000846)
   Name (PNL3, 0x00000846)
   Name (PNL4, 0x00000846)
   Name (PNL5, 0x00000846)
   Name (PNL6, 0x00000846)
   Name (PNL7, 0x00000846)
   Name (PNL8, 0x00000846)

your edit

    Name (PML1, 0x0846)
   Name (PML2, 0x0846)
   Name (PML3, 0x0846)
   Name (PML4, 0x0846)
   Name (PML5, 0x0846)
   Name (PML6, 0x0846)
   Name (PML7, 0x0846)
   Name (PML8, 0x0846)
   Name (PNL1, 0x0846)
   Name (PNL2, 0x0846)
   Name (PNL3, 0x0846)
   Name (PNL4, 0x0846)
   Name (PNL5, 0x0846)
   Name (PNL6, 0x0846)
   Name (PNL7, 0x0846)
   Name (PNL8, 0x0846)

question: It looks the same to me. Do you have to change it?


diff 4:

original

  // Method (_PS3, 0, Serialized)
 Method (_PS0, 0, Serialized)
 {
     If (LEqual (DVID, 0xFFFF))
     {
         Return (Zero)
     }

     Store (MEMB, Local2)
     Store (PDBM, Local1)
     And (PDBM, 0xFFFFFFFFFFFFFFF9, PDBM)
     Store (D0D3, Local3)
     Store (Zero, D0D3)
     Store (SRMB, MEMB)

your edit

  // Method (_PS3, 0, Serialized)
 Method (_PS0, 0, Serialized)
 {
    If (LEqual (DVID, 0xFFFF)) {}
    Store (MEMB, Local2)
    Store (PDBM, Local1)
    And (PDBM, 0xFFFFFFFFFFFFFFF9, PDBM)
    Store (D0D3, Local3)
    Store (Zero, D0D3)
    Store (SRMB, MEMB)

question: By removing the 'Return (Zero)' you mainly cancel out the if. Is it what you indended?


And one last thing. The motherboard has 'Realtek ALC 221'. Is there any native solution other than Voodoo for audio?



Thanks again for you great great help and happy new year!!!!!

Link to comment
Share on other sites

hello


only remove errors and warnings


to apply the patch ..


sata


usb


lpc


smbus


audio never will be native in a hack .. apple don't use alc .. so must find a patched applehda for ur codec .. or use voodoohda..


u only apply patch u need .. u can see that using ioregisterexplorer.. and see if any device don't load the kext


good hack

PB Easy Note TM 86 - i5 430 M - H55M - Ram - 6 GB - Alc272 - Radeon HD 5470 512 QE/CI

Lenovo G500 - i5 3230m - HM77 - Ram - 8 GB - Conexant audio - HD 4000

My OS X Files 

Link to comment
Share on other sites

hello


only remove errors and warnings


to apply the patch ..


sata


usb


lpc


smbus


audio never will be native in a hack .. apple don't use alc .. so must find a patched applehda for ur codec .. or use voodoohda..


u only apply patch u need .. u can see that using ioregisterexplorer.. and see if any device don't load the kext


good hack

PB Easy Note TM 86 - i5 430 M - H55M - Ram - 6 GB - Alc272 - Radeon HD 5470 512 QE/CI

Lenovo G500 - i5 3230m - HM77 - Ram - 8 GB - Conexant audio - HD 4000

My OS X Files 

Link to comment
Share on other sites

Hi again!


Thanks!


just a quick question: Which ACPI Specification on MaciASL should I use?


4.0

ASL Optimizing Compiler version 20100331 [Dec 31 2012]

Copyright © 2000 - 2010 Intel Corporation

Supports ACPI Specification Revision 4.0


5.0A

ASL Optimizing Compiler version 20131218-64 [Jan 8 2014]

Copyright © 2000 - 2013 Intel Corporation


5.1

ASL Optimizing Compiler version 20140926-64 [Oct 24 2014]

Copyright © 2000 - 2014 Intel Corporation


Or do I have to use a newer iasl version that does not exist in MaciASL and where can I download t from? (https://www.acpica.org/downloads). Does it make any difference?



Thanks again!!!

seb

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.





×
  • Create New...