Jump to content

5970 on Mavericks 10.9


romaincs
 Share

41 posts in this topic

Recommended Posts

Hello all !

 

#22 - Here are the kext to make 5970 QE/CI working on Mavericks (13A603). It remains little issue but still working on it.

 

Update 07/05/2014 : #38 - Kexts for 10.9.4

 

I'm trying to make ATI Radeon 5970 working in Mavericks.

 

I used to make it works on all ML versions with this steps :

 

1. Add AtiConfig=Uakari to org.chameleon.boot.plist with GE=No (I use chimera 2.0.1 and DVD player is ok)
2. Add pcidevvendorid (0x689C1002) in IOPCIMatch of AMDRadeonAccelerator.kext under Cypress section and in Ati5000Controller.kext Info.plist files.
3. Add IOPCIClassMatch key with 0x03000000&0xFFFF0000 as string value in the two files I edited in step 2 (see code below)

 

<key>IOPCIMatch</key>
<string>0x689C1002</string>
<key>IOPCIClassMatch</key>
<string>0x03000000&0xFFFF0000</string>

I try to follow thoses steps to make it works on 10.9 with no luck, with or without IOPCIClassMatch key/value...

 

When widowserver loads, the screen bump a bit and then everything freeze...

 

Please help !! :(

Link to comment
Share on other sites

Thanks for reading,

 

Yes, I forgot to mention that I edited "AMD5000Controller.kext" as "ATI5000Controller.kext" and "AMDRadeonX3000.kext" as "AMDRadeonAccelerator.kext".

 

I'm not realy familiar with FB things. In ML, when I used AtiConfig=Uakari and added ID under cypress, which FB does it used ? I'm asking myself if they did not moved the FB in another kext like X4000 one.... ?

Link to comment
Share on other sites

10.8

 sudo kextstat | grep AMD

63 2 0xffffff7f80ba9000 0x1d8000 0x1d8000 com.apple.kext.AMDSupport (8.0.0) <62 10 9 7 5 4 3 1>

64 0 0xffffff7f80d81000 0x41000 0x41000 com.apple.kext.AMD5000Controller (8.0.0) <63 62 10 9 5 4 3 1>

75 0 0xffffff7f80e62000 0x3cd000 0x3cd000 com.apple.AMDRadeonAccelerator (1.0.0) <74 73 62 10 7 5 4 3 1>

77 0 0xffffff7f812ca000 0x13000 0x13000 com.apple.kext.AMDFramebuffer (8.0.0) <63 62 10 9 7 5 4 3 1>

 
10.9
 

 sudo kextstat | grep AMD

 

   69    2 0xffffff7f81a98000 0x7a000    0x7a000    com.apple.kext.AMDSupport (1.1.4) <68 67 11 10 7 5 4 3 1>

   70    0 0xffffff7f82018000 0x1d0000   0x1d0000   com.apple.kext.AMD5000Controller (1.1.4) <69 67 11 10 5 4 3 1>

   84    0 0xffffff7f81b77000 0x3a1000   0x3a1000   com.apple.AMDRadeonX3000 (1.1.4) <83 67 11 7 5 4 3 1>

   96    0 0xffffff7f81ffc000 0x14000    0x14000    com.apple.kext.AMDFramebuffer (1.1.4) <69 67 11 10 7 5 4 3 1>

 

Framebuffer: Mine

 

LocalHost:~ iFire$ ioreg | grep ATY

    | |   |   | +-o ATY,Vervet@0  <class AtiFbStub, id 0x100000365, registered, matched, active, busy 0 (5 ms), retain 8>

    | |   |   | | +-o ATY_Vervet  <class AMDFramebuffer, id 0x100000369, registered, matched, active, busy 0 (4 ms), retain 19>

    | |   |   | +-o ATY,Vervet@1  <class AtiFbStub, id 0x100000366, registered, matched, active, busy 0 (0 ms), retain 8>

    | |   |   | | +-o ATY_Vervet  <class AMDFramebuffer, id 0x10000036f, registered, matched, active, busy 0 (0 ms), retain 15>

    | |   |   | +-o ATY,Vervet@2  <class AtiFbStub, id 0x100000367, registered, matched, active, busy 0 (0 ms), retain 8>

    | |   |   | | +-o ATY_Vervet  <class AMDFramebuffer, id 0x100000375, registered, matched, active, busy 0 (0 ms), retain 15>

    | |   |   | +-o ATY,Vervet@3  <class AtiFbStub, id 0x100000368, registered, matched, active, busy 0 (0 ms), retain 8>

    | |   |   | | +-o ATY_Vervet  <class AMDFramebuffer, id 0x10000037b, registered, matched, active, busy 0 (0 ms), retain 15>

Link to comment
Share on other sites

Your ioreg output is with you 5770 right ?

 

my output on 10.8.5 is :

    | |   |       |   | +-o ATY,ATY,RadeonFramebuffer@0  <class AtiFbStub, id 0x1000002aa, registered, matched, active, busy 0 (3 ms), retain 8>
    | |   |       |   | | +-o ATY_ATY,RadeonFramebuffer  <class AMDFramebuffer, id 0x1000002ad, registered, matched, active, busy 0 (2 ms), retain 18>
    | |   |       |   | +-o ATY,ATY,RadeonFramebuffer@1  <class AtiFbStub, id 0x1000002ab, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |       |   | | +-o ATY_ATY,RadeonFramebuffer  <class AMDFramebuffer, id 0x1000002b5, registered, matched, active, busy 0 (0 ms), retain 14>
    | |   |       |   | +-o ATY,ATY,RadeonFramebuffer@2  <class AtiFbStub, id 0x1000002ac, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |       |   | | +-o ATY_ATY,RadeonFramebuffer  <class AMDFramebuffer, id 0x1000002bb, registered, matched, active, busy 0 (0 ms), retain 14>

well, here you use  the default Framebuffer, not Uakari that is to your card

Link to comment
Share on other sites

QE/CI are working great by the way... What are you telling me ? :rolleyes:

 

Ok, I removed the bootloader flags AtiConfig/AtiPorts, it's still working good.

 

That said, I added my devid under Cypress personality so... Am I missing something ? Why does it use the "DefaultFramebuffer" ?

Link to comment
Share on other sites

Here the list generated by the personality script :

Kext /System/Library/Extensions/ATI4800Controller.kext/Contents/MacOS/AMD4800Controller
Personality: Cardinal
ConnectorInfo count in decimal: 2
Disk offset in decimal 539952
0000000 00 02 00 00 14 02 00 00 00 01 00 00 01 01 01 04
0000010 04 00 00 00 14 02 00 00 00 01 00 00 00 10 02 03
0000020
Personality: MotMot
ConnectorInfo count in decimal: 2
Disk offset in decimal 539984
0000000 00 04 00 00 04 01 00 00 00 01 00 00 10 00 02 03
0000010 04 00 00 00 14 02 00 00 00 01 00 00 01 11 01 04
0000020
Personality: Quail
ConnectorInfo count in decimal: 3
Disk offset in decimal 540016
0000000 02 00 00 00 40 00 00 00 09 01 00 00 22 01 00 07
0000010 02 00 00 00 00 01 00 00 09 01 00 00 20 01 03 04
0000020 00 04 00 00 04 03 00 00 00 01 00 00 10 00 02 03
0000030
Kext /System/Library/Extensions/ATI5000Controller.kext/Contents/MacOS/AMD5000Controller
Personality: Douc
ConnectorInfo count in decimal: 2
Disk offset in decimal 591136
0000000 02 00 00 00 00 05 00 00 09 03 00 00 21 03 02 02
0000010 00 04 00 00 04 02 00 00 00 03 00 00 11 02 01 01
0000020
Personality: Langur
ConnectorInfo count in decimal: 3
Disk offset in decimal 591184
0000000 00 04 00 00 04 06 00 00 00 01 00 00 21 03 04 02
0000010 00 04 00 00 04 06 00 00 00 01 00 00 11 02 01 01
0000020 04 00 00 00 14 02 00 00 00 01 00 00 02 04 05 03
0000030
Personality: Uakari
ConnectorInfo count in decimal: 4
Disk offset in decimal 591232
0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 01
0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 03
0000020 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 05
0000030 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 04
0000040
Personality: Zonalis
ConnectorInfo count in decimal: 6
Disk offset in decimal 591296
0000000 00 04 00 00 04 06 00 00 00 71 00 00 20 01 06 06
0000010 00 04 00 00 04 06 00 00 00 71 00 00 10 00 05 05
0000020 00 04 00 00 04 06 00 00 00 71 00 00 21 03 02 04
0000030 00 04 00 00 04 06 00 00 00 71 00 00 11 02 01 03
0000040 00 04 00 00 04 06 00 00 00 71 00 00 22 05 04 02
0000050 00 04 00 00 04 06 00 00 00 71 00 00 12 04 03 01
0000060
Personality: Alouatta
ConnectorInfo count in decimal: 4
Disk offset in decimal 591392
0000000 02 00 00 00 00 01 00 00 09 01 00 00 12 04 03 03
0000010 00 04 00 00 04 06 00 00 00 71 00 00 11 02 01 01
0000020 00 04 00 00 04 06 00 00 00 71 00 00 21 03 02 02
0000030 00 04 00 00 04 06 00 00 00 71 00 00 22 05 04 04
0000040
Personality: Hoolock
ConnectorInfo count in decimal: 3
Disk offset in decimal 591456
0000000 00 04 00 00 04 06 00 00 00 01 00 00 21 03 05 01
0000010 00 04 00 00 04 06 00 00 00 01 00 00 11 02 04 02
0000020 04 00 00 00 14 02 00 00 00 01 00 00 02 04 01 03
0000030
Personality: Vervet
ConnectorInfo count in decimal: 4
Disk offset in decimal 591504
0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 02
0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 04
0000020 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 03
0000030 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 01
0000040
Personality: Baboon
ConnectorInfo count in decimal: 3
Disk offset in decimal 591568
0000000 04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 03
0000010 00 08 00 00 00 02 00 00 00 71 00 00 22 05 02 01
0000020 10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 02
0000030
Personality: Eulemur
ConnectorInfo count in decimal: 3
Disk offset in decimal 591616
0000000 04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 04
0000010 00 08 00 00 00 02 00 00 00 71 00 00 12 04 04 02
0000020 10 00 00 00 10 00 00 00 00 00 00 00 00 10 00 01
0000030
Personality: Galago
ConnectorInfo count in decimal: 2
Disk offset in decimal 591664
0000000 02 00 00 00 00 01 00 00 09 03 00 00 21 03 02 02
0000010 00 04 00 00 04 06 00 00 00 73 00 00 11 02 01 01
0000020
Personality: Colobus
ConnectorInfo count in decimal: 2
Disk offset in decimal 591712
0000000 02 00 00 00 00 01 00 00 09 03 00 00 21 03 02 02
0000010 00 04 00 00 04 06 00 00 00 73 00 00 11 02 01 01
0000020
Personality: Mangabey
ConnectorInfo count in decimal: 2
Disk offset in decimal 591760
0000000 02 00 00 00 40 00 00 00 09 01 00 00 00 00 00 03
0000010 00 04 00 00 04 06 00 00 00 73 00 00 11 02 01 01
0000020
Personality: Nomascus
ConnectorInfo count in decimal: 4
Disk offset in decimal 591808
0000000 02 00 00 00 40 00 00 00 09 01 00 00 00 00 00 05
0000010 02 00 00 00 00 01 00 00 09 03 00 00 12 04 03 03
0000020 00 04 00 00 04 06 00 00 00 73 00 00 11 02 01 01
0000030 00 04 00 00 04 07 00 00 00 73 00 00 21 03 02 02
0000040
Personality: Orangutan
ConnectorInfo count in decimal: 2
Disk offset in decimal 591888
0000000 02 00 00 00 40 00 00 00 09 01 00 00 00 00 00 05
0000010 00 04 00 00 04 06 00 00 00 73 00 00 11 02 01 01
0000020
Kext /System/Library/Extensions/ATI6000Controller.kext/Contents/MacOS/AMD6000Controller
Personality: Pithecia
ConnectorInfo count in decimal: 2
Disk offset in decimal 604736
0000000 00 04 00 00 04 03 00 00 00 01 00 00 21 03 02 04
0000010 04 00 00 00 14 02 00 00 00 01 00 00 00 00 04 03
0000020
Personality: Bulrushes
ConnectorInfo count in decimal: 6
Disk offset in decimal 604768
0000000 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01
0000010 00 04 00 00 04 03 00 00 00 01 00 00 21 03 02 02
0000020 00 04 00 00 04 03 00 00 00 01 00 00 12 04 03 03
0000030 00 04 00 00 04 03 00 00 00 01 00 00 22 05 04 04
0000040 00 04 00 00 04 03 00 00 00 01 00 00 10 00 05 05
0000050 00 04 00 00 04 03 00 00 00 01 00 00 20 01 06 06
0000060
Personality: Cattail
ConnectorInfo count in decimal: 4
Disk offset in decimal 604864
0000000 02 00 00 00 40 00 00 00 29 05 00 00 00 00 00 05
0000010 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01
0000020 00 04 00 00 00 01 00 00 00 09 10 00 21 03 02 02
0000030 00 04 00 00 00 01 00 00 00 09 10 00 12 04 03 03
0000040
Personality: Hydrilla
ConnectorInfo count in decimal: 5
Disk offset in decimal 604928
0000000 02 00 00 00 00 01 00 00 09 01 00 00 12 04 03 03
0000010 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01
0000020 00 04 00 00 00 01 00 00 00 09 10 00 21 03 02 02
0000030 00 04 00 00 00 01 00 00 00 09 10 00 22 05 05 04
0000040 00 04 00 00 04 03 00 00 00 01 00 00 10 00 04 05
0000050
Personality: Duckweed
ConnectorInfo count in decimal: 4
Disk offset in decimal 605008
0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01
0000010 00 04 00 00 04 03 00 00 00 01 00 00 22 05 05 02
0000020 00 08 00 00 04 02 00 00 00 01 00 00 11 02 03 04
0000030 00 02 00 00 14 02 00 00 00 01 00 00 00 00 06 05
0000040
Personality: Fanwort
ConnectorInfo count in decimal: 4
Disk offset in decimal 605072
0000000 02 00 00 00 40 00 00 00 29 05 00 00 00 00 00 04
0000010 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01
0000020 00 04 00 00 00 01 00 00 00 09 10 00 21 03 02 02
0000030 00 04 00 00 00 01 00 00 00 09 10 00 12 04 03 03
0000040
Personality: Elodea
ConnectorInfo count in decimal: 5
Disk offset in decimal 605136
0000000 02 00 00 00 00 01 00 00 09 01 00 00 12 04 03 03
0000010 00 04 00 00 04 03 00 00 00 01 00 00 10 00 05 05
0000020 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01
0000030 00 04 00 00 00 01 00 00 00 09 10 00 21 03 02 02
0000040 00 04 00 00 00 01 00 00 00 09 10 00 22 05 04 04
0000050
Personality: Kudzu
ConnectorInfo count in decimal: 2
Disk offset in decimal 605216
0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 03 03
0000010 00 08 00 00 04 02 00 00 00 01 00 00 11 02 01 01
0000020
Personality: Gibba
ConnectorInfo count in decimal: 5
Disk offset in decimal 605248
0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 05 01
0000010 00 04 00 00 04 03 00 00 00 01 00 00 22 05 04 02
0000020 00 08 00 00 04 02 00 00 00 01 00 00 11 02 06 04
0000030 00 02 00 00 14 02 00 00 00 01 00 00 00 00 03 05
0000040 04 00 00 00 04 02 00 00 00 01 00 00 11 02 01 03
0000050
Personality: Lotus
ConnectorInfo count in decimal: 3
Disk offset in decimal 605328
0000000 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01
0000010 00 08 00 00 04 02 00 00 00 01 00 00 22 05 04 04
0000020 00 04 00 00 00 01 00 00 00 01 00 00 21 03 02 02
0000030
Personality: Ipomoea
ConnectorInfo count in decimal: 3
Disk offset in decimal 605376
0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 01 05
0000010 00 08 00 00 04 02 00 00 00 01 00 00 11 02 04 03
0000020 10 00 00 00 10 00 00 00 00 01 00 00 00 00 00 02
0000030
Personality: Muskgrass
ConnectorInfo count in decimal: 4
Disk offset in decimal 605424
0000000 00 04 00 00 04 03 00 00 00 01 01 00 11 02 01 01
0000010 00 04 00 00 00 01 00 00 00 09 12 00 21 03 02 02
0000020 00 04 00 00 00 01 00 00 00 09 13 00 22 05 04 04
0000030 00 08 00 00 04 02 00 00 00 01 04 00 12 04 03 03
0000040
Personality: Juncus
ConnectorInfo count in decimal: 4
Disk offset in decimal 605488
0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 03 03
0000010 00 04 00 00 04 03 00 00 00 01 00 00 10 00 04 05
0000020 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01
0000030 00 04 00 00 04 03 00 00 00 01 00 00 21 03 02 02
0000040
Personality: Osmunda
ConnectorInfo count in decimal: 4
Disk offset in decimal 605552
0000000 02 00 00 00 00 01 00 00 29 05 01 00 10 00 05 05
0000010 00 04 00 00 04 03 00 00 00 09 02 00 11 02 01 01
0000020 00 04 00 00 04 03 00 00 00 09 03 00 21 03 02 02
0000030 00 08 00 00 04 02 00 00 00 01 04 00 12 04 03 03
0000040
Personality: Pondweed
ConnectorInfo count in decimal: 3
Disk offset in decimal 605616
0000000 02 00 00 00 00 01 00 00 09 01 01 00 10 00 05 05
0000010 00 04 00 00 04 03 00 00 00 01 02 00 11 02 01 01
0000020 00 04 00 00 04 03 00 00 00 01 03 00 21 03 02 02
0000030
Personality: Spikerush
ConnectorInfo count in decimal: 4
Disk offset in decimal 605664
0000000 02 00 00 00 40 00 00 00 29 05 01 00 00 00 00 05
0000010 00 04 00 00 04 03 00 00 00 01 02 00 11 02 01 01
0000020 00 04 00 00 00 01 00 00 00 09 02 00 21 03 02 02
0000030 00 04 00 00 00 01 00 00 00 09 03 00 12 04 03 03
0000040
Personality: Typha
ConnectorInfo count in decimal: 5
Disk offset in decimal 605728
0000000 00 04 00 00 04 03 00 00 00 01 01 00 11 02 04 01
0000010 00 04 00 00 04 03 00 00 00 01 02 00 21 03 05 02
0000020 00 04 00 00 00 01 00 00 00 09 03 00 10 00 02 05
0000030 00 04 00 00 00 01 00 00 00 09 04 00 20 01 03 06
0000040 04 00 00 00 14 02 00 00 00 01 05 00 02 04 01 03
0000050
Kext /System/Library/Extensions/ATI7000Controller.kext/Contents/MacOS/AMD7000Controller
Personality: Aji
ConnectorInfo count in decimal: 4
Disk offset in decimal 608736
0000000 00 04 00 00 04 03 00 00 00 01 01 00 12 04 05 01
0000010 00 04 00 00 04 03 00 00 00 01 02 00 22 05 04 02
0000020 04 00 00 00 14 02 00 00 00 01 03 00 00 00 03 06
0000030 00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 04
0000040
Personality: Buri
ConnectorInfo count in decimal: 4
Disk offset in decimal 608800
0000000 02 00 00 00 00 01 00 00 29 05 01 00 10 00 05 05
0000010 00 04 00 00 04 03 00 00 00 09 02 00 11 02 01 01
0000020 00 04 00 00 04 03 00 00 00 09 03 00 21 03 02 02
0000030 00 08 00 00 04 02 00 00 00 01 04 00 12 04 03 03
0000040
Personality: Chutoro
ConnectorInfo count in decimal: 5
Disk offset in decimal 608864
0000000 02 00 00 00 00 01 00 00 09 01 01 00 12 04 03 03
0000010 00 04 00 00 04 03 00 00 00 01 02 00 11 02 01 01
0000020 00 04 00 00 00 01 00 00 00 09 03 00 21 03 02 02
0000030 00 04 00 00 00 01 00 00 00 09 04 00 22 05 04 04
0000040 00 04 00 00 04 03 00 00 00 01 05 00 10 00 05 05
0000050
Personality: Dashimaki
ConnectorInfo count in decimal: 4
Disk offset in decimal 608944
0000000 00 04 00 00 04 03 00 00 00 01 01 00 12 04 02 02
0000010 00 04 00 00 04 03 00 00 00 01 02 00 22 05 03 05
0000020 04 00 00 00 14 02 00 00 00 01 03 00 00 00 04 04
0000030 00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 01
0000040
Personality: Ebi
ConnectorInfo count in decimal: 5
Disk offset in decimal 609008
0000000 02 00 00 00 00 01 00 00 09 01 01 00 12 04 03 03
0000010 00 04 00 00 04 03 00 00 00 01 02 00 11 02 01 01
0000020 00 04 00 00 00 01 00 00 00 09 03 00 21 03 02 02
0000030 00 04 00 00 00 01 00 00 00 09 04 00 22 05 04 04
0000040 00 04 00 00 04 03 00 00 00 01 05 00 10 00 05 05
0000050
Personality: Gari
ConnectorInfo count in decimal: 5
Disk offset in decimal 609088
0000000 02 00 00 00 00 01 00 00 09 01 01 00 12 04 03 03
0000010 00 04 00 00 04 03 00 00 00 01 02 00 11 02 01 01
0000020 00 04 00 00 00 01 00 00 00 09 03 00 21 03 02 02
0000030 00 04 00 00 00 01 00 00 00 09 04 00 22 05 04 04
0000040 00 04 00 00 04 03 00 00 00 01 05 00 10 00 05 05
0000050
Personality: Futomaki
ConnectorInfo count in decimal: 4
Disk offset in decimal 609168
0000000 00 04 00 00 04 03 00 00 00 01 01 00 12 04 04 01
0000010 00 04 00 00 04 03 00 00 00 01 02 00 22 05 05 02
0000020 04 00 00 00 14 02 00 00 00 01 03 00 00 00 06 06
0000030 00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 03
0000040
Personality: Hamachi
ConnectorInfo count in decimal: 4
Disk offset in decimal 609232
0000000 00 04 00 00 04 03 00 00 00 01 01 00 12 04 05 01
0000010 00 04 00 00 04 03 00 00 00 01 02 00 22 05 04 02
0000020 04 00 00 00 14 02 00 00 00 01 03 00 00 00 03 06
0000030 00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 04
0000040
Personality: OPM
ConnectorInfo count in decimal: 6
Disk offset in decimal 609296
0000000 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01
0000010 00 04 00 00 04 03 00 00 00 01 00 00 21 03 02 02
0000020 00 04 00 00 04 03 00 00 00 01 00 00 12 04 03 03
0000030 00 04 00 00 04 03 00 00 00 01 00 00 22 05 04 04
0000040 00 04 00 00 04 03 00 00 00 01 00 00 10 00 05 05
0000050 00 04 00 00 14 03 00 00 00 01 00 00 20 01 06 06
0000060
Personality: Ikura
ConnectorInfo count in decimal: 6
Disk offset in decimal 609392
0000000 00 04 00 00 04 03 00 00 00 01 01 00 11 02 01 03
0000010 00 04 00 00 04 03 00 00 00 01 02 00 21 03 02 04
0000020 00 04 00 00 04 03 00 00 00 01 83 00 12 04 03 01
0000030 00 04 00 00 04 03 00 00 00 01 04 00 22 05 04 02
0000040 00 04 00 00 04 03 00 00 00 01 05 00 10 00 05 05
0000050 00 04 00 00 04 03 00 00 00 01 06 00 20 01 06 06
0000060
Personality: IkuraS
ConnectorInfo count in decimal: 1
Disk offset in decimal 609488
0000000 00 08 00 00 04 02 00 00 00 01 01 00 12 04 03 01
0000010

Have fun :)

Link to comment
Share on other sites

S3C00001.104:

HEMLOCK MASTER XT BIOS UCODEv:126                                           

Subsystem Vendor ID: 1002
       Subsystem ID: 2542
Object Header Structure Size: 325
Connector Object Table Offset: 48
Router Object Table Offset: 0
Encoder Object Table Offset: e4
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
	encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [2] which is [DVI_I]
	encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [2] which is [DVI_I]
	encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false
Connector Object Id [2] which is [DVI_I]
	encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
	encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

I see 3 real ports, should I pick a fb with 3 "lines" ? I guess yes but...

 

bcc9 updated his script to make it works under Mavericks :

 

http://www.insanelymac.com/forum/topic/249642-editing-custom-personalities-for-ati-radeon-hd45xxx/

Link to comment
Share on other sites

I just took Uakari, but now I have trouble to find the SenseID before editing the binary... :(

 

EDIT: I used another dumper than redsock_bios_decoder (radeon_bios_decode) and I get it !

ATOM BIOS Rom: 
	SubsystemVendorID: 0x1002 SubsystemID: 0x2542
	IOBaseAddress: 0x0000
	Filename: S3C00001.104
	BIOS Bootup Message: 
HEMLOCK MASTER XT BIOS UCODEv:126                                           

PCI ID: 1002:689c
Connector at index 0
	Type [@offset 44724]: DisplayPort (10)
	Encoder [@offset 44728]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 44826]: 0x91, OSX senseid: 0x2
Connector at index 1
	Type [@offset 44734]: DVI-I (2)
	Encoder [@offset 44738]: INTERNAL_UNIPHY1 (0x20)
	i2cid [@offset 44863]: 0x92, OSX senseid: 0x3
Connector at index 2
	Type [@offset 44744]: DVI-I (2)
	Encoder [@offset 44748]: INTERNAL_KLDSCP_DAC2 (0x16)
	i2cid [@offset 44863]: 0x92, OSX senseid: 0x3
Connector at index 3
	Type [@offset 44754]: DVI-I (2)
	Encoder [@offset 44758]: INTERNAL_UNIPHY (0x1e)
	i2cid [@offset 44900]: 0x94, OSX senseid: 0x5
Connector at index 4
	Type [@offset 44764]: DVI-I (2)
	Encoder [@offset 44768]: INTERNAL_KLDSCP_DAC1 (0x15)
	i2cid [@offset 44900]: 0x94, OSX senseid: 0x5

Done editing, testing now... crossing fingers :P

 

EDIT: Fail... :(

 

I see that there is more ports in the bios than physicaly on the board. Should I edit the "virtual" one too ?

 

Trying again from scratch adding "virtuals" ports...

Link to comment
Share on other sites

I managed to make the AMD5000Controller.kext working with the board. Thanks to the combination of the two bios dumpers and the work of panpansh ! :thumbsup_anim:

 

So now, let's take a look at QE/CI !

 

I inserted my device id in the AMDRadeonX3000.kext under Cypress with no luck. the window server does not load but I can ssh the computer. When I ioregl -l, it stuck there :

    | |   |     +-o IOPCI2PCIBridge  <class IOPCI2PCIBridge, id 0x1000001d4, registered, matched, active, busy 0 (13897 ms), retain 10>
    | |   |       | {
    | |   |       |   "IOProbeScore" = 18446744073709551516
    | |   |       |   "CFBundleIdentifier" = "com.apple.iokit.IOPCIFamily"
    | |   |       |   "IOProviderClass" = "IOPCIDevice"
    | |   |       |   "IOClass" = "IOPCI2PCIBridge"
    | |   |       |   "IOMatchCategory" = "IODefaultMatchCategory"
    | |   |       |   "IONameMatch" = "pci-bridge"
    | |   |       |   "IOPowerManagement" = {"MaxPowerState"=3,"ChildrenPowerState"=2,"CurrentPowerState"=2}
    | |   |       |   "IONameMatched" = "pci-bridge"
    | |   |       | }
    | |   |       | 
    | |   |       +-o pci-bridge@4  <class IOPCIDevice, id 0x10000018e, registered, matched, active, busy 0 (13775 ms), retain 12>
    | |   |       | | {
    | |   |       | |   "IOInterruptSpecifiers" = (<1000000007000000>)
    | |   |       | |   "#address-cells" = <03000000>
    | |   |       | |   "class-code" = <00040600>
    | |   |       | |   "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2,"ChildProxyPowerState"=2,"MaxPowerState"=3}
    | |   |       | |   "subsystem-vendor-id" = <0f000000>
    | |   |       | |   "IOInterruptControllers" = ("io-apic-0")
    | |   |       | |   "vendor-id" = <b5100000>
    | |   |       | |   "IOChildIndex" = 1
    | |   |       | |   "device-id" = <47860000>
    | |   |       | |   "name" = <"pci-bridge">
    | |   |       | |   "IOPCIExpressASPMDefault" = 0
    | |   |       | |   "acpi-pmcap-offset" = 64
    | |   |       | |   "compatible" = <"pcif,0","pci10b5,8647","pciclass,060400">
    | |   |       | |   "ranges" = <00000082000000000000a0fe00000082000000000000a0fe0000000000001000000000c20f00000000000080000000c20f00000000000080000000000000001000000081000$
    | |   |       | |   "IOPCIExpressLinkCapabilities" = 70831362
    | |   |       | |   "IOPCIResourced" = Yes
    | |   |       | |   "IODTPersist" = <>
    | |   |       | |   "IOPCIConfigured" = Yes
    | |   |       | |   "subsystem-id" = <00000000>
    | |   |       | |   "revision-id" = <bb000000>
    | |   |       | |   "IOPCIExpressLinkStatus" = 41218
    | |   |       | |   "IOPCIExpressCapabilities" = 98
    | |   |       | |   "pcidebug" = "5:4:0(6:6)"
    | |   |       | |   "IOName" = "pci-bridge"
    | |   |       | |   "#size-cells" = <02000000>
    | |   |       | |   "reg" = <0020050000000000000000000000000000000000>
    | |   |       | | }
    | |   |       | | 
    | |   |       | +-o IOPCI2PCIBridge  <class IOPCI2PCIBridge, id 0x1000001fd, registered, matched, active, busy 0 (13655 ms), retain 10>
    | |   |       |   | {
    | |   |       |   |   "IOProbeScore" = 18446744073709551516
    | |   |       |   |   "CFBundleIdentifier" = "com.apple.iokit.IOPCIFamily"
    | |   |       |   |   "IOProviderClass" = "IOPCIDevice"
    | |   |       |   |   "IOClass" = "IOPCI2PCIBridge"
    | |   |       |   |   "IOMatchCategory" = "IODefaultMatchCategory"
    | |   |       |   |   "IONameMatch" = "pci-bridge"
    | |   |       |   |   "IOPowerManagement" = {"MaxPowerState"=3,"ChildrenPowerState"=2,"CurrentPowerState"=2}
    | |   |       |   |   "IONameMatched" = "pci-bridge"
    | |   |       |   | }
    | |   |       |   | 
    | |   |       |   +-o display@0  <class IOPCIDevice, id 0x100000190, registered, matched, active, busy 0 (13655 ms), retain 32>
    | |   |       |   | | {
    | |   |       |   | |   "PP_DisableMCDownLoadFeature" = 1
    | |   |       |   | |   "assigned-addresses" = <100006c20f00000000000080000000000000001018000682000000000000acfe0000000000000200200006810000000000d000000000000000010000300$
    | |   |       |   | |   "class-code" = <00000300>
    | |   |       |   | |   "subsystem-vendor-id" = <02100000>
    | |   |       |   | |   "vendor-id" = <02100000>
    | |   |       |   | |   "IOPCIExpressLinkCapabilities" = 67112194
    | |   |       |   | |   "ATY,SurfInfo" = <3890bcd180ffffff>
    | |   |       |   | |   "ATY,VendorID" = <0210>
    | |   |       |   | |   "IOName" = "display"
    | |   |       |   | |   "PP_R600RaisingLowPercentage" = 10
    | |   |       |   | |   "HDCPLIB_VERSION" = <"1.313">
    | |   |       |   | |   "pci-device-number" = 0
    | |   |       |   | |   "pci-bus-number" = 6
    | |   |       |   | |   "PP_UserMaxClockForMultiDisplays" = 1
    | |   |       |   | |   "IOChildIndex" = 1
    | |   |       |   | |   "pci-function-number" = 0
    | |   |       |   | |   "ATY,DeviceID" = <9c68>
    | |   |       |   | |   "IOPCIExpressLinkStatus" = 4354
    | |   |       |   | |   "pcidebug" = "6:0:0"
    | |   |       |   | |   "PP_R600RaisingMediumPercentage" = 25
    | |   |       |   | |   "ATY,Copyright" = <"Copyright AMD Inc. All Rights Reserved. 2005-2010">
    | |   |       |   | |   "IOPCIExpressCapabilities" = 18
    | |   |       |   | |   "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
    | |   |       |   | |   "PP_R600LoweringMediumPercentage" = 10
    | |   |       |   | |   "ATIFEDSInfo2" = <060000000000000000630a1480ffffff>
    | |   |       |   | |   "CFG_NO_PP" = Yes
    | |   |       |   | |   "IOPCIResourced" = Yes
    | |   |       |   | |   "ATY,PageFlipEnable" = <01000000>
    | |   |       |   | |   "IODeviceMemory" = (({"address"=66571993088,"length"=268435456}),({"address"=4272685056,"length"=131072}),"IOSubMemoryDescriptor is not serializabl$
    | |   |       |   | |   "IOPowerManagement" = {"MaxPowerState"=3,"ChildProxyPowerState"=2,"CurrentPowerState"=2}
    | |   |       |   | |   "PP_HighSamplingInterval" = 200000
    | |   |       |   | |   "name" = <"display">
    | |   |       |   | |   "subsystem-id" = <42250000>
    | |   |       |   | |   "model" = <"ATI Radeon HD 5970">
    | |   |       |   | |   "IOPCIExpressASPMDefault" = 0
    | |   |       |   | |   "IOOCDBundleName" = "AMDRadeonX3000GLDriver"
    | |   |       |   | |   "ATY,bin_image" = <55aa7ae9a9020000000000000000000000000000000000005c020000000049424d46000000000000000000000000000420373631323935353230000000000000$
    | |   |       |   | |   "device_type" = <"ATY,ZonalisParent">
    | |   |       |   | |   "compatible" = <"pci1002,2542","pci1002,689c","pciclass,030000">
    | |   |       |   | |   "PP_R600ActivityHysteresis" = 5
    | |   |       |   | |   "PP_R600LoweringHighPercentage" = 25
    | |   |       |   | |   "ATY,remap-size" = 18446744071562067968
    | |   |       |   | |   "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/pci-bridge@0/IOPCI2PCIBridge/pci-bridg$
    | |   |       |   | |   "ATY,Card#" = <"113-C00001-104">
    | |   |       |   | |   "reg" = <000006000000000000000000000000000000000010000642000000000000000000000000000000101800060200000000000000000000000000000200200006010000000000$
    | |   |       |   | |   "PP_ActivitySamplingInterval" = 1000
    | |   |       |   | |   "ATY,CAIL_IRI" = <0800010000000000280000000100000000303e1280ffffff6fc809817fffffff97c809817fffffffe03b66f180ffffff>
    | |   |       |   | |   "device-id" = <9c680000>
    | |   |       |   | |   "revision-id" = <00000000>
    | |   |       |   | |   "IOInterruptSpecifiers" = (<1000000007000000>,<0300000000000100>)
    | |   |       |   | |   "AAPL,iokit-ndrv" = <f0fcef807fffffff>
    | |   |       |   | | }
    | |   |       |   | | 
    | |   |       |   | +-o RadeonSensors  <class RadeonSensors, id 0x100000205, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |   {
    | |   |       |   | |     "IOProbeScore" = 0
    | |   |       |   | |     "CFBundleIdentifier" = "org.hwsensors.driver.GPUSensors"
    | |   |       |   | |     "IOMatchCategory" = "FakeSMCPlugin"
    | |   |       |   | |     "IOClass" = "RadeonSensors"
    | |   |       |   | |     "IOPCIClassMatch" = "0x03000000&0xff000000"
    | |   |       |   | |     "IOPCIMatch" = "0x00001002&0x0000ffff"
    | |   |       |   | |     "IOProviderClass" = "IOPCIDevice"
    | |   |       |   | |   }
    | |   |       |   | |   
    | |   |       |   | +-o AMD5000Controller  <class AMD5000Controller, id 0x1000002b5, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |   {
    | |   |       |   | |     "IOClass" = "AMD5000Controller"
    | |   |       |   | |     "CFBundleIdentifier" = "com.apple.kext.AMD5000Controller"
    | |   |       |   | |     "IOProviderClass" = "IOPCIDevice"
    | |   |       |   | |     "ATY,Zonalis" = {"aty_config"={"CFG_NO_PP"=Yes}}
    | |   |       |   | |     "aty_properties" = {"PP_R600RaisingMediumPercentage"=25,"PP_UserMaxClockForMultiDisplays"=1,"PP_R600ActivityHysteresis"=5,"PP_HighSamplingInterva$
    | |   |       |   | |     "IOName" = "AMD5000Controller"
    | |   |       |   | |     "IOProbeScore" = 65050
    | |   |       |   | |     "IOPCIMatch" = "0x689C1002 0x68981002 0x68991002 0x68E01002 0x68E11002 0x68D81002 0x68C01002 0x68C11002 0x68D91002 0x68B81002 0x68B01002 0x68B110$
    | |   |       |   | |     "ATY,Langur" = {"aty_config"={"CFG_FORCE_ICLK"=Yes}}
    | |   |       |   | |     "ATY,Orangutan" = {"aty_config"={"CFG_GPIO_HIGH"=131104}}
    | |   |       |   | |     "IOMatchCategory" = "IOFramebuffer"
    | |   |       |   | |     "iofb_version" = "1.1.36"
    | |   |       |   | |     "aty_config" = {"CFG_NO_PP"=No}
    | |   |       |   | |     "ATY,Hoolock" = {"aty_config"={"CFG_FORCE_ICLK"=Yes}}
    | |   |       |   | |   }
    | |   |       |   | |   
    | |   |       |   | +-o ATY,Zonalis@0  <class AtiFbStub, id 0x1000002be, registered, matched, active, busy 0 (5911 ms), retain 8>
    | |   |       |   | | | {
    | |   |       |   | | |   "AAPL,boot-display" = <01000000>
    | |   |       |   | | |   "IOFBDependentIndex" = 0
    | |   |       |   | | |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | | |   "name" = "ATY,Zonalis"
    | |   |       |   | | |   "AAPL,iokit-ndrv" = <f0fcef807fffffff>
    | |   |       |   | | |   "device_type" = "display"
    | |   |       |   | | | }
    | |   |       |   | | | 
    | |   |       |   | | +-o ATY_Zonalis  <class AMDFramebuffer, id 0x1000002cd, registered, matched, active, busy 0 (1243 ms), retain 12>
    | |   |       |   | |   | {
    | |   |       |   | |   |   "IOClass" = "AMDFramebuffer"
    | |   |       |   | |   |   "IOPMStrictTreeOrder" = Yes
    | |   |       |   | |   |   "IOFBGammaWidth" = 10
    | |   |       |   | |   |   "IOPowerManagement" = {"CurrentPowerState"=0}
    | |   |       |   | |   |   "IOProviderClass" = "AtiFbStub"
    | |   |       |   | |   |   "IOProbeScore" = 65050
    | |   |       |   | |   |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | |   |   "IOAccelRevision" = 2
    | |   |       |   | |   |   "IONameMatch" = "display"
    | |   |       |   | |   |   "IOCFPlugInTypes" = {"ACCF0000-0000-0000-0000-000a2789904e"="IOAccelerator2D.plugin"}
    | |   |       |   | |   |   "IOFBNeedsRefresh" = Yes
    | |   |       |   | |   |   "iofb_version" = "1.1.36"
    | |   |       |   | |   |   "IOAccelIndex" = 0
    | |   |       |   | |   |   "IOFBGammaHeaderSize" = 0
    | |   |       |   | |   |   "IOMatchCategory" = "IOFramebuffer"
    | |   |       |   | |   |   "CFBundleIdentifier" = "com.apple.kext.AMDFramebuffer"
    | |   |       |   | |   |   "IONameMatched" = "display"
    | |   |       |   | |   |   "IOFBDependentIndex" = 0
    | |   |       |   | |   |   "IOFBGammaCount" = 256
    | |   |       |   | |   |   "IOAccelTypes" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/pci-bridge@0/IOPCI2PCIBridge/pci-bridge@4/IOPCI$
    | |   |       |   | |   | }
    | |   |       |   | |   | 
    | |   |       |   | |   +-o AGPM  <class AGPM, id 0x1000002d0, registered, matched, active, busy 0 (0 ms), retain 7>
    | |   |       |   | |   | | {
    | |   |       |   | |   | |   "Heuristic-ID" = <ffffffff>
    | |   |       |   | |   | |   "max-value" = 3
    | |   |       |   | |   | |   "min-value" = 0
    | |   |       |   | |   | | }
    | |   |       |   | |   | | 
    | |   |       |   | |   | +-o gpu-control  <class IOService, id 0x1000002d1, !registered, !matched, active, busy 0, retain 5>
    | |   |       |   | |   |     {
    | |   |       |   | |   |       "location" = "primary-gpu-control"
    | |   |       |   | |   |       "zone" = 0
    | |   |       |   | |   |       "compatible" = "gpu-control"
    | |   |       |   | |   |       "reg" = 18
    | |   |       |   | |   |       "max-value" = 3
    | |   |       |   | |   |       "min-value" = 0
    | |   |       |   | |   |       "version" = 2
    | |   |       |   | |   |       "type" = "gpu-control"
    | |   |       |   | |   |       "device_type" = "gpu-control"
    | |   |       |   | |   |       "name" = <"gpu-control">
    | |   |       |   | |   |       "control-id" = 18
    | |   |       |   | |   |     }
    | |   |       |   | |   |     
    | |   |       |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000002d2, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |       |   | |   | | {
    | |   |       |   | |   | |   "IOProbeScore" = 0
    | |   |       |   | |   | |   "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   | |   "IOMatchCategory" = "AppleMCCSControlFamily"
    | |   |       |   | |   | |   "IOClass" = "AppleMCCSControlModule"
    | |   |       |   | |   | |   "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |   | |   "IOKitDebug" = 0
    | |   |       |   | |   | |   "IOUserClientClass" = "AppleMCCSUserClient"
    | |   |       |   | |   | |   "IOResourceMatch" = "IOKit"
    | |   |       |   | |   | | }
    | |   |       |   | |   | | 
    | |   |       |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000002d6, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |   |     {
    | |   |       |   | |   |       "IOProbeScore" = 0
    | |   |       |   | |   |       "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   |       "IOMatchCategory" = "IODisplayParameters"
    | |   |       |   | |   |       "IOClass" = "AppleMCCSParameterHandler"
    | |   |       |   | |   |       "IOProviderClass" = "AppleMCCSControlFamily"
    | |   |       |   | |   |       "IOKitDebug" = 0
    | |   |       |   | |   |       "AppleMCCSFeatures" = 1
    | |   |       |   | |   |       "IOResourceMatch" = "IOKit"
    | |   |       |   | |   |     }
    | |   |       |   | |   |     
    | |   |       |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000002d4, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |       {
    | |   |       |   | |         "IOProbeScore" = 0
    | |   |       |   | |         "CFBundleIdentifier" = "com.apple.driver.AppleUpstreamUserClient"
    | |   |       |   | |         "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |         "IOClass" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOMatchCategory" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOUserClientClass" = "AppleUpstreamUserClient"
    | |   |       |   | |         "IOResourceMatch" = "IOKit"
    | |   |       |   | |       }
    | |   |       |   | |       
    | |   |       |   | +-o ATY,Zonalis@1  <class AtiFbStub, id 0x1000002bf, registered, matched, active, busy 0 (2 ms), retain 8>
    | |   |       |   | | | {
    | |   |       |   | | |   "AAPL,iokit-ndrv" = <f0fcef807fffffff>
    | |   |       |   | | |   "IOFBDependentIndex" = 1
    | |   |       |   | | |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | | |   "name" = "ATY,Zonalis"
    | |   |       |   | | |   "device_type" = "display"
    | |   |       |   | | | }
    | |   |       |   | | | 
    | |   |       |   | | +-o ATY_Zonalis  <class AMDFramebuffer, id 0x1000002d7, registered, matched, active, busy 0 (2 ms), retain 11>
    | |   |       |   | |   | {
    | |   |       |   | |   |   "IOClass" = "AMDFramebuffer"
    | |   |       |   | |   |   "IOPMStrictTreeOrder" = Yes
    | |   |       |   | |   |   "IOFBGammaWidth" = 10
    | |   |       |   | |   |   "IOPowerManagement" = {"CurrentPowerState"=0}
    | |   |       |   | |   |   "IOProviderClass" = "AtiFbStub"
    | |   |       |   | |   |   "IOProbeScore" = 65050
    | |   |       |   | |   |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | |   |   "IOAccelRevision" = 2
    | |   |       |   | |   |   "IONameMatch" = "display"
    | |   |       |   | |   |   "IOCFPlugInTypes" = {"ACCF0000-0000-0000-0000-000a2789904e"="IOAccelerator2D.plugin"}
    | |   |       |   | |   |   "IOFBNeedsRefresh" = Yes
    | |   |       |   | |   |   "iofb_version" = "1.1.36"
    | |   |       |   | |   |   "IOAccelIndex" = 1
    | |   |       |   | |   |   "IOFBGammaHeaderSize" = 0
    | |   |       |   | |   |   "IOMatchCategory" = "IOFramebuffer"
    | |   |       |   | |   |   "CFBundleIdentifier" = "com.apple.kext.AMDFramebuffer"
    | |   |       |   | |   |   "IONameMatched" = "display"
    | |   |       |   | |   |   "IOFBDependentIndex" = 1
    | |   |       |   | |   |   "IOFBGammaCount" = 256
    | |   |       |   | |   |   "IOAccelTypes" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/pci-bridge@0/IOPCI2PCIBridge/pci-bridge@4/IOPCI$
    | |   |       |   | |   | }
    | |   |       |   | |   | 
    | |   |       |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000002da, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |       |   | |   | | {
    | |   |       |   | |   | |   "IOProbeScore" = 0
    | |   |       |   | |   | |   "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   | |   "IOMatchCategory" = "AppleMCCSControlFamily"
    | |   |       |   | |   | |   "IOClass" = "AppleMCCSControlModule"
    | |   |       |   | |   | |   "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |   | |   "IOKitDebug" = 0
    | |   |       |   | |   | |   "IOUserClientClass" = "AppleMCCSUserClient"
    | |   |       |   | |   | |   "IOResourceMatch" = "IOKit"
    | |   |       |   | |   | | }
    | |   |       |   | |   | | 
    | |   |       |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000002dc, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |   |     {
    | |   |       |   | |   |       "IOProbeScore" = 0
    | |   |       |   | |   |       "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   |       "IOMatchCategory" = "IODisplayParameters"
    | |   |       |   | |   |       "IOClass" = "AppleMCCSParameterHandler"
    | |   |       |   | |   |       "IOProviderClass" = "AppleMCCSControlFamily"
    | |   |       |   | |   |       "IOKitDebug" = 0
    | |   |       |   | |   |       "AppleMCCSFeatures" = 1
    | |   |       |   | |   |       "IOResourceMatch" = "IOKit"
    | |   |       |   | |   |     }
    | |   |       |   | |   |     
    | |   |       |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000002db, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |       {
    | |   |       |   | |         "IOProbeScore" = 0
    | |   |       |   | |         "CFBundleIdentifier" = "com.apple.driver.AppleUpstreamUserClient"
    | |   |       |   | |         "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |         "IOClass" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOMatchCategory" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOUserClientClass" = "AppleUpstreamUserClient"
    | |   |       |   | |         "IOResourceMatch" = "IOKit"
    | |   |       |   | |       }
    | |   |       |   | |       
    | |   |       |   | +-o ATY,Zonalis@2  <class AtiFbStub, id 0x1000002c0, registered, matched, active, busy 0 (1 ms), retain 8>
    | |   |       |   | | | {
    | |   |       |   | | |   "AAPL,iokit-ndrv" = <f0fcef807fffffff>
    | |   |       |   | | |   "IOFBDependentIndex" = 2
    | |   |       |   | | |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | | |   "name" = "ATY,Zonalis"
    | |   |       |   | | |   "device_type" = "display"
    | |   |       |   | | | }
    | |   |       |   | | | 
    | |   |       |   | | +-o ATY_Zonalis  <class AMDFramebuffer, id 0x1000002de, registered, matched, active, busy 0 (1 ms), retain 11>
    | |   |       |   | |   | {
    | |   |       |   | |   |   "IOClass" = "AMDFramebuffer"
    | |   |       |   | |   |   "IOPMStrictTreeOrder" = Yes
    | |   |       |   | |   |   "IOFBGammaWidth" = 10
    | |   |       |   | |   |   "IOPowerManagement" = {"CurrentPowerState"=0}
    | |   |       |   | |   |   "IOProviderClass" = "AtiFbStub"
    | |   |       |   | |   |   "IOProbeScore" = 65050
    | |   |       |   | |   |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | |   |   "IOAccelRevision" = 2
    | |   |       |   | |   |   "IONameMatch" = "display"
    | |   |       |   | |   |   "IOCFPlugInTypes" = {"ACCF0000-0000-0000-0000-000a2789904e"="IOAccelerator2D.plugin"}
    | |   |       |   | |   |   "IOFBNeedsRefresh" = Yes
    | |   |       |   | |   |   "iofb_version" = "1.1.36"
    | |   |       |   | |   |   "IOAccelIndex" = 2
    | |   |       |   | |   |   "IOFBGammaHeaderSize" = 0
    | |   |       |   | |   |   "IOMatchCategory" = "IOFramebuffer"
    | |   |       |   | |   |   "CFBundleIdentifier" = "com.apple.kext.AMDFramebuffer"
    | |   |       |   | |   |   "IONameMatched" = "display"
    | |   |       |   | |   |   "IOFBDependentIndex" = 2
    | |   |       |   | |   |   "IOFBGammaCount" = 256
    | |   |       |   | |   |   "IOAccelTypes" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/pci-bridge@0/IOPCI2PCIBridge/pci-bridge@4/IOPCI$
    | |   |       |   | |   | }
    | |   |       |   | |   | 
    | |   |       |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000002e1, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |       |   | |   | | {
    | |   |       |   | |   | |   "IOProbeScore" = 0
    | |   |       |   | |   | |   "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   | |   "IOMatchCategory" = "AppleMCCSControlFamily"
    | |   |       |   | |   | |   "IOClass" = "AppleMCCSControlModule"
    | |   |       |   | |   | |   "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |   | |   "IOKitDebug" = 0
    | |   |       |   | |   | |   "IOUserClientClass" = "AppleMCCSUserClient"
    | |   |       |   | |   | |   "IOResourceMatch" = "IOKit"
    | |   |       |   | |   | | }
    | |   |       |   | |   | | 
    | |   |       |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000002e3, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |   |     {
    | |   |       |   | |   |       "IOProbeScore" = 0
    | |   |       |   | |   |       "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   |       "IOMatchCategory" = "IODisplayParameters"
    | |   |       |   | |   |       "IOClass" = "AppleMCCSParameterHandler"
    | |   |       |   | |   |       "IOProviderClass" = "AppleMCCSControlFamily"
    | |   |       |   | |   |       "IOKitDebug" = 0
    | |   |       |   | |   |       "AppleMCCSFeatures" = 1
    | |   |       |   | |   |       "IOResourceMatch" = "IOKit"
    | |   |       |   | |   |     }
    | |   |       |   | |   |     
    | |   |       |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000002e2, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |       {
    | |   |       |   | |         "IOProbeScore" = 0
    | |   |       |   | |         "CFBundleIdentifier" = "com.apple.driver.AppleUpstreamUserClient"
    | |   |       |   | |         "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |         "IOClass" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOMatchCategory" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOUserClientClass" = "AppleUpstreamUserClient"
    | |   |       |   | |         "IOResourceMatch" = "IOKit"
    | |   |       |   | |       }
    | |   |       |   | |       
    | |   |       |   | +-o ATY,Zonalis@3  <class AtiFbStub, id 0x1000002c1, registered, matched, active, busy 0 (1 ms), retain 8>
    | |   |       |   | | | {
    | |   |       |   | | |   "AAPL,iokit-ndrv" = <f0fcef807fffffff>
    | |   |       |   | | |   "IOFBDependentIndex" = 3
    | |   |       |   | | |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | | |   "name" = "ATY,Zonalis"
    | |   |       |   | | |   "device_type" = "display"
    | |   |       |   | | | }
    | |   |       |   | | | 
    | |   |       |   | | +-o ATY_Zonalis  <class AMDFramebuffer, id 0x1000002e4, registered, matched, active, busy 0 (1 ms), retain 11>
    | |   |       |   | |   | {
    | |   |       |   | |   |   "IOClass" = "AMDFramebuffer"
    | |   |       |   | |   |   "IOPMStrictTreeOrder" = Yes
    | |   |       |   | |   |   "IOFBGammaWidth" = 10
    | |   |       |   | |   |   "IOPowerManagement" = {"CurrentPowerState"=0}
    | |   |       |   | |   |   "IOProviderClass" = "AtiFbStub"
    | |   |       |   | |   |   "IOProbeScore" = 65050
    | |   |       |   | |   |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | |   |   "IOAccelRevision" = 2
    | |   |       |   | |   |   "IONameMatch" = "display"
    | |   |       |   | |   |   "IOCFPlugInTypes" = {"ACCF0000-0000-0000-0000-000a2789904e"="IOAccelerator2D.plugin"}
    | |   |       |   | |   |   "IOFBNeedsRefresh" = Yes
    | |   |       |   | |   |   "iofb_version" = "1.1.36"
    | |   |       |   | |   |   "IOAccelIndex" = 3
    | |   |       |   | |   |   "IOFBGammaHeaderSize" = 0
    | |   |       |   | |   |   "IOMatchCategory" = "IOFramebuffer"
    | |   |       |   | |   |   "CFBundleIdentifier" = "com.apple.kext.AMDFramebuffer"
    | |   |       |   | |   |   "IONameMatched" = "display"
    | |   |       |   | |   |   "IOFBDependentIndex" = 3
    | |   |       |   | |   |   "IOFBGammaCount" = 256
    | |   |       |   | |   |   "IOAccelTypes" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/pci-bridge@0/IOPCI2PCIBridge/pci-bridge@4/IOPCI$
    | |   |       |   | |   | }
    | |   |       |   | |   | 
    | |   |       |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000002e7, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |       |   | |   | | {
    | |   |       |   | |   | |   "IOProbeScore" = 0
    | |   |       |   | |   | |   "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   | |   "IOMatchCategory" = "AppleMCCSControlFamily"
    | |   |       |   | |   | |   "IOClass" = "AppleMCCSControlModule"
    | |   |       |   | |   | |   "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |   | |   "IOKitDebug" = 0
    | |   |       |   | |   | |   "IOUserClientClass" = "AppleMCCSUserClient"
    | |   |       |   | |   | |   "IOResourceMatch" = "IOKit"
    | |   |       |   | |   | | }
    | |   |       |   | |   | | 
    | |   |       |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000002e9, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |   |     {
    | |   |       |   | |   |       "IOProbeScore" = 0
    | |   |       |   | |   |       "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   |       "IOMatchCategory" = "IODisplayParameters"
    | |   |       |   | |   |       "IOClass" = "AppleMCCSParameterHandler"
    | |   |       |   | |   |       "IOProviderClass" = "AppleMCCSControlFamily"
    | |   |       |   | |   |       "IOKitDebug" = 0
    | |   |       |   | |   |       "AppleMCCSFeatures" = 1
    | |   |       |   | |   |       "IOResourceMatch" = "IOKit"
    | |   |       |   | |   |     }
    | |   |       |   | |   |     
    | |   |       |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000002e8, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |       {
    | |   |       |   | |         "IOProbeScore" = 0
    | |   |       |   | |         "CFBundleIdentifier" = "com.apple.driver.AppleUpstreamUserClient"
    | |   |       |   | |         "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |         "IOClass" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOMatchCategory" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOUserClientClass" = "AppleUpstreamUserClient"
    | |   |       |   | |         "IOResourceMatch" = "IOKit"
    | |   |       |   | |       }
    | |   |       |   | |       
    | |   |       |   | +-o ATY,Zonalis@4  <class AtiFbStub, id 0x1000002c2, registered, matched, active, busy 0 (1 ms), retain 8>
    | |   |       |   | | | {
    | |   |       |   | | |   "AAPL,iokit-ndrv" = <f0fcef807fffffff>
    | |   |       |   | | |   "IOFBDependentIndex" = 4
    | |   |       |   | | |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | | |   "name" = "ATY,Zonalis"
    | |   |       |   | | |   "device_type" = "display"
    | |   |       |   | | | }
    | |   |       |   | | | 
    | |   |       |   | | +-o ATY_Zonalis  <class AMDFramebuffer, id 0x1000002ea, registered, matched, active, busy 0 (0 ms), retain 11>
    | |   |       |   | |   | {
    | |   |       |   | |   |   "IOClass" = "AMDFramebuffer"
    | |   |       |   | |   |   "IOPMStrictTreeOrder" = Yes
    | |   |       |   | |   |   "IOFBGammaWidth" = 10
    | |   |       |   | |   |   "IOPowerManagement" = {"CurrentPowerState"=0}
    | |   |       |   | |   |   "IOProviderClass" = "AtiFbStub"
    | |   |       |   | |   |   "IOProbeScore" = 65050
    | |   |       |   | |   |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | |   |   "IOAccelRevision" = 2
    | |   |       |   | |   |   "IONameMatch" = "display"
    | |   |       |   | |   |   "IOCFPlugInTypes" = {"ACCF0000-0000-0000-0000-000a2789904e"="IOAccelerator2D.plugin"}
    | |   |       |   | |   |   "IOFBNeedsRefresh" = Yes
    | |   |       |   | |   |   "iofb_version" = "1.1.36"
    | |   |       |   | |   |   "IOAccelIndex" = 4
    | |   |       |   | |   |   "IOFBGammaHeaderSize" = 0
    | |   |       |   | |   |   "IOMatchCategory" = "IOFramebuffer"
    | |   |       |   | |   |   "CFBundleIdentifier" = "com.apple.kext.AMDFramebuffer"
    | |   |       |   | |   |   "IONameMatched" = "display"
    | |   |       |   | |   |   "IOFBDependentIndex" = 4
    | |   |       |   | |   |   "IOFBGammaCount" = 256
    | |   |       |   | |   |   "IOAccelTypes" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/pci-bridge@0/IOPCI2PCIBridge/pci-bridge@4/IOPCI$
    | |   |       |   | |   | }
    | |   |       |   | |   | 
    | |   |       |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000002ed, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |       |   | |   | | {
    | |   |       |   | |   | |   "IOProbeScore" = 0
    | |   |       |   | |   | |   "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   | |   "IOMatchCategory" = "AppleMCCSControlFamily"
    | |   |       |   | |   | |   "IOClass" = "AppleMCCSControlModule"
    | |   |       |   | |   | |   "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |   | |   "IOKitDebug" = 0
    | |   |       |   | |   | |   "IOUserClientClass" = "AppleMCCSUserClient"
    | |   |       |   | |   | |   "IOResourceMatch" = "IOKit"
    | |   |       |   | |   | | }
    | |   |       |   | |   | | 
    | |   |       |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000002ef, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |   |     {
    | |   |       |   | |   |       "IOProbeScore" = 0
    | |   |       |   | |   |       "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   |       "IOMatchCategory" = "IODisplayParameters"
    | |   |       |   | |   |       "IOClass" = "AppleMCCSParameterHandler"
    | |   |       |   | |   |       "IOProviderClass" = "AppleMCCSControlFamily"
    | |   |       |   | |   |       "IOKitDebug" = 0
    | |   |       |   | |   |       "AppleMCCSFeatures" = 1
    | |   |       |   | |   |       "IOResourceMatch" = "IOKit"
    | |   |       |   | |   |     }
    | |   |       |   | |   |     
    | |   |       |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000002ee, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |       {
    | |   |       |   | |         "IOProbeScore" = 0
    | |   |       |   | |         "CFBundleIdentifier" = "com.apple.driver.AppleUpstreamUserClient"
    | |   |       |   | |         "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |         "IOClass" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOMatchCategory" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOUserClientClass" = "AppleUpstreamUserClient"
    | |   |       |   | |         "IOResourceMatch" = "IOKit"
    | |   |       |   | |       }
    | |   |       |   | |       
    | |   |       |   | +-o ATY,Zonalis@5  <class AtiFbStub, id 0x1000002c3, registered, matched, active, busy 0 (1 ms), retain 8>
    | |   |       |   | | | {
    | |   |       |   | | |   "AAPL,iokit-ndrv" = <f0fcef807fffffff>
    | |   |       |   | | |   "IOFBDependentIndex" = 5
    | |   |       |   | | |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | | |   "name" = "ATY,Zonalis"
    | |   |       |   | | |   "device_type" = "display"
    | |   |       |   | | | }
    | |   |       |   | | | 
    | |   |       |   | | +-o ATY_Zonalis  <class AMDFramebuffer, id 0x1000002f0, registered, matched, active, busy 0 (0 ms), retain 11>
    | |   |       |   | |   | {
    | |   |       |   | |   |   "IOClass" = "AMDFramebuffer"
    | |   |       |   | |   |   "IOPMStrictTreeOrder" = Yes
    | |   |       |   | |   |   "IOFBGammaWidth" = 10
    | |   |       |   | |   |   "IOPowerManagement" = {"CurrentPowerState"=0}
    | |   |       |   | |   |   "IOProviderClass" = "AtiFbStub"
    | |   |       |   | |   |   "IOProbeScore" = 65050
    | |   |       |   | |   |   "IOFBDependentID" = 18446743524264639488
    | |   |       |   | |   |   "IOAccelRevision" = 2
    | |   |       |   | |   |   "IONameMatch" = "display"
    | |   |       |   | |   |   "IOCFPlugInTypes" = {"ACCF0000-0000-0000-0000-000a2789904e"="IOAccelerator2D.plugin"}
    | |   |       |   | |   |   "IOFBNeedsRefresh" = Yes
    | |   |       |   | |   |   "iofb_version" = "1.1.36"
    | |   |       |   | |   |   "IOAccelIndex" = 5
    | |   |       |   | |   |   "IOFBGammaHeaderSize" = 0
    | |   |       |   | |   |   "IOMatchCategory" = "IOFramebuffer"
    | |   |       |   | |   |   "CFBundleIdentifier" = "com.apple.kext.AMDFramebuffer"
    | |   |       |   | |   |   "IONameMatched" = "display"
    | |   |       |   | |   |   "IOFBDependentIndex" = 5
    | |   |       |   | |   |   "IOFBGammaCount" = 256
    | |   |       |   | |   |   "IOAccelTypes" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/pci-bridge@0/IOPCI2PCIBridge/pci-bridge@4/IOPCI$
    | |   |       |   | |   | }
    | |   |       |   | |   | 
    | |   |       |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000002f3, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |       |   | |   | | {
    | |   |       |   | |   | |   "IOProbeScore" = 0
    | |   |       |   | |   | |   "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   | |   "IOMatchCategory" = "AppleMCCSControlFamily"
    | |   |       |   | |   | |   "IOClass" = "AppleMCCSControlModule"
    | |   |       |   | |   | |   "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |   | |   "IOKitDebug" = 0
    | |   |       |   | |   | |   "IOUserClientClass" = "AppleMCCSUserClient"
    | |   |       |   | |   | |   "IOResourceMatch" = "IOKit"
    | |   |       |   | |   | | }
    | |   |       |   | |   | | 
    | |   |       |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000002f5, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |   |     {
    | |   |       |   | |   |       "IOProbeScore" = 0
    | |   |       |   | |   |       "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |       |   | |   |       "IOMatchCategory" = "IODisplayParameters"
    | |   |       |   | |   |       "IOClass" = "AppleMCCSParameterHandler"
    | |   |       |   | |   |       "IOProviderClass" = "AppleMCCSControlFamily"
    | |   |       |   | |   |       "IOKitDebug" = 0
    | |   |       |   | |   |       "AppleMCCSFeatures" = 1
    | |   |       |   | |   |       "IOResourceMatch" = "IOKit"
    | |   |       |   | |   |     }
    | |   |       |   | |   |     
    | |   |       |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000002f4, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |       {
    | |   |       |   | |         "IOProbeScore" = 0
    | |   |       |   | |         "CFBundleIdentifier" = "com.apple.driver.AppleUpstreamUserClient"
    | |   |       |   | |         "IOProviderClass" = "IOFramebuffer"
    | |   |       |   | |         "IOClass" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOMatchCategory" = "AppleUpstreamUserClientDriver"
    | |   |       |   | |         "IOUserClientClass" = "AppleUpstreamUserClient"
    | |   |       |   | |         "IOResourceMatch" = "IOKit"
    | |   |       |   | |       }
    | |   |       |   | |       
    | |   |       |   | +-o AtiDeviceControl  <class AtiDeviceControl, id 0x1000002f6, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |       |   | |   {
    | |   |       |   | |     "IOUserClientClass" = "AppleGraphicsDeviceControlClient"
    | |   |       |   | |   }
    | |   |       |   | |   
    | |   |       |   | +-o AMDSupport  <class AMDSupport, id 0x1000002b7, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |       |   | |   {
    | |   |       |   | |     "IOProbeScore" = 65050
    | |   |       |   | |     "CFBundleIdentifier" = "com.apple.kext.AMDSupport"
    | |   |       |   | |     "IOMatchCategory" = "AMDSupport"
    | |   |       |   | |     "IOClass" = "AMDSupport"
    | |   |       |   | |     "IOPCIClassMatch" = "0x03000000&0xFF000000"
    | |   |       |   | |     "IOPCIMatch" = "0x00001002&0x0000FFFF"
    | |   |       |   | |     "IOProviderClass" = "IOPCIDevice"
    | |   |       |   | |     "iofb_version" = "1.1.36"
    | |   |       |   | |   }
    | |   |       |   | |   
    | |   |       |   | +-o AMDCypressGraphicsAccelerator  <class AMDCypressGraphicsAccelerator, id 0x1000002bb, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |       |   |     {
    | |   |       |   |       "IOClass" = "AMDCypressGraphicsAccelerator"
    | |   |       |   |       "dpm" = 1
    | |   |       |   |       "IOKitDebug" = 0
    | |   |       |   |       "AccelNativeDMARowByteAlignment" = 256
    | |   |       |   |       "IOVARendererID" = 16908290
    | |   |       |   |       "IODVDBundleName" = "AMDRadeonVADriver"
    | |   |       |   |       "AccelCaps" = 15
    | |   |       |   |       "IOGLBundleName" = "AMDRadeonX3000GLDriver"
    | |   |       |   |       "IOProviderClass" = "IOPCIDevice"
    | |   |       |   |       "ATIEnableWideBlitSupport" = Yes
    | |   |       |   |       "IOProbeScore" = 200
    | |   |       |   |       "SurfaceList" = ()
    | |   |       |   |       "IOSourceVersion" = "0.0.0.0.0"
    | |   |       |   |       "PerformanceStatisticsAccum" = {"removeFromGARTWaitTime"=0,"command2DBytesPerSample"=0,"swapCompleteVideoWaitTime"=0,"commandBytesPerSample"=0,"s$
    | |   |       |   |       "ATY,cbits" = 589824
    | |   |       |   |       "ATY,intrev" = 2
    | |   |       |   |       "IOAccelRevision" = 2
    | |   |       |   |       "IOCFPlugInTypes" = {"ACCF0000-0000-0000-0000-000a2789904e"="IOAccelerator2D.plugin"}
    | |   |       |   |       "InternalStatisticsAccm" = {}
    | |   |       |   |       "IOMatchCategory" = "IOAccelerator"
    | |   |       |   |       "CFBundleIdentifier" = "com.apple.AMDRadeonX3000"
    | |   |       |   |       "ATIUseTearingWideBlit" = No
    | |   |       |   |       "PerformanceStatistics" = {"removeFromGARTWaitTime"=0,"command2DBytesPerSample"=0,"swapCompleteVideoWaitTime"=0,"commandBytesPerSample"=0,"surfac$
    | |   |       |   |       "InternalStatistics" = {}
    | |   |       |   |       "sensor-properties" = ({"zone"=<00000002>,"location"="GPU","name"="gpu-sensor","polling-period"=<0000000100000000>,"version"=<00000002>,"sample-p$
    | |   |       |   |       "IOPCIMatch" = "0x689C1002 0x68981002 0x68991002"
    | |   |       |   |       "GpuDebugPolicy" = 0
    | |   |       |   |     }
    | |   |       |   |     
    | |   |       |   +-o pci1002,aa50@0,1  <class IOPCIDevice, id 0x100000191, registered, matched, active, busy 0 (7132 ms), retain 10>
    | |   |       |     | {
    | |   |       |     |   "assigned-addresses" = <100106820000000000c0affe0000000000400000>
    | |   |       |     |   "IOInterruptSpecifiers" = (<1100000007000000>,<0400000000000100>)
    | |   |       |     |   "class-code" = <00030400>
    | |   |       |     |   "IODeviceMemory" = (({"address"=4272930816,"length"=16384}))
    | |   |       |     |   "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2,"ChildProxyPowerState"=2,"MaxPowerState"=3}
    | |   |       |     |   "subsystem-vendor-id" = <02100000>
    | |   |       |     |   "IOPCIMSIMode" = Yes
    | |   |       |     |   "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
    | |   |       |     |   "vendor-id" = <02100000>
    | |   |       |     |   "IOChildIndex" = 2
    | |   |       |     |   "device-id" = <50aa0000>
    | |   |       |     |   "IOPCIResourced" = Yes
    | |   |       |     |   "IOPCIExpressASPMDefault" = 0
    | |   |       |     |   "name" = <"pci1002,aa50">
    | |   |       |     |   "compatible" = <"pci1002,aa50","pciclass,040300">
    | |   |       |     |   "layout-id" = <00000000>
    | |   |       |     |   "IOPCIExpressLinkCapabilities" = 67112194
    | |   |       |     |   "subsystem-id" = <50aa0000>
    | |   |       |     |   "revision-id" = <00000000>
    | |   |       |     |   "IOPCIExpressLinkStatus" = 4354
    | |   |       |     |   "IOPCIExpressCapabilities" = 18
    | |   |       |     |   "pcidebug" = "6:0:1"
    | |   |       |     |   "IOName" = "pci1002,aa50"
    | |   |       |     |   "reg" = <00010600000000000000000000000000000000001001060200000000000000000000000000400000>
    | |   |       |     | }
    | |   |       |     | 
    | |   |       |     +-o VoodooHDADevice  <class VoodooHDADevice, id 0x10000029d, registered, matched, active, busy 0 (1825 ms), retain 7>
    | |   |       |       | {
    | |   |       |       |   "IOClass" = "VoodooHDADevice"
    | |   |       |       |   "Boost" = 2
    | |   |       |       |   "AllowMSI" = Yes
    | |   |       |       |   "VoodooHDAEnableMuteFix" = No
    | |   |       |       |   "IOAudioDeviceName" = "VoodooHDADeviceaa50"
    | |   |       |       |   "IOAudioDeviceModelID" = "VoodooHDA:aa50 "
    | |   |       |       |   "IOAudioDeviceShortName" = "VoodooHDA "
    | |   |       |       |   "NodesToPatch" = ()
    | |   |       |       |   "Noise" = 0
    | |   |       |       |   "VoodooHDAEnableHalfVolumeFix" = No
    | |   |       |       |   "IOProviderClass" = "IOPCIDevice"
    | |   |       |       |   "IOAudioDeviceManufacturerName" = "Voodoo "
    | |   |       |       |   "IOAudioDeviceTransportType" = 1651274862
    | |   |       |       |   "IOPowerManagement" = {"DriverPowerState"=1,"MaxPowerState"=1,"CurrentPowerState"=1}
    | |   |       |       |   "Vectorize" = Yes
    | |   |       |       |   "IOProbeScore" = 0
    | |   |       |       |   "IOUserClientClass" = "VoodooHDAUserClient"
    | |   |       |       |   "VoodooHDAEnableHalfMicVolumeFix" = No
    | |   |       |       |   "VoodooHDAVerboseLevel" = 0
    | |   |       |       |   "VoodooHDAEnableVolumeChangeFix" = No
    | |   |       |       |   "CFBundleIdentifier" = "org.voodoo.driver.VoodooHDA"
    | |   |       |       |   "IOMatchCategory" = "VoodooHDADevice"
    | |   |       |       |   "IOAudioDeviceCanBeDefaults" = 7
    | |   |       |       |   "MixerValues" = {"iMix"=0,"PCM"=90,"Rec"=70,"iGain"=0}
    | |   |       |       |   "InhibitCache" = No
    | |   |       |       |   "IOPCIClassMatch" = "0x04030000&0xffff0000"
    | |   |       |       | }
    | |   |       |       | 
    | |   |       |       +-o VoodooHDAEngine  <class VoodooHDAEngine, id 0x10000029e, registered, matched, active, busy 0 (1825 ms), retain 9>
    | |   |       |         | {
    | |   |       |         |   "IOAudioEngineFlavor" = 1
    | |   |       |         |   "IOAudioEngineOutputSampleLatency" = 32
    | |   |       |         |   "IOAudioEngineDescription" = "Digital-out (HDMI)"
    | |   |       |         |   "IOAudioEngineSampleOffset" = 64
    | |   |       |         |   "IOAudioEngineInputSampleLatency" = 32
    | |   |       |         |   "IOAudioEngineClockDomain" = 75256320
    | |   |       |         |   "IOAudioSampleRate" = {"IOAudioSampleRateWholeNumber"=48000,"IOAudioSampleRateFraction"=0}
    | |   |       |         |   "IOAudioEngineNumSampleFramesPerBuffer" = 65536
    | |   |       |         |   "IOAudioEngineState" = 0
    | |   |       |         |   "IOAudioEngineGlobalUniqueID" = "VoodooHDAEngine:pci1002,aa50:0"
    | |   |       |         | }
    | |   |       |         | 
    | |   |       |         +-o IOAudioStream  <class IOAudioStream, id 0x10000029f, registered, matched, active, busy 0 (0 ms), retain 7>
    | |   |       |         |   {
    | |   |       |         |     "IOAudioStreamAvailableFormats" = ({"IOAudioStreamMaximumSampleRate"={"IOAudioSampleRateWholeNumber"=32000,"IOAudioSampleRateFraction"=0},"IO$
    | |   |       |         |     "IOAudioStreamDirection" = 0
    | |   |       |         |     "IOAudioStreamID" = 0
    | |   |       |         |     "IOAudioStreamStartingChannelID" = 1
    | |   |       |         |     "IOAudioStreamFormat" = {"IOAudioStreamAlignment"=0,"IOAudioStreamNumericRepresentation"=1936289396,"IOAudioStreamIsMixable"=1,"IOAudioStream$
    | |   |       |         |     "IOAudioStreamAvailable" = 1
    | |   |       |         |     "IOAudioStreamNumClients" = 0
    | |   |       |         |     "IOAudioStreamStartingChannelNumber" = 1
    | |   |       |         |   }
    | |   |       |         |   
    | |   |       |         +-o IOAudioSelectorControl  <class IOAudioSelectorControl, id 0x1000002a0, !registered, !matched, active, busy 0, retain 6>
    | |   |       |             {
    | |   |       |               "IOAudioControlType" = 1936483188
    | |   |       |               "IOAudioSelectorControlAvailableSelections" = ({"IOAudioSelectorControlSelectionValue"=1936745574,"IOAudioSelectorControlSelectionDescription$
    | |   |       |               "IOAudioControlChannelNumber" = 0
    | |   |       |               "IOAudioControlChannelID" = 0
    | |   |       |               "IOAudioControlUsage" = 1869968496
    | |   |       |               "IOAudioControlChannelName" = "All Channels"
    | |   |       |               "IOAudioControlValue" = 1936745574
    | |   |       |               "IOAudioControlID" = 65541
    | |   |       |               "IOAudioControlSubType" = 1869968496
    | |   |       |             }
    | |   |       |             
    | |   |       +-o pci-bridge@8  <class IOPCIDevice, id 0x10000018f, registered, matched, active, busy 0 (13891 ms), retain 11>
    | |   |         | {
    | |   |         |   "IOInterruptSpecifiers" = (<1000000007000000>)
    | |   |         |   "#address-cells" = <03000000>
    | |   |         |   "class-code" = <00040600>
    | |   |         |   "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2,"ChildProxyPowerState"=2,"MaxPowerState"=3}
    | |   |         |   "subsystem-vendor-id" = <0f000000>
    | |   |         |   "IOInterruptControllers" = ("io-apic-0")
    | |   |         |   "vendor-id" = <b5100000>
    | |   |         |   "IOChildIndex" = 2
    | |   |         |   "device-id" = <47860000>
    | |   |         |   "name" = <"pci-bridge">
    | |   |         |   "IOPCIExpressASPMDefault" = 0
    | |   |         |   "acpi-pmcap-offset" = 64
    | |   |         |   "compatible" = <"pcif,0","pci10b5,8647","pciclass,060400">
    | |   |         |   "ranges" = <00000082000000000000b0fe00000082000000000000b0fe0000000000001000000000c20f00000000000090000000c20f00000000000090000000000000001000000081000$
    | |   |         |   "IOPCIExpressLinkCapabilities" = 137940226
    | |   |         |   "IOPCIResourced" = Yes
    | |   |         |   "IODTPersist" = <>
    | |   |         |   "IOPCIConfigured" = Yes
    | |   |         |   "subsystem-id" = <00000000>
    | |   |         |   "revision-id" = <bb000000>
    | |   |         |   "IOPCIExpressLinkStatus" = 41218
    | |   |         |   "IOPCIExpressCapabilities" = 98
    | |   |         |   "pcidebug" = "5:8:0(7:7)"
    | |   |         |   "IOName" = "pci-bridge"
    | |   |         |   "#size-cells" = <02000000>
    | |   |         |   "reg" = <0040050000000000000000000000000000000000>
    | |   |         | }
    | |   |         | 
    | |   |         +-o IOPCI2PCIBridge  <class IOPCI2PCIBridge, id 0x1000001f6, registered, matched, active, busy 0 (13772 ms), retain 8>
    | |   |           | {
    | |   |           |   "IOProbeScore" = 18446744073709551516
    | |   |           |   "CFBundleIdentifier" = "com.apple.iokit.IOPCIFamily"
    | |   |           |   "IOProviderClass" = "IOPCIDevice"
    | |   |           |   "IOClass" = "IOPCI2PCIBridge"
    | |   |           |   "IOMatchCategory" = "IODefaultMatchCategory"
    | |   |           |   "IONameMatch" = "pci-bridge"
    | |   |           |   "IOPowerManagement" = {"MaxPowerState"=3,"ChildrenPowerState"=2,"CurrentPowerState"=2}
    | |   |           |   "IONameMatched" = "pci-bridge"
    | |   |           | }
    | |   |           | 
    | |   |           +-o display@0  <class IOPCIDevice, id 0x100000192, registered, matched, active, busy 0 (13772 ms), retain 14>
    | |   |             | {
    | |   |             |   "PP_DisableMCDownLoadFeature" = 1
    | |   |             |   "assigned-addresses" = <100007c20f00000000000090000000000000001018000782000000000000befe0000000000000200200007810000000000e000000000000000010000300$
    | |   |             |   "class-code" = <00800300>
    | |   |             |   "subsystem-vendor-id" = <02100000>
    | |   |             |   "vendor-id" = <02100000>
    | |   |             |   "IOPCIExpressLinkCapabilities" = 134221058
    | |   |             |   "ATY,SurfInfo" = <38d0bbd180ffffff>
    | |   |             |   "IOName" = "display"
    | |   |             |   "PP_R600RaisingLowPercentage" = 10
    | |   |             |   "pci-bus-number" = 7
    | |   |             |   "pci-device-number" = 0
    | |   |             |   "PP_UserMaxClockForMultiDisplays" = 1
    | |   |             |   "IOChildIndex" = 1
    | |   |             |   "pcidebug" = "7:0:0"
    | |   |             |   "pci-function-number" = 0
    | |   |             |   "PP_R600RaisingMediumPercentage" = 25
    | |   |             |   "IOPCIExpressLinkStatus" = 4354
    | |   |             |   "PP_R600LoweringMediumPercentage" = 10
    | |   |             |   "IOPCIExpressCapabilities" = 18
    | |   |             |   "ATIFEDSInfo2" = <060000000000000000e40b1480ffffff>
    | |   |             |   "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
    | |   |             |   "AAPL,gray-value" = <bfbfbf00>
    | |   |             |   "CFG_NO_PP" = No
    | |   |             |   "IOPCIResourced" = Yes
    | |   |             |   "ATY,PageFlipEnable" = <01000000>
    | |   |             |   "IODeviceMemory" = (({"address"=66840428544,"length"=268435456}),({"address"=4273864704,"length"=131072}),"IOSubMemoryDescriptor is not serializabl$
    | |   |             |   "IOPowerManagement" = {"MaxPowerState"=3,"ChildProxyPowerState"=2,"CurrentPowerState"=2}
    | |   |             |   "PP_HighSamplingInterval" = 200000
    | |   |             |   "AAPL,RegEntryID" = <00f8871280ffffffff0778ed7f000000656d6953000000007a6c755200000000>
    | |   |             |   "name" = <"display">
    | |   |             |   "subsystem-id" = <42200000>
    | |   |             |   "AAPL,ndrv-dev" = Yes
    | |   |             |   "AAPL,gray-page" = <01000000>
    | |   |             |   "IOPCIExpressASPMDefault" = 0
    | |   |             |   "IOOCDBundleName" = "AMDRadeonX3000GLDriver"
    | |   |             |   "PP_R600LoweringHighPercentage" = 25
    | |   |             |   "ATY,bin_image" = <55aa55e92502000000000000000000000000000000000000d8010000000049424d95000000000000000000000000000420373631323935353230000000000000$
    | |   |             |   "compatible" = <"pci1002,2042","pci1002,689c","pciclass,038000">
    | |   |             |   "PP_R600ActivityHysteresis" = 5
    | |   |             |   "ATY,remap-size" = 18446744071562067968
    | |   |             |   "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/pci-bridge@0/IOPCI2PCIBridge/pci-bridg$
    | |   |             |   "reg" = <000007000000000000000000000000000000000010000742000000000000000000000000000000101800070200000000000000000000000000000200200007010000000000$
    | |   |             |   "PP_ActivitySamplingInterval" = 1000
    | |   |             |   "ATY,CAIL_IRI" = <0800010000000000280000000100000000d0771280ffffff6fc809817fffffff97c809817fffffffe03b55f080ffffff>
    | |   |             |   "device-id" = <9c680000>
    | |   |             |   "revision-id" = <00000000>
    | |   |             |   "IOInterruptSpecifiers" = (<1000000007000000>,<0200000000000100>)
    | |   |             |   "AAPL,iokit-ndrv" = <f0fcef807fffffff>
    | |   |             | }
    | |   |             | 
    | |   |             +-o RadeonSensors  <class RadeonSensors, id 0x100000204, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |             |   {
    | |   |             |     "IOProbeScore" = 0
    | |   |             |     "CFBundleIdentifier" = "org.hwsensors.driver.GPUSensors"
    | |   |             |     "IOMatchCategory" = "FakeSMCPlugin"
    | |   |             |     "IOClass" = "RadeonSensors"
    | |   |             |     "IOPCIClassMatch" = "0x03000000&0xff000000"
    | |   |             |     "IOPCIMatch" = "0x00001002&0x0000ffff"
    | |   |             |     "IOProviderClass" = "IOPCIDevice"
    | |   |             |   }
    | |   |             |   
    | |   |             +-o IONDRVFramebuffer  <class IONDRVFramebuffer, id 0x1000002b8, registered, matched, active, busy 0 (5477 ms), retain 12>
    | |   |             | | {
    | |   |             | |   "IOClass" = "IONDRVFramebuffer"
    | |   |             | |   "CFBundleIdentifier" = "com.apple.iokit.IONDRVSupport"
    | |   |             | |   "IOProviderClass" = "IOPCIDevice"
    | |   |             | |   "IOCFPlugInTypes" = {"ACCF0000-0000-0000-0000-000a2789904e"="IOAccelerator2D.plugin"}
    | |   |             | |   "IONDRVFramebufferGeneration" = <0100000001000000>
    | |   |             | |   "IOPowerManagement" = {"CurrentPowerState"=0}
    | |   |             | |   "IOPMStrictTreeOrder" = Yes
    | |   |             | |   "IOProbeScore" = 20000
    | |   |             | |   "IONameMatch" = "display"
    | |   |             | |   "IOAccelTypes" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/pci-bridge@0/IOPCI2PCIBridge/pci-bridge@8/IOPCI2P$
    | |   |             | |   "IOMatchCategory" = "IOFramebuffer"
    | |   |             | |   "IOFBUIScale" = <00000000>
    | |   |             | |   "IONameMatched" = "display"
    | |   |             | |   "IOAccelRevision" = 2
    | |   |             | |   "IOAccelIndex" = 0
    | |   |             | | }
    | |   |             | | 
    | |   |             | +-o AGPM  <class AGPM, id 0x1000002cb, registered, matched, active, busy 0 (121 ms), retain 9>
    | |   |             | | | {
    | |   |             | | |   "max-value" = 3
    | |   |             | | |   "min-value" = 0
    | |   |             | | |   "IOPowerManagement" = {"CurrentPowerState"=0}
    | |   |             | | |   "Heuristic-ID" = <ffffffff>
    | |   |             | | | }
    | |   |             | | | 
    | |   |             | | +-o gpu-control  <class IOService, id 0x1000002cc, registered, matched, active, busy 0 (121 ms), retain 7>
    | |   |             | |   | {
    | |   |             | |   |   "zone" = 0
    | |   |             | |   |   "compatible" = "gpu-control"
    | |   |             | |   |   "version" = 2
    | |   |             | |   |   "dpm" = 1
    | |   |             | |   |   "reg" = 18
    | |   |             | |   |   "max-value" = 3
    | |   |             | |   |   "type" = "gpu-control"
    | |   |             | |   |   "device_type" = "gpu-control"
    | |   |             | |   |   "location" = "primary-gpu-control"
    | |   |             | |   |   "control-id" = 18
    | |   |             | |   |   "name" = <"gpu-control">
    | |   |             | |   |   "min-value" = 0
    | |   |             | |   | }
    | |   |             | |   | 
    | |   |             | |   +-o IOHWControl  <class IOHWControl, id 0x10000030e, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |             | |       {
    | |   |             | |         "IOClass" = "IOHWControl"
    | |   |             | |         "CFBundleIdentifier" = "com.apple.driver.AppleHWSensor"
    | |   |             | |         "IOProviderClass" = "IOService"
    | |   |             | |         "IOPropertyMatch" = {"device_type"="gpu-control"}
    | |   |             | |         "zone" = 0
    | |   |             | |         "version" = 2
    | |   |             | |         "IOPowerManagement" = {"MaxPowerState"=1,"CurrentPowerState"=0}
    | |   |             | |         "IOProbeScore" = 0
    | |   |             | |         "max-value" = 3
    | |   |             | |         "IOMatchCategory" = "IODefaultMatchCategory"
    | |   |             | |         "type" = "gpu-control"
    | |   |             | |         "current-value" = 0
    | |   |             | |         "location" = "primary-gpu-control"
    | |   |             | |         "target-value" = 3
    | |   |             | |         "control-id" = 18
    | |   |             | |         "min-value" = 0
    | |   |             | |       }
    | |   |             | |       
    | |   |             | +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000002d3, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |             | | | {
    | |   |             | | |   "IOProbeScore" = 0
    | |   |             | | |   "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |             | | |   "IOMatchCategory" = "AppleMCCSControlFamily"
    | |   |             | | |   "IOClass" = "AppleMCCSControlModule"
    | |   |             | | |   "IOProviderClass" = "IOFramebuffer"
    | |   |             | | |   "IOKitDebug" = 0
    | |   |             | | |   "IOUserClientClass" = "AppleMCCSUserClient"
    | |   |             | | |   "IOResourceMatch" = "IOKit"
    | |   |             | | | }
    | |   |             | | | 
    | |   |             | | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000002dd, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |             | |     {
    | |   |             | |       "IOProbeScore" = 0
    | |   |             | |       "CFBundleIdentifier" = "com.apple.driver.AppleMCCSControl"
    | |   |             | |       "IOMatchCategory" = "IODisplayParameters"
    | |   |             | |       "IOClass" = "AppleMCCSParameterHandler"
    | |   |             | |       "IOProviderClass" = "AppleMCCSControlFamily"
    | |   |             | |       "IOKitDebug" = 0
    | |   |             | |       "AppleMCCSFeatures" = 1
    | |   |             | |       "IOResourceMatch" = "IOKit"
    | |   |             | |     }
    | |   |             | |     
    | |   |             | +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000002d5, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |             |     {
    | |   |             |       "IOProbeScore" = 0
    | |   |             |       "CFBundleIdentifier" = "com.apple.driver.AppleUpstreamUserClient"
    | |   |             |       "IOProviderClass" = "IOFramebuffer"
    | |   |             |       "IOClass" = "AppleUpstreamUserClientDriver"
    | |   |             |       "IOMatchCategory" = "AppleUpstreamUserClientDriver"
    | |   |             |       "IOUserClientClass" = "AppleUpstreamUserClient"
    | |   |             |       "IOResourceMatch" = "IOKit"
    | |   |             |     }
    | |   |             |     
    | |   |             +-o AMDSupport  <class AMDSupport, id 0x1000002b6, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |             |   {
    | |   |             |     "IOProbeScore" = 65050
    | |   |             |     "CFBundleIdentifier" = "com.apple.kext.AMDSupport"
    | |   |             |     "IOMatchCategory" = "AMDSupport"
    | |   |             |     "IOClass" = "AMDSupport"
    | |   |             |     "IOPCIClassMatch" = "0x03000000&0xFF000000"
    | |   |             |     "IOPCIMatch" = "0x00001002&0x0000FFFF"
    | |   |             |     "IOProviderClass" = "IOPCIDevice"
    | |   |             |     "iofb_version" = "1.1.36"
    | |   |             |   }
    | |   |             |   
    | |   |             +-o AMDCypressGraphicsAccelerator  <class AMDCypressGraphicsAccelerator, id 0x1000002ba, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |                 {

I think the second gpu is involved in this since the first one is appearing registered in ioreg and stuck at the second entry of CypressGA. Trying now with subsysids for a secondary match.

AMD5000Controller.kext.zip

Edited by romaincs
Link to comment
Share on other sites

I'm just stuck on disabling kext loading for the second GPU... but ioreg report that it works for the first one !

 

I tryed to add in each kext (AMD5000Controller and AMDRadeonX3000) this :

<key>IOPCIClassMatch</key>
<string>0x03000000&0xFFFF0000</string>

or this

<key>IOPCISecondaryMatch</key>
<string>0x25421002</string>

With no luck...

 

Any idea to achieve this ?

Link to comment
Share on other sites

all right I made it work ! Credits to iPoco for providing me some reading to solve the PCI filtering issue :D

 

Just need to solve another little thing and then I'll post the working kexts for 5970 under mavericks !

Link to comment
Share on other sites

There is still an issue but I try to solve it. Screen detection is a bit weird... Need to edit again the ConnectorConfig. Only one dvi port is working and it duplicate the monitor connected in.

 

If any idea... ! :)

 

Here the bios dumps :

ATOM BIOS Rom: 
	SubsystemVendorID: 0x1002 SubsystemID: 0x2542
	IOBaseAddress: 0x0000
	Filename: S3C00001.104
	BIOS Bootup Message: 
HEMLOCK MASTER XT BIOS UCODEv:126                                           

PCI ID: 1002:689c
Connector at index 0
	Type [@offset 44724]: DisplayPort (10)
	Encoder [@offset 44728]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 44826]: 0x91, OSX senseid: 0x2
Connector at index 1
	Type [@offset 44734]: DVI-I (2)
	Encoder [@offset 44738]: INTERNAL_UNIPHY1 (0x20)
	i2cid [@offset 44863]: 0x92, OSX senseid: 0x3
Connector at index 2
	Type [@offset 44744]: DVI-I (2)
	Encoder [@offset 44748]: INTERNAL_KLDSCP_DAC2 (0x16)
	i2cid [@offset 44863]: 0x92, OSX senseid: 0x3
Connector at index 3
	Type [@offset 44754]: DVI-I (2)
	Encoder [@offset 44758]: INTERNAL_UNIPHY (0x1e)
	i2cid [@offset 44900]: 0x94, OSX senseid: 0x5
Connector at index 4
	Type [@offset 44764]: DVI-I (2)
	Encoder [@offset 44768]: INTERNAL_KLDSCP_DAC1 (0x15)
	i2cid [@offset 44900]: 0x94, OSX senseid: 0x5



S3C00001.104:

HEMLOCK MASTER XT BIOS UCODEv:126                                           

Subsystem Vendor ID: 1002
       Subsystem ID: 2542
Object Header Structure Size: 325
Connector Object Table Offset: 48
Router Object Table Offset: 0
Encoder Object Table Offset: e4
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
	encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [2] which is [DVI_I]
	encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [2] which is [DVI_I]
	encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false
Connector Object Id [2] which is [DVI_I]
	encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
	encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

Here the edited FB :

Personality: Zonalis
ConnectorInfo count in decimal: 6
Disk offset in decimal 635456
0000000    00  04  00  00  04  07  00  00  00  01  00  00  22  05  01  02
0000010    04  00  00  00  14  00  00  00  00  01  00  00  11  02  02  03
0000020    04  00  00  00  14  00  00  00  00  01  00  00  00  10  02  03
0000030    04  00  00  00  14  00  00  00  00  01  00  00  10  00  04  05
0000040    04  00  00  00  14  00  00  00  00  01  00  00  00  10  04  05
0000050    00  04  00  00  04  06  00  00  00  71  00  00  12  04  03  01
0000060

Here are the kexts to make QE/CI and full resolution works for 5970 on 10.9. You'll have to add some flags to your chameleon to make it working :

 

 GraphicsEnabler=Yes

 AtiConfig=Zonalis

 

 

Archive.zip

Link to comment
Share on other sites

Hey panpansh,

 

QE/CI works but I have some issue with screen probing.

 

For example, when I plug only a monitor to the first DVI port (left one), it works.

 

If I hot unplug it and switch it to the second DVI port (right one), it works.

 

If I hot unplug it again and switch it back to the first DVI port, it does not work. Only the second DVI port is working.

 

If I plug two monitors on both DVI, I only get one screen up, on the second port (right one).

 

DP does not work at all.

 

And with all that result, the only working monitor is detected twice.

Link to comment
Share on other sites

Ok, sorry but my skills stop here :(

I have an XFX 5870, and I have the HDMI (video) and the first DVI working on dual monitors.

The second DVI doesn't work at all and next week I go to test DisplayPort with an adapter.

I hope good luck and good researches for you !

Link to comment
Share on other sites

Triple screen working. No more ghost screen. Still have an issue with screen detection. If needed, unplug/plug the dvi on the right to trigger it.

 

Use AtiConfig=Zonalis and GraphicsEnabler=Yes

 

Please report !

 

Here is the edited FB. If someone has any idea to correct the issue, feel free to help ! :whistle:

=====          |     Type     | Control Flags |     Feat.     |TR |EN |HP |SI |
DP   0000000    00  04  00  00  04  07  00  00  00  01  00  00  22  05  01  02
DVI2 0000010    04  00  00  00  14  00  00  00  00  01  00  00  11  02  02  03
DAC2 0000020    00  02  00  00  00  00  00  00  00  01  00  00  00  20  00  03
DVI1 0000030    04  00  00  00  14  00  00  00  00  01  00  00  10  00  03  05
DAC1 0000040    00  02  00  00  00  00  00  00  00  01  00  00  00  10  00  05
———— 0000050    00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00
=====0000060

5970 Mavericks.zip

  • Like 1
Link to comment
Share on other sites

Hey,

 

You can dump bios with a tool under windows like "Radeon BIOS editor" from techpowerup.com.

 

I submited new kexts yesterday with better framebuffer edit, so at first try with them without moding plists.

 

I'd like to see your dump before I drive you to edit your plists. But you can try to replace in both kexts :

			<key>IOPCIClassMatch</key>
			<string>0x03000000&0xFFFFFF00</string>

by

			<key>IOPCIClassMatch</key>
			<string>0x03000000</string>

or

			<key>IOPCIMatch</key>
			<string>0x689C1002</string>

Try both.

 

But I bet that we have some differences in Connectors Configuration. My GPU is from Club 3D

Link to comment
Share on other sites

Hey,

 

You can dump bios with a tool under windows like "Radeon BIOS editor" from techpowerup.com.

 

I submited new kexts yesterday with better framebuffer edit, so at first try with them without moding plists.

 

I'd like to see your dump before I drive you to edit your plists. But you can try to replace in both kexts :

			<key>IOPCIClassMatch</key>
			<string>0x03000000&0xFFFFFF00</string>

by

			<key>IOPCIClassMatch</key>
			<string>0x03000000</string>

or

			<key>IOPCIMatch</key>
			<string>0x689C1002</string>

Try both.

 

But I bet that we have some differences in Connectors Configuration. My GPU is from Club 3D

Ok here the dump for master and slave whit AtiWinflash. My card is from Sapphire

5970Rom.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...