Jump to content

DarwinDumper

Bootloader BIOS IOReg Device Properties LSPCI Dump VBIOS SMC ACPI NVRAM

  • Please log in to reply
190 replies to this topic

#161
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

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 


  • p.H likes this

#162
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Moscow

Hi blackosx,

Where is your nvram.c?  I am at 10.6 now. While project is down.



#163
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

Hi Slice

 

git clone https://bitbucket.org/blackosx/nvram.git


#164
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Moscow

 

Hi Slice

git clone https://bitbucket.org/blackosx/nvram.git

OK, it works in 10.6.8-32bit

Attached Files



#165
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

Thank you Slice. :)

I'll try to update DarwinDumper with this and the other changes this weekend.



#166
Pike R. Alpha

Pike R. Alpha

    InsanelyMac Geek

  • Developers
  • 177 posts
  • Gender:Male

@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.

 



#167
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

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.



#168
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

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.



#169
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

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.



#170
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,602 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

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

#171
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

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.



#172
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,602 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

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 ;)

#173
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

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.



#174
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

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. 



#175
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

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.



#176
jazzman1120

jazzman1120

    InsanelyMac Protégé

  • Members
  • Pip
  • 1 posts

Positively Great!!!!!!!!, Good job guys !



#177
blacksheep

blacksheep

    InsanelyMac Protégé

  • Members
  • Pip
  • 48 posts
  • Gender:Male
  • Location:Warsaw, Poland

Hi blackosx,

I've tried to dump BIOS from unflashed Radeon 5770 (on real Mac) and seems that your tool is able to dump only first 64KB of 128KB BIOS. Unless I'm missing something.

Anyway, great and useful tool, thanks.



#178
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

Thanks for the report blacksheep.

When run on a real Mac, the video bios is saved from IORegistry.

Can you please post the DarwinDumperReports directory of a dump with the 'BIOS - Video' and I/O Kit Registry' options ticked?



#179
pippox0

pippox0

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 204 posts
  • Gender:Male
Thanx Blackosx, Very usefull tool ....

I will use it for sure ...

Best regards

PippoX0

#180
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,054 posts
  • Gender:Male
  • Location:UK

v2.8.7 -> 2.8.8

 

- Don't write prefs file if using the faceless option.

- Add detection for BootIA32 and it’s version.

- Add separator lines to Boot Loaders.txt file.

- Read user id and group before writing prefs.

- Add note to html report to inform user that it doesn’t contain all dump info.

- Overhaul custom path coding to be more robust.

- Removed the need to supply the -r option for dumps requiring root privileges when running from the command line.

- Add red cross beside custom path menu option if path no longer exists.

- Update VoodooHDA.kext to v2.8.4 and revise audio dump script.

- Swap Graphics and Audio lines in the html report overview.

- Add more info to log to help in the event of problems.

- Other miscellaneous tweaks and changes.

 

There have been quite a few changes in this version. Please report any bugs







Also tagged with one or more of these keywords: Bootloader, BIOS, IOReg, Device Properties, LSPCI, Dump, VBIOS, SMC, ACPI, NVRAM


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

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