Jump to content

P5K PRO - Snow Leopard installation...


  • Please log in to reply
908 replies to this topic

#561
kdawg

kdawg

    InsanelyMac Legend

  • Donators
  • 508 posts
  • Gender:Male
  • Location:Boston, MA

I have been playing with my DSDT and got here:
ASL Input: dsdt-332.dsl - 1380 lines, 53189 bytes, 164 keywords
AML Output: ./dsdt.aml - 2359 bytes, 127 named objects, 37 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Didn't make 2K :)

Still an awesome low 0.066% (down from 35,633 bytes of the factory dsdt.aml) which is what we started to work with -_-

Wow when I complied your last 3.3.1 I got:
ASL Input:3.3.1 dsdt.dsl - 1932 lines, 82499 bytes, 647 keywords
AML Output:3.3.1 dsdt.aml - 6902 bytes, 317 named objects, 330 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Were you really able to squeeze that much more out in 3.3.2, even with removing SBUS and EC?

#562
kdawg

kdawg

    InsanelyMac Legend

  • Donators
  • 508 posts
  • Gender:Male
  • Location:Boston, MA

ASUS chose to not add serial port on P6T6 WS Revolution :)
But I did tested that _DSM code on my Atom board :D
Add it on existing code, not just that...

You wouldn't happen to have the DSDT for the Xserve would you? If so could you post it? The amount of code required to get the serial port working from Gigabyte is enormous. Hoping to compare it against Apple's.

#563
mm67

mm67

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 673 posts
  • Gender:Male
  • Location:Finland

You wouldn't happen to have the DSDT for the Xserve would you? If so could you post it? The amount of code required to get the serial port working from Gigabyte is enormous. Hoping to compare it against Apple's.


i don't think that Xserve dsdt will help you a lot unless it uses the same Super-I/O chip as your board. IT8718F datasheet is probably more useful if you want to try slimming down that code.

#564
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male

Note: I moved my USB device-id's back into com.apple.Boot.plist because that way it is quicker


please tell me more about this, i was aware that only graphics/ethernet could be in com.apple.Boot.plist
Is something related to this:

<key>USBBusFix</key>
<string>Yes</string>


@THe KiNG
You are right about the source code, I (like anybody) have the opportunity to make my ChameleonLite but only knowing how to do it.
Maybe...
Can you tell me how to do it?
If not my only solution is to wait somebody else Lite version, and use the actual without GUI in preferences.
Another option is to install dev tool and start making an "hello world" app, but for the time that I know how to program I think that OsX could be PC compatible directly from Apple

#565
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male

Wow when I complied your last 3.3.1 I got:
ASL Input:3.3.1 dsdt.dsl - 1932 lines, 82499 bytes, 647 keywords
AML Output:3.3.1 dsdt.aml - 6902 bytes, 317 named objects, 330 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Were you really able to squeeze that much more out in 3.3.2, even with removing SBUS and EC?

More even:

ASL Input: dsdt-332.dsl - 1390 lines, 53338 bytes, 164 keywords
AML Output: ./dsdt.aml - 2097 bytes, 127 named objects, 37 executable opcodes

Note: I have taken out – read comment out – everything I don't use/need. Even the unused P0Pn and ditto IRQ assignments, all in an insane attempt to get below the 2000 marker. I also plan to disable and remove all unused UCH[1/6] USB code, which I think will result in far less AML code.

Edit: I am currently adding comments, lots of them, about where how much bytes can be gained. I'll attach it here when I'm done with it.

please tell me more about this, i was aware that only graphics/ethernet could be in com.apple.Boot.plistIs something related to this:

I will after, the usual morning coffee break (I woke up not too long ago). Oops. I forgot a birthday party. Gotta go have that nice big piece of... whatever they have for me now ;)

#566
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male
Okay. So you want to set/change certain properties. Fine. Let's start with a code snippet:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>	<key>PciRoot(0x0)/Pci(0x1A,0x0)</key> //UHC4	<dict>		<key>device-id</key>		<string>0x3a37</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1A,0x1)</key> // UHC5	<dict>		<key>device-id</key>		<string>0x3a38</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1A,0x2)</key> // UHC6	<dict>		<key>device-id</key>		<string>0x3a39</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1a,0x7)</key> // EHCI	<dict>		<key>device-id</key>		<string>0x3a3c</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1D,0x0)</key> // UHC1	<dict>		<key>device-id</key>		<string>0x3a34</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1D,0x1)</key> // UHC2	<dict>		<key>device-id</key>		<string>0x3a35</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1D,0x2)</key> // UHC3	<dict>		<key>device-id</key>		<string>0x3a36</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1D,0x7)</key> // UHCI	<dict>		<key>device-id</key>		<string>0x3a3a</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1F,0x7)</key> // SATA	<dict>		<key>device-id</key>		<string>0x2681</string>	</dict></dict></plist>
This code snippet is the human 'readable' variant, in XML format, but you need to convert it to hex format with gfxutil (search for it). Then add the new device properties with EFIStudio (again search for it). And do a reboot. That's all to it.

This is a good way of fixing device-id's without the need of a DSDT.aml and/or BIOS modification. Especially for people who want/need Windows/Linux compatibility, thus they won't like to change all kind of device ID's or nothing works anymore.

#567
Phoenix Wright

Phoenix Wright

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts
  • Gender:Male
  • Location:Italia
Hi MC, I discovered that the new _PTS method breaks Hibernation (is it S4?). The system just tries to go to normal sleep (S3), the power button light blinks and than it reboots instead of shutting down, the CMOS also resets. I tried with the old _PTS and it works fine.
Just do "sudo pmset -a hibernatemode 1" to get hibernation instead of sleep (use 0 to revert back).
I hope this is easy to fix :wacko:

#568
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male

Hi MC, I discovered that the new _PTS method breaks Hibernation (is it S4?). The system just tries to go to normal sleep (S3), the power button light blinks and than it reboots instead of shutting down, the CMOS also resets. I tried with the old _PTS and it works fine.
Just do "sudo pmset -a hibernatemode 1" to get hibernation instead of sleep (use 0 to revert back).
I hope this is easy to fix :wacko:

Eh... this is broken since when exactly? I mean you wrote: "the old _PTS" not the original or (one of) the previous one. Making it hard for me to verify/reproduce it.

p.s. Yes S4 is hibernation.

#569
Phoenix Wright

Phoenix Wright

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts
  • Gender:Male
  • Location:Italia

Eh... this is broken since when exactly? I mean you wrote: "the old _PTS" not the original or (one of) the previous one. Making it hard for me to verify/reproduce it.

p.s. Yes S4 is hibernation.

With the original one, I couldn't get it to work with all the previous ones.

#570
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male

With the original one, I couldn't get it to work with all the previous ones.

Interesting. Something to check, at a later stage. Let you know when I found the problem, or PM me if I forget about it.

To all: I am about to attach an insanely small – only 2024 bytes – but still fully functional DSDT as an example / a study object only, because I know that people are going to fall over it, jump right in and get back hundreds of times with all sort of complaints, and questions, simply because they don't know what to do with it. Not exactly something I am waiting for, but here we go; compiling...

ASL Input: dsdt.dsl - 1460 lines, 55943 bytes, 152 keywords
AML Output: ./dsdt.aml - 2024 bytes, 121 named objects, 31 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations


Okay. Uploading file from anonymous server... And here it is!

p.s. You'll find comments all over the place, as usual – to let you know where how much bytes were taken off of the AML file.

And as always: Happy Hacking!

Attached Files



#571
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male
I located my audio boot bottleneck. It's caused by AppleHDAPlatformDriver (in AppleHDA.kext Plugins) and specifically its enormous – over 2MB (2.364.890 bytes) – Info.plist.

What I did to "fix" it, as a work around, was to copy the data from my Legacy kext into it, resulting in a much smaller file (only 75236 bytes) and now everything it is cool again. Well. Except for the following – soon to be dog food – sound assertions:

Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDA/AppleHDAWidget.cpp" at line 3641 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDA/AppleHDACodecGeneric.cpp" at line 989 goto handler


And of course... no more: "Waiting for DSMOS..." for me :thumbsup_anim:

#572
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male
Ok I'm now shure that with this new dsdt, anche info about the efi ijection i'll not sleep for a few day :P

I've managed to put usb in my com.apple.Boot.plist and it's working as expected. Now i'll try to put also my lpc device, so in the future update from your dsdt i've une thing less to correct for my mobo.
Also for the usb fix, are you gonna eliminate from the 3.4 dsdt or it was just a test?

As always, thanks for sharing

#573
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male
Aha! Just to let (other) people know: The new Chameleon (RC4) is out. Go get it from chameleon.osx86.hu and give it a try!

Here is a quick Changelog highlight:

Fixed booting the default partition when using timeout. Added Intel Core i5 detection.
Applied rivig’s patch against all stage 1 loaders. Now linear address mapping uses 12 bit offsets. Added DigitalDJ’s SMBIOS CPU detection patch. Applied IntVar’s system-id patch. Applied hnak’s read_lba register saving patch. Added radekg’s HFS filesystem fix to handle 2GB+ file sizes. Backported ATI device injection EFI64 tables and hibernation fix from netkas’ PC_EFI. Thanks and credits goes for them!


#574
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male

Ok I'm now shure that with this new dsdt, anche info about the efi ijection i'll not sleep for a few day :gun:

Sleep is more important. This can wait. Don't forget to sleep in time!

I've managed to put usb in my com.apple.Boot.plist and it's working as expected. Now i'll try to put also my lpc device, so in the future update from your dsdt i've une thing less to correct for my mobo.

You got it. Great!

Also for the usb fix, are you gonna eliminate from the 3.4 dsdt or it was just a test?

Like I said: I am not trying to get the smallest possible DSDT ever, but the next update will however include a number of patches from the "insane DSDT". Of course, but not all of it.

BTW: My first goal was to satisfy my own curiosity about ACPI coding. And because of this I was able to lower the barrier for other people. For non-developers, people like yourself. Or at least that's what I hear from people PM'ing me.

I'm also trying to change the way (some) people think about (code) sharing. Which I think is the biggest asset of my work. Sharing. I mean without sharing we would have been... nowhere. Right?

And I don't know everything. Of course not. Sometimes I have to search and think hard to get something done. And this next to other work (hello Mozilla). Not being afraid to make mistakes is a plus. Probably because mistakes are just that. Mistakes. No wrong doing whatsoever. I mean; Aren't we all learning something new here?

Sorry. Had to get something off my chest. Done!

#575
kdawg

kdawg

    InsanelyMac Legend

  • Donators
  • 508 posts
  • Gender:Male
  • Location:Boston, MA

Okay. So you want to set/change certain properties. Fine. Let's start with a code snippet:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>	<key>PciRoot(0x0)/Pci(0x1A,0x0)</key> //UHC4	<dict>		<key>device-id</key>		<string>0x3a37</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1A,0x1)</key> // UHC5	<dict>		<key>device-id</key>		<string>0x3a38</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1A,0x2)</key> // UHC6	<dict>		<key>device-id</key>		<string>0x3a39</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1a,0x7)</key> // EHCI	<dict>		<key>device-id</key>		<string>0x3a3c</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1D,0x0)</key> // UHC1	<dict>		<key>device-id</key>		<string>0x3a34</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1D,0x1)</key> // UHC2	<dict>		<key>device-id</key>		<string>0x3a35</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1D,0x2)</key> // UHC3	<dict>		<key>device-id</key>		<string>0x3a36</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1D,0x7)</key> // UHCI	<dict>		<key>device-id</key>		<string>0x3a3a</string>	</dict>	<key>PciRoot(0x0)/Pci(0x1F,0x7)</key> // SATA	<dict>		<key>device-id</key>		<string>0x2681</string>	</dict></dict></plist>
This code snippet is the human 'readable' variant, in XML format, but you need to convert it to hex format with gfxutil (search for it). Then add the new device properties with EFIStudio (again search for it). And do a reboot. That's all to it.

This is a good way of fixing device-id's without the need of a DSDT.aml and/or BIOS modification. Especially for people who want/need Windows/Linux compatibility, thus they won't like to change all kind of device ID's or nothing works anymore.


This is an interesting approach. Just so people know. If you're looking for the PCI address of ANY of your devices not just your GFX card. All you have to do is use the command
./gfxutil -f pci8086,3a34
it should spit out something like:
DevicePath = PciRoot(0x1)/Pci(0x1d,0x0)

Just change he device ID of the one you want the address for. And if you don't know how to get your device IDs... use lcspi.

#576
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male

This is an interesting approach. Just so people know. If you're looking for the PCI address of ANY of your devices not just your GFX card. All you have to do is use the command

./gfxutil -f pci8086,3a34
it should spit out something like:
DevicePath = PciRoot(0x1)/Pci(0x1d,0x0)

Or simply use something like:

gfxutil -f ethernet
gfxutil -f lan0
gfxutil -f display
gfxutil -f EHCI
gfxutil -f UHCI
gfxutil -f UHCn
gfxutil -f hdef

In either lower or uppercase.

#577
kdawg

kdawg

    InsanelyMac Legend

  • Donators
  • 508 posts
  • Gender:Male
  • Location:Boston, MA

Sleep is more important. This can wait. Don't forget to sleep in time!


You got it. Great!


Like I said: I am not trying to get the smallest possible DSDT ever, but the next update will however include a number of patches from the "insane DSDT". Of course, but all of it.

BTW: My first goal was to satisfy my own curiosity about ACPI coding. And because of this I was able to lower the barrier for other people. For non-developers, people like yourself. Or at least that's what I hear from people PM'ing me.

I'm also trying to change the way (some) people think about (code) sharing. Which I think is the biggest asset of my work. Sharing. I mean without sharing we would have been... nowhere. Right?

And I don't know everything. Of course not. Sometimes I have to search and think hard to get something done. And this next to other work (hello Mozilla). Not being afraid to make mistakes is a plus. Probably because mistakes are just that. Mistakes. No wrong doing whatsoever. I mean; Aren't we all learning something new here?

Sorry. Had to get something off my chest. Done!


With every mistake something is learned.

#578
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male
Ok so it's a couple of day that i'm thinking about the usb patch
for what i see there are 6 portion of code that are identical

Name (_ADR, 0x001D0000)
Name (_PRW, Package (0x02)
{
0x03,
0x04
})
Name (_S3D, 0x02)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}

Method (_PSW, 1, NotSerialized)
{
Multiply (0x03, Arg0, USBW)
}
} _linenums:0'>Device (UHC0) { Name (_ADR, 0x001D0000) Name (_PRW, Package (0x02) { 0x03, 0x04 }) Name (_S3D, 0x02) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_PSW, 1, NotSerialized) { Multiply (0x03, Arg0, USBW) } }

the red part change for every USB but the black not. So i think that is possible to put a method similar to:

Method (MCID, 2, NotSerialized)
or something like the alias for the CPU
where can i start to find info about implementing this by myself?

#579
DB1

DB1

    InsanelyMac Sage

  • Donators
  • 407 posts

Ok so it's a couple of day that i'm thinking about the usb patch
for what i see there are 6 portion of code that are identical

Name (_ADR, 0x001D0000)
Name (_PRW, Package (0x02)
{
0x03,
0x04
})
Name (_S3D, 0x02)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}

Method (_PSW, 1, NotSerialized)
{
Multiply (0x03, Arg0, USBW)
}
} _linenums:0'>Device (UHC0) { Name (_ADR, 0x001D0000) Name (_PRW, Package (0x02) { 0x03, 0x04 }) Name (_S3D, 0x02) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_PSW, 1, NotSerialized) { Multiply (0x03, Arg0, USBW) } }

the red part change for every USB but the black not. So i think that is possible to put a method similar to:

Method (MCID, 2, NotSerialized)
or something like the alias for the CPU
where can i start to find info about implementing this by myself?


Have a look at the "Insane dsdt" you'll see you end up with this for UHC's

Name (_ADR, 0x001D0000)
Name (_PRW, Package (0x02)
{
0x03,
0x04

})
}

Device (UHC2)
{
Name (_ADR, 0x001D0001)
Name (_PRW, Package (0x02)
{
0x04,
0x04

})
}

Device (UHC3)
{
Name (_ADR, 0x001D0002)
Name (_PRW, Package (0x02)
{
0x0C,
0x04

})
}

Device (UHC4)
{
Name (_ADR, 0x001A0000)
Name (_PRW, Package (0x02)
{
0x0E,
0x04

})
}

Device (UHC5)
{
Name (_ADR, 0x001A0001)
Name (_PRW, Package (0x02)
{
0x05,
0x04

})
}

Device (UHC6)
{
Name (_ADR, 0x001A0002)
Name (_PRW, Package (0x02)
{
0x20,
0x04

})
}
}
_linenums:0'>Device (UHC1) { Name (_ADR, 0x001D0000) Name (_PRW, Package (0x02) { 0x03, 0x04 }) } Device (UHC2) { Name (_ADR, 0x001D0001) Name (_PRW, Package (0x02) { 0x04, 0x04 }) } Device (UHC3) { Name (_ADR, 0x001D0002) Name (_PRW, Package (0x02) { 0x0C, 0x04 }) } Device (UHC4) { Name (_ADR, 0x001A0000) Name (_PRW, Package (0x02) { 0x0E, 0x04 }) } Device (UHC5) { Name (_ADR, 0x001A0001) Name (_PRW, Package (0x02) { 0x05, 0x04 }) } Device (UHC6) { Name (_ADR, 0x001A0002) Name (_PRW, Package (0x02) { 0x20, 0x04 }) } }

It's not just the address that changes and this code is short enough anyways.

To all: I am about to attach an insanely small – only 2024 bytes – but still fully functional DSDT as an example / a study object only, because I know that people are going to fall over it, jump right in and get back hundreds of times with all sort of complaints, and questions, simply because they don't know what to do with it. Not exactly something I am waiting for, but here we go; compiling...


No complaints here it works for me on VM. Excellent work Chief - thanks for your hard work.

Anyone else notice if you use GraphicsEnabler in Boot.plist with Chameleon boot then insert a device-property string the graphics fail.i.e seems they wont work in combination (at least for me in Cham4 or with PCEFI 5). Had to combine graphics string with the device id's to get things working. Oh and I left HDEF in the dsdt rather than hack about in the kexts.

#580
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male
Ok now i see the id that i was missing... thanks





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