Jump to content
519 posts in this topic

Recommended Posts

Yeah, I do get an empty AudioCodecID.txt here. I'm using AppleHDA for my ALC892 (GA-H87-HD3 Haswell build here). Tried launching the binary from within resources and got the following:

 

g00dman$ sudo -s
bash-3.2# cd /Applications/Utilities/DarwinDumper.app/Contents/Resources/Tools/
bash-3.2# ./getcodecid
Realtek ALC892
Segmentation fault: 11
 
 
Then I got hold of the Any's binary release from the thread you've pointed and ran it, the output it produced was the same:
 
Realtek ALC892
Segmentation fault: 11
 
 Same thing with the no-ARC version.. 
 Guess it just fails to detect the 0x80862807 Haswell HDMI codec, which actually isn't being detected by AppleHDA either.
Link to comment
Share on other sites

It sort of hangs in mid-air, which may indeed cause Andy's tool to fail, since the codec is there and AppleHDA somewhat attaches to it, but yet it remains non-functional and HDAU device lacks DigitalAudioCapabilities property. So, I guess it's a common issue for Haswell platforms as of now, because to this day nobody managed to get HDMI audio going at all.

Link to comment
Share on other sites

  • 2 weeks later...
v2.7.9 -> 2.8.0

 

- Revise script to dump efivar boot entries even if entry 0000 does not exist.

- Revise the Bootloader config DriverList.txt file and add detection of versions.

- Add colour to the config plist files section of the HTML report to help identification of which file belongs to which loader.

- Rename UI Audio dump title from 'Audio Codec' to 'Audio Codec ID/Info'.

- Only prepare VoodooHDA.kext and RadeonPCI.kext for loading if needed.

- Search for an increased number of efivar boot options.

- Separated RC Scripts and NVRAM dump options.

- Script attempts to read firmware variables as described in Data/nvram_firmware_variable_calls.txt.

- Renamed dump file gEfiAppleNvramGuid_Vars.txt to uefi_firmware_vars.txt.

- UEFI firmware vars are printed as hex dumps.

 

UEFI firmware variable dump now mimics dmpstore from EFI shell. Though please note, that from the OS I do not know if it's possible to query for a list of non-Apple UEFI firmware vars, so instead the script uses a predefined list of known vars and calls each in turn in the hope of receiving a reply. The list can be added to as and when EFI GUID's and associated variables are made known so please let me know if you have any you want adding. Also, if any dev has the time and want to create a C program to read the NVRAM variable for data and convert to a hexdump then please do so as my bash script is tediously slow. 

 

Anyway, here's an example from my machine: 

------------------------------------------------------------------------------
8BE4DF61-93CA-11D2-AA0D-00E098032B8C:BootOrder 
------------------------------------------------------------------------------
0080,0004,0082,0001,0002,0081
 
------------------------------------------------------------------------------
8BE4DF61-93CA-11D2-AA0D-00E098032B8C:BootCurrent 
------------------------------------------------------------------------------
0004
 
------------------------------------------------------------------------------
8BE4DF61-93CA-11D2-AA0D-00E098032B8C:Boot0001
------------------------------------------------------------------------------
00000000  01 00 00 00 0d 00 43 00  44 00 2f 00 44 00 56 00  |......C.D./.D.V.|
00000010  44 00 20 00 44 00 72 00  69 00 76 00 65 00 20 00  |D. .D.r.i.v.e. .|
00000020  00 00 05 01 09 00 03 00  00 00 00 7f ff 04 00 41  |...............A|
00000030  4d 47 4f 41 4d 4e 4f b7  00 00 00 01 00 00 00 75  |MGOAMNO........u|
00000040  00 4f 00 70 00 74 00 69  00 61 00 72 00 63 00 20  |.O.p.t.i.a.r.c. |
00000050  00 44 00 56 00 44 00 20  00 52 00 57 00 20 00 41  |.D.V.D. .R.W. .A|
00000060  00 44 00 2d 00 37 00 32  00 38 00 30 00 53 00 00  |.D.-.7.2.8.0.S..|
00000070  00 05 01 09 00 03 00 00  00 00 7f ff 04 00 02 01  |................|
00000080  0c 00 d0 41 03 0a 00 00  00 00 01 01 06 00 02 1f  |...A............|
00000090  03 12 0a 00 03 00 ff ff  00 00 7f ff 04 00 01 04  |................|
000000a0  44 00 ef 47 64 2d c9 3b  a0 41 ac 19 4d 51 d0 1b  |D..Gd-.;.A..MQ..|
000000b0  4c e6 4f 00 70 00 74 00  69 00 61 00 72 00 63 00  |L.O.p.t.i.a.r.c.|
000000c0  20 00 44 00 56 00 44 00  20 00 52 00 57 00 20 00  | .D.V.D. .R.W. .|
000000d0  41 00 44 00 2d 00 37 00  32 00 38 00 30 00 53 00  |A.D.-.7.2.8.0.S.|
000000e0  00 00 7f ff 04 00 41 4d  42 4f                    |......AMBO|
000000ea
 
------------------------------------------------------------------------------
8BE4DF61-93CA-11D2-AA0D-00E098032B8C:Boot0002
------------------------------------------------------------------------------
00000000  01 00 00 00 0d 00 48 00  61 00 72 00 64 00 20 00  |......H.a.r.d. .|
00000010  44 00 72 00 69 00 76 00  65 00 20 00 00 00 05 01  |D.r.i.v.e. .....|
00000020  09 00 02 00 00 00 00 7f  ff 04 00 41 4d 47 4f 41  |...........AMGOA|
00000030  4d 4e 4f ad 00 00 00 01  00 00 00 6f 00 57 00 44  |MNO........o.W.D|
00000040  00 43 00 20 00 57 00 44  00 37 00 35 00 30 00 31  |.C. .W.D.7.5.0.1|
00000050  00 41 00 41 00 45 00 53  00 2d 00 32 00 32 00 57  |.A.A.E.S.-.2.2.W|
00000060  00 37 00 41 00 30 00 00  00 05 01 09 00 02 00 00  |.7.A.0..........|
00000070  00 00 7f ff 04 00 02 01  0c 00 d0 41 03 0a 00 00  |...........A....|
00000080  00 00 01 01 06 00 02 1f  03 12 0a 00 02 00 ff ff  |................|
00000090  00 00 7f ff 04 00 01 04  3e 00 ef 47 64 2d c9 3b  |........>..Gd-.;|
000000a0  a0 41 ac 19 4d 51 d0 1b  4c e6 20 00 20 00 20 00  |.A..MQ..L. . . .|
000000b0  20 00 57 00 20 00 2d 00  44 00 43 00 57 00 54 00  | .W. .-.D.C.W.T.|
000000c0  41 00 30 00 52 00 32 00  34 00 38 00 37 00 35 00  |A.0.R.2.4.8.7.5.|
000000d0  36 00 00 00 7f ff 04 00  41 4d 42 4f 41 4d 4e 4f  |6.......AMBOAMNO|
000000e0  9b 00 00 00 01 00 00 00  6f 00 4f 00 43 00 5a 00  |........o.O.C.Z.|
000000f0  2d 00 41 00 47 00 49 00  4c 00 49 00 54 00 59 00  |-.A.G.I.L.I.T.Y.|
00000100  33 00 00 00 05 01 09 00  02 00 00 00 00 7f ff 04  |3...............|
00000110  00 02 01 0c 00 d0 41 03  0a 00 00 00 00 01 01 06  |......A.........|
00000120  00 02 1f 03 12 0a 00 01  00 ff ff 00 00 7f ff 04  |................|
00000130  00 01 04 3e 00 ef 47 64  2d c9 3b a0 41 ac 19 4d  |...>..Gd-.;.A..M|
00000140  51 d0 1b 4c e6 43 00 4f  00 2d 00 5a 00 4e 00 30  |Q..L.C.O.-.Z.N.0|
00000150  00 46 00 33 00 36 00 45  00 45 00 34 00 52 00 49  |.F.3.6.E.E.4.R.I|
00000160  00 38 00 58 00 4f 00 32  00 33 00 38 00 00 00 7f  |.8.X.O.2.3.8....|
00000170  ff 04 00 41 4d 42 4f 41  4d 4e 4f a1 00 00 00 01  |...AMBOAMNO.....|
00000180  00 00 00 6f 00 53 00 41  00 4d 00 53 00 55 00 4e  |...o.S.A.M.S.U.N|
00000190  00 47 00 20 00 48 00 44  00 35 00 30 00 32 00 49  |.G. .H.D.5.0.2.I|
000001a0  00 4a 00 00 00 05 01 09  00 02 00 00 00 00 7f ff  |.J..............|
000001b0  04 00 02 01 0c 00 d0 41  03 0a 00 00 00 00 01 01  |.......A........|
000001c0  06 00 02 1f 03 12 0a 00  04 00 ff ff 00 00 7f ff  |................|
000001d0  04 00 01 04 3e 00 ef 47  64 2d c9 3b a0 41 ac 19  |....>..Gd-.;.A..|
000001e0  4d 51 d0 1b 4c e6 31 00  53 00 54 00 33 00 39 00  |MQ..L.1.S.T.3.9.|
000001f0  4a 00 51 00 30 00 30 00  42 00 30 00 37 00 39 00  |J.Q.0.0.B.0.7.9.|
00000200  30 00 20 00 20 00 20 00  20 00 20 00 20 00 00 00  |0. . . . . . ...|
00000210  7f ff 04 00 41 4d 42 4f  41 4d 4e 4f b5 00 00 00  |....AMBOAMNO....|
00000220  01 00 00 00 75 00 53 00  4b 00 59 00 4d 00 45 00  |....u.S.K.Y.M.E.|
00000230  44 00 49 00 20 00 55 00  53 00 42 00 20 00 44 00  |D.I. .U.S.B. .D.|
00000240  72 00 69 00 76 00 65 00  20 00 31 00 2e 00 30 00  |r.i.v.e. .1...0.|
00000250  30 00 00 00 05 01 09 00  02 00 00 00 00 7f ff 04  |0...............|
00000260  00 02 01 0c 00 d0 41 03  0a 00 00 00 00 01 01 06  |......A.........|
00000270  00 00 1a 03 05 06 00 01  00 03 05 06 00 03 00 7f  |................|
00000280  ff 04 00 01 04 42 00 ef  47 64 2d c9 3b a0 41 ac  |.....B..Gd-.;.A.|
00000290  19 4d 51 d0 1b 4c e6 53  00 4b 00 59 00 4d 00 45  |.MQ..L.S.K.Y.M.E|
000002a0  00 44 00 49 00 20 00 55  00 53 00 42 00 20 00 44  |.D.I. .U.S.B. .D|
000002b0  00 72 00 69 00 76 00 65  00 20 00 31 00 2e 00 30  |.r.i.v.e. .1...0|
000002c0  00 30 00 00 00 7f ff 04  00 41 4d 42 4f           |.0.......AMBO|
000002cd
 
------------------------------------------------------------------------------
8BE4DF61-93CA-11D2-AA0D-00E098032B8C:Boot0004
------------------------------------------------------------------------------
00000000  01 00 00 00 66 00 43 00  6c 00 6f 00 76 00 65 00  |....f.C.l.o.v.e.|
00000010  72 00 20 00 4f 00 53 00  20 00 58 00 20 00 42 00  |r. .O.S. .X. .B.|
00000020  6f 00 6f 00 74 00 00 00  04 01 2a 00 01 00 00 00  |o.o.t.....*.....|
00000030  28 00 00 00 00 00 00 00  00 40 06 00 00 00 00 00  |(........@......|
00000040  54 43 0b 75 57 b9 b2 43  81 2e 2f 30 fa d2 d1 b3  |TC.uW..C../0....|
00000050  02 02 04 04 38 00 5c 00  45 00 46 00 49 00 5c 00  |....8.\.E.F.I.\.|
00000060  43 00 4c 00 4f 00 56 00  45 00 52 00 5c 00 43 00  |C.L.O.V.E.R.\.C.|
00000070  4c 00 4f 00 56 00 45 00  52 00 58 00 36 00 34 00  |L.O.V.E.R.X.6.4.|
00000080  2e 00 45 00 46 00 49 00  00 00 7f ff 04 00        |..E.F.I.......|
0000008e
 
------------------------------------------------------------------------------
8BE4DF61-93CA-11D2-AA0D-00E098032B8C:Boot0080
------------------------------------------------------------------------------
00000000  01 00 00 00 4a 00 4d 00  61 00 63 00 20 00 4f 00  |....J.M.a.c. .O.|
00000010  53 00 20 00 58 00 00 00  02 01 0c 00 d0 41 03 0a  |S. .X........A..|
00000020  00 00 00 00 01 01 06 00  02 1f 03 12 0a 00 01 00  |................|
00000030  00 00 00 00 04 01 2a 00  03 00 00 00 28 40 22 00  |......*.....(@".|
00000040  00 00 00 00 c0 2f c7 06  00 00 00 00 de a5 e2 47  |...../.........G|
00000050  75 b0 93 49 af c1 b7 86  7a 64 4a 5d 02 02 7f ff  |u..I....zdJ]....|
00000060  04 00                                             |..|
00000062
  • Like 2
Link to comment
Share on other sites

v2.8.0 -> 2.8.1

 

- Replace NVRAM dump script with amended version of Apple's nvram tool (much faster than previous script).

- NVRAM dump option now also saves a hexdump of NVRAM Apple specific vars.

- Update associated UI info page.

- Update HTML report build script.

- Revise Privatise routine to mask NVRAM data.

Link to comment
Share on other sites

  • 3 weeks later...

v2.8.1 -> 2.8.2 (only released for testing)

- Add private mask for serial number in Ozmosis boot log.
- Updated version of amended nvram binary with more hardcoded firmware vars.
- Add check for the string 'Clover' as well as 'rEFIt' in boot-log. Should work with Clover versions r2000 an onwards.
- Add privatise mask for NVRAM ROM var. 

 

--------------------------------------------------------------------------

 

v2.8.2 -> 2.8.3

- Update iasl binary (Compiler version 20130823-32) (Thanks Slice).
- Update nvram binary with 10.6 compatible version (Thanks Slice).
- Tweak privatise function to mask more characters.
- Fix an html report bug where an exclamation mark would cause a table to not collapse by default.

  • Like 2
Link to comment
Share on other sites

v2.8.3 -> 2.8.4

 

- Add privatise mask for platform-uuid NVRAM var.

- Add detection for Ozmosis loader name and revision.

- Change UI menu option wording from 'Save Location' to 'Custom Path'.

- Only write a file save path to prefs if user sets explicit custom path.

- Add check to see if a previously set explicit custom path still exists.

- Add visual check mark beside 'Custom Path' menu option to indicate an explicit custom save path is set.

- Add option for use to clear a custom save path from the UI.

- Added credit to dong for original RadeonDump tool.

- Add a 'Select All' checkbox for quick selection of both sets of dump options.

- Add privatise mask for IOPlatformSerialNumber in Ozmosis boot-log.

 

NOTE:

This version changes the way the custom save path is managed.

If you use a custom save path then please delete the following preferences file before running the app.

~/Library/Preferences/org.tom.DarwinDumper.plist 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

@blackosx,

 

Darwin Dumper extracts all ACPI tables? Including the tables listed in this snippet:

 

    Scope (\)
    {
        Name (SSDT, Package (0x0C)
        {
            "CPU0IST ", 
            0x81941190, 
            0x00000000, 
            "APIST   ", 
            0x82F8A190, 
            0x0000067C, 
            "CPU0CST ", 
            0x82F89890, 
            0x000004F0, 
            "APCST   ", 
            0x82F88D90, 
            0x00000119
        })

I ask this because IOJones will not extract all ACPI tables. Not on a MacBook Air (late 2013) and possibly also fails on the new iMacs.

 

Link to comment
Share on other sites

Hi Pike

 

The DarwinDumper script essentially just extracts each table from IORegistry > AppleACPIPlatformExpert > ACPI Tables using ioreg -lw0 | grep "ACPI Tables" with the = character used as a delimeter. If those tables appear in ioreg then the script should dump them.

 

EDIT: I think Clover can dump ALL ACPI tables from it's GUI. Maybe with F4 keyboard command (not sure)?

EDIT2: I also think Slice's Kernel Memory Dumper binary (check projectosx when it's back up) may also help with dumping the other tables.

Link to comment
Share on other sites

v2.8.4 -> 2.8.5

 

- Add privatise mask for SystemSerial NVRAM var.

- Add check for alternative firmware identifiers.

- Fix recent bug where American Megatrends Firmware name was ignored.

- Update nvram binary with latest version with more hardcoded efivars.

- Fix privatise mask for a quoted IORegistry->DeviceTree->platform->SystemSerialNumber.

- Add privatise mask for IORegistry->DeviceTree->platform->system-id.

- Add privatise mask for Ozmosis boot-log custom UUID value.

Link to comment
Share on other sites

I recompiled the kext and program for 10.5

@Blackosx: You should use the 10.5 RadeonDump binary and use the RadeonPCI 10.5 kext on 10.5 and RadeonPCI 10.7 kext on 10.6 and up (it should work).

Somebody: Please test that 10.6 hypothesis by using 10.5 RadeonDump and 10.7 RadeonPCI.kext on 10.6

Sources included ;)

Hi Andy

 

I've finally got round to testing this on 10.6.8.

Booting in 64bit is good and kext loads (need to double check). EDIT: Yep loads fine.

Booting in 32bit I see the following errors on loading the RadeonPCI.kext from either the Compiled_10.5 and Compiled_10.7 folders.

$ sudo kextutil -v RadeonPCI.kext/
Password:
RadeonPCI.kext appears to be loadable (not including linkage for on-disk libraries).
Loading RadeonPCI.kext.
(kernel) kxld[com.dong.driver.RadeonPCI]: The Mach-O file is malformed: Invalid segment type in MH_OBJECT kext: 38.
(kernel) Can't load kext com.dong.driver.RadeonPCI - link failed.
(kernel) Failed to load executable for kext com.dong.driver.RadeonPCI.
(kernel) Kext com.dong.driver.RadeonPCI failed to load (0xdc008016).
(kernel) Failed to load kext com.dong.driver.RadeonPCI (error 0xdc008016).
Failed to load RadeonPCI.kext - (libkern/kext) link error.
Failed to load RadeonPCI.kext - (libkern/kext) link error.
Check library declarations for your kext with kextlibs(8).
$

Is there anything I can try to get the kext to load?

 

I have also tried dong's version but that ends with a Kernel Panic.

Link to comment
Share on other sites

Hi Andy

 

I've finally got round to testing this on 10.6.8.

Booting in 64bit is good and kext loads (need to double check). EDIT: Yep loads fine.

Booting in 32bit I see the following errors on loading the RadeonPCI.kext from either the Compiled_10.5 and Compiled_10.7 folders.

$ sudo kextutil -v RadeonPCI.kext/
Password:
RadeonPCI.kext appears to be loadable (not including linkage for on-disk libraries).
Loading RadeonPCI.kext.
(kernel) kxld[com.dong.driver.RadeonPCI]: The Mach-O file is malformed: Invalid segment type in MH_OBJECT kext: 38.
(kernel) Can't load kext com.dong.driver.RadeonPCI - link failed.
(kernel) Failed to load executable for kext com.dong.driver.RadeonPCI.
(kernel) Kext com.dong.driver.RadeonPCI failed to load (0xdc008016).
(kernel) Failed to load kext com.dong.driver.RadeonPCI (error 0xdc008016).
Failed to load RadeonPCI.kext - (libkern/kext) link error.
Failed to load RadeonPCI.kext - (libkern/kext) link error.
Check library declarations for your kext with kextlibs(8).
$
Is there anything I can try to get the kext to load?

 

I have also tried dong's version but that ends with a Kernel Panic.

Probably dependencies.

I can't check as I've only got Mavericks.

sudo kextlibs -c -xml /path/to/kext.kext

Can auto check the dependencies.

You can then modify the OSBundleLibraries key in the Info.plist

Let me know...

EDIT: oh... mal formed file.

It needs to be recompiled with Xcode 3.2.6 for i386 and x86_64

  • Like 1
Link to comment
Share on other sites

Thanks for the prompt reply Andy.

sudo kextlibs -c -xml /path/to/RadeonPCI/Compiled_10.7/RadeonPCI.kext
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kpi.iokit</key>
<string>7.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0d0</string>
</dict>

And for ref, the 10.5 version (though I am not trying to load this for 10.6)

sudo kextlibs -c -xml /path/to/RadeonPCI/Compiled_10.5/RadeonPCI.kext
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kpi.iokit</key>
<string>7.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0d0</string>
</dict>
 
For i386:
    2 symbols not found in any library kext.

I have Xcode 3.2.3 here on the 10.6.8 system. I've just compiled the source from your RadeonPCI_AnV_Dong_2.zip and loading it now results in a KP (same as I get when loading dong's kext).

 

Here's the KP for reference:

Interval Since Last Panic Report:  1064281 sec
Panics Since Last Report:          5
Anonymous UUID:                    58971C1E-3ECC-4730-9A5B-C6142C8D94BE
 
Fri Oct 18 14:13:41 2013
panic(cpu 0 caller 0x560821): "getPhysicalSegment() out of 32b range 0xf10000000, len 0x0, class IOGeneralMemoryDescriptor"@/SourceCache/xnu/xnu-1504.15.3/iokit/Kernel/IOMemoryDescriptor.cpp:1594
Backtrace (CPU 0), Frame : Return Address (4 potential args on stack)
0x7c333d08 : 0x21b837 (0x5dd7fc 0x7c333d3c 0x223ce1 0x0) 
0x7c333d58 : 0x560821 (0x5e6dfc 0x10000000 0xf 0x0) 
0x7c333da8 : 0x55d0c2 (0xd3efa80 0x0 0x0 0x2) 
0x7c333dc8 : 0x10f7197 (0xd3efa80 0x0 0x7c333df8 0x0) 
0x7c333e18 : 0x543f60 (0x1139a400 0xd342700 0x1 0x506b76) 
0x7c333e78 : 0x542137 (0xd342700 0x1139a400 0x16fefdc0 0x51a1b0) 
0x7c333f28 : 0x5426e9 (0xd342700 0x16fde7c0 0x0 0x516766) 
0x7c333f78 : 0x5443d5 (0xd342700 0x8 0x7c333fac 0x1) 
0x7c333fc8 : 0x2a179c (0xd6d6bb0 0x0 0x10 0xec2ba64) 
      Kernel Extensions in backtrace (with dependencies):
         com.dong.driver.RadeonPCI(1.1.1d1)@0x10f6000->0x10f8fff
 
BSD process name corresponding to current thread: kernel_task
 
Mac OS version:
10K549
 
Kernel version:
Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386
System model name: iMac11,3 (Mac-F2238BAE)
 
System uptime in nanoseconds: 230381188262
unloaded kexts:
com.apple.driver.AppleUSBUHCI 4.2.0 (addr 0x11c8000, size 0x65536) - last unloaded 91403044942
loaded kexts:
com.dong.driver.RadeonPCI 1.1.1d1 - last loaded 230377143491
com.logmein.driver.LogMeInSoundDriver 1.0.2
com.apple.filesystems.msdosfs 1.6.3
com.apple.driver.AppleBluetoothMultitouch 54.3
com.apple.filesystems.autofs 2.1.0
com.apple.driver.AGPM 100.12.31
com.apple.driver.AppleHWSensor 1.9.3d0
com.apple.driver.AppleMikeyHIDDriver 1.2.0
com.apple.driver.AppleHDA 2.0.5f14
com.apple.driver.AppleMikeyDriver 2.0.5f14
com.apple.driver.AppleUpstreamUserClient 3.5.7
com.apple.driver.AppleMCCSControl 1.0.20
com.apple.driver.AudioAUUC 1.57
com.apple.kext.ATIFramebuffer 6.3.6
com.apple.Dont_Steal_Mac_OS_X 7.0.0
com.apple.iokit.CHUDUtils 364
com.apple.iokit.CHUDProf 364
com.apple.driver.AudioIPCDriver 1.1.6
com.apple.driver.AirPort.Atheros21 425.14.7
com.apple.driver.ACPI_SMC_PlatformPlugin 4.7.0a1
com.apple.ATIRadeonX3000 6.3.6
com.apple.driver.AppleLPC 1.5.1
com.apple.driver.AppleBacklight 170.0.46
com.apple.driver.AppleUSBCardReader 2.6.1
com.apple.driver.AppleIRController 303.8
com.apple.iokit.SCSITaskUserClient 2.6.8
com.apple.BootCache 31.1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0d1
com.apple.iokit.IOAHCIBlockStorage 1.6.4
com.apple.driver.AppleFWOHCI 4.7.3
com.apple.driver.AppleUSBHub 4.2.4
com.apple.iokit.AppleBCM5701Ethernet 3.0.5b8
com.apple.driver.AppleEFINVRAM 1.4.0
com.apple.driver.AppleAHCIPort 2.1.7
com.apple.driver.AppleUSBEHCI 4.2.4
com.apple.driver.AppleACPIButtons 1.3.6
com.apple.driver.AppleRTC 1.3.1
com.apple.driver.AppleHPET 1.5
com.apple.driver.AppleSMBIOS 1.7
com.apple.driver.AppleACPIEC 1.3.6
com.apple.driver.AppleAPIC 1.4
com.apple.driver.AppleIntelCPUPowerManagementClient 142.6.0
com.apple.security.sandbox 1
com.apple.security.quarantine 0
com.apple.nke.applicationfirewall 2.1.14
com.apple.driver.AppleIntelCPUPowerManagement 142.6.0
com.apple.driver.IOBluetoothHIDDriver 2.4.5f3
com.apple.driver.AppleMultitouchDriver 207.11
com.apple.driver.AppleProfileReadCounterAction 17
com.apple.driver.DspFuncLib 2.0.5f14
com.apple.driver.AppleProfileTimestampAction 10
com.apple.driver.AppleProfileThreadInfoAction 14
com.apple.driver.AppleProfileRegisterStateAction 10
com.apple.driver.AppleProfileKEventAction 10
com.apple.driver.AppleProfileCallstackAction 20
com.apple.driver.AppleSMBusController 1.0.10d0
com.apple.iokit.IOFireWireIP 2.0.3
com.apple.iokit.IOSurface 74.2
com.apple.iokit.IOBluetoothSerialManager 2.4.5f3
com.apple.iokit.IOSerialFamily 10.0.3
com.apple.iokit.CHUDKernLib 364
com.apple.iokit.IOAudioFamily 1.8.3fc2
com.apple.kext.OSvKernDSPLib 1.3
com.apple.driver.AppleHDAController 2.0.5f14
com.apple.iokit.IOHDAFamily 2.0.5f14
com.apple.iokit.IO80211Family 320.1
com.apple.iokit.AppleProfileFamily 41.4
com.apple.driver.AppleSMC 3.1.0d5
com.apple.driver.IOPlatformPluginFamily 4.7.0a1
com.apple.driver.AppleSMBusPCI 1.0.10d0
com.apple.driver.AppleBacklightExpert 1.0.1
com.apple.iokit.IONDRVSupport 2.2.1
com.apple.kext.ATI5000Controller 6.3.6
com.apple.kext.ATISupport 6.3.6
com.apple.iokit.IOGraphicsFamily 2.2.1
com.apple.driver.AppleUSBHIDKeyboard 141.5
com.apple.driver.AppleHIDKeyboard 141.5
com.apple.driver.BroadcomUSBBluetoothHCIController 2.4.5f3
com.apple.driver.AppleUSBBluetoothHCIController 2.4.5f3
com.apple.iokit.IOBluetoothFamily 2.4.5f3
com.apple.iokit.IOSCSIBlockCommandsDevice 2.6.8
com.apple.iokit.IOUSBMassStorageClass 2.6.7
com.apple.iokit.IOUSBHIDDriver 4.2.0
com.apple.driver.AppleUSBMergeNub 4.2.4
com.apple.driver.AppleUSBComposite 3.9.0
com.apple.iokit.IOSCSIMultimediaCommandsDevice 2.6.8
com.apple.iokit.IOBDStorageFamily 1.6
com.apple.iokit.IODVDStorageFamily 1.6
com.apple.iokit.IOCDStorageFamily 1.6.1
com.apple.driver.XsanFilter 402.1
com.apple.iokit.IOAHCISerialATAPI 1.2.6
com.apple.iokit.IOSCSIArchitectureModelFamily 2.6.8
com.apple.iokit.IOFireWireFamily 4.2.6
com.apple.iokit.IOUSBUserClient 4.2.4
com.apple.iokit.IONetworkingFamily 1.10
com.apple.iokit.IOAHCIFamily 2.0.6
com.apple.iokit.IOUSBFamily 4.2.4
com.apple.driver.AppleEFIRuntime 1.4.0
com.apple.iokit.IOHIDFamily 1.6.6
com.apple.iokit.IOSMBusFamily 1.1
com.apple.kext.AppleMatch 1.0.0d1
com.apple.security.TMSafetyNet 6
com.apple.driver.DiskImages 289.1
com.apple.iokit.IOStorageFamily 1.6.3
com.apple.driver.AppleACPIPlatform 1.3.6
com.apple.iokit.IOPCIFamily 2.6.5
com.apple.iokit.IOACPIFamily 1.3.0

I'll have a play with the code a bit later, though to be honest it's guess work for me.

 

EDIT: Checking IOMemoryDescriptor.cpp from the kernel source I see line #1594 falls inside IOMemoryDescriptor::getPhysicalSegment64

 

IOMemoryDescriptor::getPhysicalSegment64(IOByteCount offset, IOByteCount *lengthOfSegment)
{
    IOPhysicalAddress phys32;
    IOByteCount       length;
    addr64_t        phys64;
    IOMapper *        mapper = 0;
 
    phys32 = getPhysicalSegment(offset, lengthOfSegment);
    if (!phys32)
return 0;
 
    if (gIOSystemMapper)
mapper = gIOSystemMapper;
 
    if (mapper)
    {
IOByteCount origLen;
 
phys64 = mapper->mapAddr(phys32);
origLen = *lengthOfSegment;
length = page_size - (phys64 & (page_size - 1));
while ((length < origLen)
   && ((phys64 + length) == mapper->mapAddr(phys32 + length)))
   length += page_size;
if (length > origLen)
   length = origLen;
 
*lengthOfSegment = length;
    }
    else
phys64 = (addr64_t) phys32;
 
    return phys64;
}

I'll see if I can figure anything out.

Link to comment
Share on other sites

Thanks for the prompt reply Andy.

sudo kextlibs -c -xml /path/to/RadeonPCI/Compiled_10.7/RadeonPCI.kext
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kpi.iokit</key>
<string>7.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0d0</string>
</dict>
And for ref, the 10.5 version (though I am not trying to load this for 10.6)
sudo kextlibs -c -xml /path/to/RadeonPCI/Compiled_10.5/RadeonPCI.kext
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kpi.iokit</key>
<string>7.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0d0</string>
</dict>
 
For i386:
    2 symbols not found in any library kext.

I have Xcode 3.2.3 here on the 10.6.8 system. I've just compiled the source from your RadeonPCI_AnV_Dong_2.zip and loading it now results in a KP (same as I get when loading dong's kext).

 

Here's the KP for reference:

Interval Since Last Panic Report:  1064281 sec
Panics Since Last Report:          5
Anonymous UUID:                    58971C1E-3ECC-4730-9A5B-C6142C8D94BE
 
Fri Oct 18 14:13:41 2013
panic(cpu 0 caller 0x560821): "getPhysicalSegment() out of 32b range 0xf10000000, len 0x0, class IOGeneralMemoryDescriptor"@/SourceCache/xnu/xnu-1504.15.3/iokit/Kernel/IOMemoryDescriptor.cpp:1594
Backtrace (CPU 0), Frame : Return Address (4 potential args on stack)
0x7c333d08 : 0x21b837 (0x5dd7fc 0x7c333d3c 0x223ce1 0x0) 
0x7c333d58 : 0x560821 (0x5e6dfc 0x10000000 0xf 0x0) 
0x7c333da8 : 0x55d0c2 (0xd3efa80 0x0 0x0 0x2) 
0x7c333dc8 : 0x10f7197 (0xd3efa80 0x0 0x7c333df8 0x0) 
0x7c333e18 : 0x543f60 (0x1139a400 0xd342700 0x1 0x506b76) 
0x7c333e78 : 0x542137 (0xd342700 0x1139a400 0x16fefdc0 0x51a1b0) 
0x7c333f28 : 0x5426e9 (0xd342700 0x16fde7c0 0x0 0x516766) 
0x7c333f78 : 0x5443d5 (0xd342700 0x8 0x7c333fac 0x1) 
0x7c333fc8 : 0x2a179c (0xd6d6bb0 0x0 0x10 0xec2ba64) 
      Kernel Extensions in backtrace (with dependencies):
         com.dong.driver.RadeonPCI(1.1.1d1)@0x10f6000->0x10f8fff
 
BSD process name corresponding to current thread: kernel_task
 
Mac OS version:
10K549
 
Kernel version:
Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386
System model name: iMac11,3 (Mac-F2238BAE)
 
System uptime in nanoseconds: 230381188262
unloaded kexts:
com.apple.driver.AppleUSBUHCI 4.2.0 (addr 0x11c8000, size 0x65536) - last unloaded 91403044942
loaded kexts:
com.dong.driver.RadeonPCI 1.1.1d1 - last loaded 230377143491
com.logmein.driver.LogMeInSoundDriver 1.0.2
com.apple.filesystems.msdosfs 1.6.3
com.apple.driver.AppleBluetoothMultitouch 54.3
com.apple.filesystems.autofs 2.1.0
com.apple.driver.AGPM 100.12.31
com.apple.driver.AppleHWSensor 1.9.3d0
com.apple.driver.AppleMikeyHIDDriver 1.2.0
com.apple.driver.AppleHDA 2.0.5f14
com.apple.driver.AppleMikeyDriver 2.0.5f14
com.apple.driver.AppleUpstreamUserClient 3.5.7
com.apple.driver.AppleMCCSControl 1.0.20
com.apple.driver.AudioAUUC 1.57
com.apple.kext.ATIFramebuffer 6.3.6
com.apple.Dont_Steal_Mac_OS_X 7.0.0
com.apple.iokit.CHUDUtils 364
com.apple.iokit.CHUDProf 364
com.apple.driver.AudioIPCDriver 1.1.6
com.apple.driver.AirPort.Atheros21 425.14.7
com.apple.driver.ACPI_SMC_PlatformPlugin 4.7.0a1
com.apple.ATIRadeonX3000 6.3.6
com.apple.driver.AppleLPC 1.5.1
com.apple.driver.AppleBacklight 170.0.46
com.apple.driver.AppleUSBCardReader 2.6.1
com.apple.driver.AppleIRController 303.8
com.apple.iokit.SCSITaskUserClient 2.6.8
com.apple.BootCache 31.1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0d1
com.apple.iokit.IOAHCIBlockStorage 1.6.4
com.apple.driver.AppleFWOHCI 4.7.3
com.apple.driver.AppleUSBHub 4.2.4
com.apple.iokit.AppleBCM5701Ethernet 3.0.5b8
com.apple.driver.AppleEFINVRAM 1.4.0
com.apple.driver.AppleAHCIPort 2.1.7
com.apple.driver.AppleUSBEHCI 4.2.4
com.apple.driver.AppleACPIButtons 1.3.6
com.apple.driver.AppleRTC 1.3.1
com.apple.driver.AppleHPET 1.5
com.apple.driver.AppleSMBIOS 1.7
com.apple.driver.AppleACPIEC 1.3.6
com.apple.driver.AppleAPIC 1.4
com.apple.driver.AppleIntelCPUPowerManagementClient 142.6.0
com.apple.security.sandbox 1
com.apple.security.quarantine 0
com.apple.nke.applicationfirewall 2.1.14
com.apple.driver.AppleIntelCPUPowerManagement 142.6.0
com.apple.driver.IOBluetoothHIDDriver 2.4.5f3
com.apple.driver.AppleMultitouchDriver 207.11
com.apple.driver.AppleProfileReadCounterAction 17
com.apple.driver.DspFuncLib 2.0.5f14
com.apple.driver.AppleProfileTimestampAction 10
com.apple.driver.AppleProfileThreadInfoAction 14
com.apple.driver.AppleProfileRegisterStateAction 10
com.apple.driver.AppleProfileKEventAction 10
com.apple.driver.AppleProfileCallstackAction 20
com.apple.driver.AppleSMBusController 1.0.10d0
com.apple.iokit.IOFireWireIP 2.0.3
com.apple.iokit.IOSurface 74.2
com.apple.iokit.IOBluetoothSerialManager 2.4.5f3
com.apple.iokit.IOSerialFamily 10.0.3
com.apple.iokit.CHUDKernLib 364
com.apple.iokit.IOAudioFamily 1.8.3fc2
com.apple.kext.OSvKernDSPLib 1.3
com.apple.driver.AppleHDAController 2.0.5f14
com.apple.iokit.IOHDAFamily 2.0.5f14
com.apple.iokit.IO80211Family 320.1
com.apple.iokit.AppleProfileFamily 41.4
com.apple.driver.AppleSMC 3.1.0d5
com.apple.driver.IOPlatformPluginFamily 4.7.0a1
com.apple.driver.AppleSMBusPCI 1.0.10d0
com.apple.driver.AppleBacklightExpert 1.0.1
com.apple.iokit.IONDRVSupport 2.2.1
com.apple.kext.ATI5000Controller 6.3.6
com.apple.kext.ATISupport 6.3.6
com.apple.iokit.IOGraphicsFamily 2.2.1
com.apple.driver.AppleUSBHIDKeyboard 141.5
com.apple.driver.AppleHIDKeyboard 141.5
com.apple.driver.BroadcomUSBBluetoothHCIController 2.4.5f3
com.apple.driver.AppleUSBBluetoothHCIController 2.4.5f3
com.apple.iokit.IOBluetoothFamily 2.4.5f3
com.apple.iokit.IOSCSIBlockCommandsDevice 2.6.8
com.apple.iokit.IOUSBMassStorageClass 2.6.7
com.apple.iokit.IOUSBHIDDriver 4.2.0
com.apple.driver.AppleUSBMergeNub 4.2.4
com.apple.driver.AppleUSBComposite 3.9.0
com.apple.iokit.IOSCSIMultimediaCommandsDevice 2.6.8
com.apple.iokit.IOBDStorageFamily 1.6
com.apple.iokit.IODVDStorageFamily 1.6
com.apple.iokit.IOCDStorageFamily 1.6.1
com.apple.driver.XsanFilter 402.1
com.apple.iokit.IOAHCISerialATAPI 1.2.6
com.apple.iokit.IOSCSIArchitectureModelFamily 2.6.8
com.apple.iokit.IOFireWireFamily 4.2.6
com.apple.iokit.IOUSBUserClient 4.2.4
com.apple.iokit.IONetworkingFamily 1.10
com.apple.iokit.IOAHCIFamily 2.0.6
com.apple.iokit.IOUSBFamily 4.2.4
com.apple.driver.AppleEFIRuntime 1.4.0
com.apple.iokit.IOHIDFamily 1.6.6
com.apple.iokit.IOSMBusFamily 1.1
com.apple.kext.AppleMatch 1.0.0d1
com.apple.security.TMSafetyNet 6
com.apple.driver.DiskImages 289.1
com.apple.iokit.IOStorageFamily 1.6.3
com.apple.driver.AppleACPIPlatform 1.3.6
com.apple.iokit.IOPCIFamily 2.6.5
com.apple.iokit.IOACPIFamily 1.3.0

I'll have a play with the code a bit later, though to be honest it's guess work for me.

 

EDIT: Checking IOMemoryDescriptor.cpp from the kernel source I see line #1594 falls inside IOMemoryDescriptor::getPhysicalSegment64

IOMemoryDescriptor::getPhysicalSegment64(IOByteCount offset, IOByteCount *lengthOfSegment)
{
    IOPhysicalAddress phys32;
    IOByteCount       length;
    addr64_t        phys64;
    IOMapper *        mapper = 0;
 
    phys32 = getPhysicalSegment(offset, lengthOfSegment);
    if (!phys32)
return 0;
 
    if (gIOSystemMapper)
mapper = gIOSystemMapper;
 
    if (mapper)
    {
IOByteCount origLen;
 
phys64 = mapper->mapAddr(phys32);
origLen = *lengthOfSegment;
length = page_size - (phys64 & (page_size - 1));
while ((length < origLen)
   && ((phys64 + length) == mapper->mapAddr(phys32 + length)))
   length += page_size;
if (length > origLen)
   length = origLen;
 
*lengthOfSegment = length;
    }
    else
phys64 = (addr64_t) phys32;
 
    return phys64;
}
I'll see if I can figure anything out.
You could try something in the style of:

#ifdef __i386__

getPhysicalSegment32...

#else

64 bit old code here

#endif

 

Let me know if that works ;)

Link to comment
Share on other sites

Thanks for the help Andy.

 

I've tried commenting out a few sections of code in RadeonPCI.cpp, and also changing the OSBundleLibraries values but each time I still get a KP when loading the kext. However I'm out of my depth and I really need to try to understand the memory addressing problem first, rather than just guessing.

 

I'm going to be away from my iMac with this 10.6 system this weekend so I won't be able to try anything until next week.

Link to comment
Share on other sites

  • 2 weeks later...

v2.8.5 ->2.8.6

 

- Replace lspci binary with revised version for 10.6 (Thanks Slice).

- Add a different 32bit version of RadeonPCI.kext for 10.6 (Thanks Slice).

- Update locally stored pci.ids.gz database file.

- Fix bug where VBIOS decoding failed due to a space in the file path.

- Add check for blank user prefs file.

- Fix bug where DarwinDumperReports directory would be created in DarwinDumper.app/Contents/Resources/ if no custom path was set.

- Certain init script stdout messages are now directed to the main logfile.

- Add command line switch -l to run with same options as last time.

- Amend scripts to work with ~/Library/Preferences/org.tom.DarwinDumper.plist file in 10.6.

- Add checkmark against UI menu symlink option if current valid symlink exists.

- Replace seq command with jot command for 10.6 compatibility.

- Update info page link to amended nvram source.

- Fix bug scanning for firmware bootlog when creating html report.

- Fix bug when creating privatise mask for short strings.

- Amend log file times to show seconds as three digits and alter spacing.

- Don’t attempt to privatise mask fmm-mobileme-token-FMM if it does not exist. 

Link to comment
Share on other sites

v2.8.6 -> 2.8.7

 

- Fix display bug with html report when more than one EDID is present.

- Restructure the DarwinDumperReports folder.

- Adjust UI to allow for longer title names, and revise dump option titles.

- Add detection of Volume UUID and Unique partition GUID for Recovery HD partitions.

- Update UI info pages to reflect restructured report directory.

- User can now select actual DarwinDumperReports folder when choosing custom save path.

- Change HTML report ‘Diskutil & Bootloaders’ title to ‘Bootloaders & Disk Sectors’.

- Move position of ‘Bootloaders & Disk Sectors’ section in html report.

Link to comment
Share on other sites

 Share

×
×
  • Create New...