Jump to content

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


  • Please log in to reply
10 replies to this topic

#1
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,641 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
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.co...0.5-src-AnV.zip

Release for Laptop:
http://rapidshare.co...3-r-MBP.pkg.zip

Release for Desktop:
http://rapidshare.co...C3-r-MP.pkg.zip

ECDT table (should work for all):
http://rapidshare.co...58/ECDT.aml.zip

Enjoy another new release :)

#2
THe KiNG

THe KiNG

    InsanelyMac Legend

  • Retired Developers
  • 778 posts
  • Gender:Male
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.

#3
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,896 posts
  • Gender:Male
  • Location:Stuttgart / Germany
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 ?
Device (EC)
{
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
)
})
Name (_GPE, 0x11)
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)
}
}
}
}
_linenums:0'><strong class='bbc'>Device (EC)</strong> { 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 ) }) <strong class='bbc'> Name (_GPE, 0x11)</strong> 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) } } } }


#4
WinstonAce

WinstonAce

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 315 posts
Does it work with P55?
((cpu_family == 0x06 && (cpu_model == 0x1a || cpu_model == 0x1e)) instead of (cpu_family == 0x06 && cpu_model == 0x1a))
Thanks

#5
Superhai

Superhai

    InsanelyMac Legend

  • Retired Developers
  • 1,425 posts

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.

#6
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,896 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Thanks superhai for embedded clearing :)

#7
CharredPC

CharredPC

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 302 posts
How does one build / acquire a SBST.aml dump to use? I can't find a reference to doing this anywhere.

#8
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male
i've tryed it and gives me KP, i only changed the boot file from chamelon2RC4 and this

#9
Edkroket

Edkroket

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 159 posts
  • Gender:Male
  • Location:Amsterdam
  • Interests:Music, I'm a bass player
Can someone share this Release for Laptop:
http://rapidshare.co...3-r-MBP.pkg.zip

I tried it to download but Rapidshare is too busy!Posted Image

Thanks!

#10
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,641 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
I've also made a Chameleon 2 RC4 version:

Desktop:
http://rapidshare.co...-AnV_MP.pkg.zip

Laptop:
http://rapidshare.co...AnV_MBP.pkg.zip

Sources:
http://rapidshare.co...684-src-AnV.zip

Source diff:
http://rapidshare.co...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.

#11
valv

valv

    InsanelyMac Architect

  • Members
  • PipPipPipPipPipPipPip
  • 910 posts
  • Gender:Male
  • Location:Unrevealed Area
  • Interests:Operating Systems<br />Networking<br />Security
Thank u Andy for ECDT

btw: can we get something like this for SBST also? would it be possible to put one from a real mac ?





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy