Jump to content

PC EFI 10.5 AnV Style with major updates to the ACPI Patcher


Andy Vandijck
 Share

11 posts in this topic

Recommended Posts

I have recently reworked PC EFI 10.5 so it can replace/add more tables (or drop them)

They also have been updated with Apple data (identification set the same as real macs).

The following ACPI tables can be added/replaced/dropped:

DSDT table (ofcourse, but not dropable!)

SSDT tables (SSDT-0.aml to SSDT-30.aml)

HPET table (HPET.aml)

Smart Battery Subsystem Table (SBST.aml)

Environment Controller Description Table (ECDT.aml) (this adds boot-ec to IORegistry!)

Alert Standard Format Table (ASFT.aml, identified as ASF!)

DMAR table (DMAR.aml)

 

-*- Downloads -*-

Sources:

http://rapidshare.com/files/325667756/Cham...0.5-src-AnV.zip

 

Release for Laptop:

http://rapidshare.com/files/325671285/Cham...3-r-MBP.pkg.zip

 

Release for Desktop:

http://rapidshare.com/files/325675988/Cham...C3-r-MP.pkg.zip

 

ECDT table (should work for all):

http://rapidshare.com/files/325673058/ECDT.aml.zip

 

Enjoy another new release :)

Link to comment
Share on other sites

Good job!

A small hint:

ECDT.aml should be open with a hex editor and @ offset 40h "GPE Number : 11" should be replaced with coresponding one from DSDT, in my case is 1C.

After that correct the checksum, if you don't know what value to use iasl to decompile new table, it will say the correct value to use and where(the offset):

[009h 0009 1] Checksum : 3F /* Incorrect checksum, should be 34 */

Also make sure the Namepath : "\_SB.PCI0.LPCB.EC" is same in your DSDT.

Link to comment
Share on other sites

Thanks !

 

Some more information about

* Environment Controller Description Table (ECDT.aml) (this adds boot-ec to IORegistry!)

* Alert Standard Format Table (ASFT.aml, identified as ASF!)

* DMAR table (DMAR.aml)

would be nice.

 

My BIOS (EP35) has only DSDT, SSDT, MCFG and FACP Tables - never heared about those above.

Or are they Mac EFI things and not in normal BIOS ?

Are all three above for desktop or mobile ?

 

 

ECDT

GPE Number : 11

Namepath : "\_SB.PCI0.LPCB.EC"

 

 

For me (EP35-DS3) Name (_GPE, 0x11) seems to be correct ?

 [b]Device (EC)[/b]
               {
                   Name (_HID, EisaId ("PNP0C09"))
                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0062,             // Range Minimum
                           0x0062,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0066,             // Range Minimum
                           0x0066,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                   })
                [b]   Name (_GPE, 0x11)[/b]
                   Name (_PRW, Package (0x02)
                   {
                       0x0D, 
                       0x03
                   })
                   Name (ECOK, Zero)
                   OperationRegion (ECOR, EmbeddedControl, Zero, 0xFF)
                   Field (ECOR, ByteAcc, Lock, Preserve)
                   {
                       ECVS,   8, 
                       LSTE,   1, 
                       RPWR,   1, 
                       CDIN,   1, 
                               Offset (0x02), 
                       LWAK,   1, 
                       ACWK,   1, 
                       CDWK,   1, 
                               Offset (0x03), 
                       G3HT,   1, 
                               Offset (0x04), 
                               Offset (0x10), 
                       ECSS,   8, 
                       PLIM,   8, 
                               Offset (0x20), 
                       SPTR,   8, 
                       SSTS,   8, 
                       SADR,   8, 
                       SCMD,   8, 
                       SBFR,   256, 
                       SCNT,   8, 
                       SAAD,   8, 
                       SAD0,   8, 
                       SAD1,   8, 
                       SMUX,   8
                   }

                   Method (_Q5A, 0, NotSerialized)
                   {
                       Notify (PWRB, 0x80)
                   }

                   Method (_Q80, 0, NotSerialized)
                   {
                       PNOT ()
                   }

                   Method (_REG, 2, NotSerialized)
                   {
                       If (LEqual (Arg0, 0x03))
                       {
                           Store (Arg1, ECOK)
                           If (LEqual (Arg1, One))
                           {
                               Store (Zero, ECSS)
                           }
                       }
                   }
               }

Link to comment
Share on other sites

My BIOS (EP35) has only DSDT, SSDT, MCFG and FACP Tables - never heared about those above.

Or are they Mac EFI things and not in normal BIOS ?

Are all three above for desktop or mobile ?

ECDT is the Embedded Controller Boot Resources Table. (Why is it so hard to write EMBEDDED?) It is mostly useful if you have a smart battery connected to the EC. It is of course useful only if you have a EC device (unless you plan to virtualize one). Most new laptops do, and some desktops too. You find information in the ACPI spec.

 

ASF is a DMTF extended spec to ACPI (also includes key 129 to SMBIOS) Alert Standard Format. I don't see the usefulness of adding it to chameleon, it is designed to provide table information to an ASF enabled system. And is a low level system for communication with devices and network during situation where OS has no or only partial control. Like during sleep and init or when an OS is not booted. I guess it is needed for the watchdog timer on the mac, but can be used for remote monitoring of a computers health and status.

 

DMAR is an Intel extension and is a table for remapping of DMA resources. It is used for Intels technology for virtualizing direct I/O requests. You find more information at Intels web. Suffice to say, don't bother if you don't know what this is.

Link to comment
Share on other sites

  • 1 month later...

I've also made a Chameleon 2 RC4 version:

 

Desktop:

http://rapidshare.com/files/344033389/Cham...-AnV_MP.pkg.zip

 

Laptop:

http://rapidshare.com/files/344033201/Cham...AnV_MBP.pkg.zip

 

Sources:

http://rapidshare.com/files/344033894/Cham...684-src-AnV.zip

 

Source diff:

http://rapidshare.com/files/344032081/Cham...ements.diff.zip

 

If you want to try it with Chameleon 2 RC5-pre7 just do an svn checkout of the Chameleon forge site and compile my branch (branches/andyvand).

We are working hard (me and the Chameleon team) to do an optimized implement of various things including this in the next version of Chameleon 2.

Link to comment
Share on other sites

  • 3 weeks later...
 Share

×
×
  • Create New...