Just wanted to report that this works on my custom install of 10.5.2. I included it in my new iso. The only issue is that when it is loaded I need to replug in my network cable to get it to show the cable plugged in. When I use the default usb kext I get two port working and have networking np. I need the four ports so I will replug for now.
Do you have any idea why this would mess with networking.
Also great wrk on this kext, keep it up bro.
Do you have any idea why this would mess with networking.
Also great wrk on this kext, keep it up bro.
I cannot think of anything. Here is the dif for 270.4.1 - There does not appear to be something in there. It could be due to differences between 270 and 308 - there seem to be a few changes but I have not yet time to look at it in detail. Best.
CODE
Only in IOUSBFamily-PCGen-270.4.1: .DS_Store
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI.cpp
62a63,77
> // custom key defaults
> _alwaysHardBIOSReset = false;
>
> // get custom keys
> OSDictionary *usbEHCIDict;
> usbEHCIDict = OSDynamicCast(OSDictionary, propTable);
> if (OSDynamicCast(OSDictionary, usbEHCIDict) != NULL) {
> if (usbEHCIDict->getObject("AlwaysHardBIOSReset") != NULL)
> {
> OSBoolean * alwaysHardBIOSReset;
> alwaysHardBIOSReset = OSDynamicCast(OSBoolean, usbEHCIDict->getObject("AlwaysHardBIOSReset"));
> if (alwaysHardBIOSReset->isTrue()) _alwaysHardBIOSReset = true;
> }
> }
>
385a401
> bool isOwnershipConflict;
387c403
< USBLog(2, "Attempting to get EHCI Controller from BIOS");
---
> USBError(1, "Attempting to get EHCI Controller from BIOS");
395c411
<
---
> USBError(1, "USBLEGCTLSTS value %x", (void*)_device->configRead32(eecp + kEHCI_USBLEGCTLSTS));
398c414,432
< USBLog(2, "Found USBLEGSUP_ID - value %p - writing OSOwned", (void*)data);
---
>
> //We try soft reset first - some systems hang on reboot with hard reset
> // Definitely needed during reboot on 10.4.6
> isOwnershipConflict = ((data & kEHCI_USBLEGSUP_OSOwned != 0) && (data & kEHCI_USBLEGSUP_BIOSOwned != 0));
> if (!_alwaysHardBIOSReset && isOwnershipConflict)
> {
> USBError(1, "EHCI - Ownership conflict - attempting soft reset ...");
> USBError(1, "EHCI - toggle OS Ownership to 0");
> _device->configWrite32(eecp, data ^ kEHCI_USBLEGSUP_OSOwned);
> for (int i = 0; i < 25; i++)
> {
> data = _device->configRead32(eecp);
> if ((data & kEHCI_USBLEGSUP_OSOwned) == 0)
> break;
> IOSleep(10);
> }
> }
>
> USBError(1, "Found USBLEGSUP_ID - value %p - writing OSOwned", (void*)data);
409c443,466
< if ((_device->configRead32(eecp) & kEHCI_USBLEGSUP_BIOSOwned) != 0)
---
>
> isOwnershipConflict = ((_device->configRead32(eecp) & kEHCI_USBLEGSUP_BIOSOwned) != 0);
> if (isOwnershipConflict)
> {
> // Soft reset has failed. Assume SMI being ignored
> // Hard reset
> // Force Clear BIOS BIT
> USBError(1, "EHCI - Ownership conflict - attempting hard reset ...");
> USBError(1, "EHCI - Force BIOS Ownership to 0");
> _device->configWrite32(eecp, data ^ kEHCI_USBLEGSUP_BIOSOwned);
> for (int i = 0; i < 25; i++)
> {
> data = _device->configRead32(eecp);
> if ((data & kEHCI_USBLEGSUP_BIOSOwned) == 0)
> break;
> IOSleep(10);
> }
> // Disable further SMI events
> _device->configWrite32(eecp + kEHCI_USBLEGCTLSTS, 0);
> }
>
> // Final Ownership Resolution Check...
> isOwnershipConflict = ((_device->configRead32(eecp) & kEHCI_USBLEGSUP_BIOSOwned) != 0);
> if (isOwnershipConflict)
414,415c471,473
< else
< USBLog(2, "acquireOSOwnership done - value %p", (void*)_device->configRead32(eecp));
---
>
> USBError(1, "acquireOSOwnership done - value %p", (void*)_device->configRead32(eecp));
>
421a480
>
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_Interrupts.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_Interrupts.cpp
266c266
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_RootHub.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_RootHub.cpp
1131c1131
< clock_get_uptime( &_lastRootHubStatusChanged );
---
> clock_get_uptime((uint64_t *) &_lastRootHubStatusChanged );
1207,1209c1207,1211
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
1364c1366
< clock_get_uptime(&_lastRootHubStatusChanged);
---
> clock_get_uptime((uint64_t *) &_lastRootHubStatusChanged);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_UIM.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_UIM.cpp
1221c1221
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
2154c2154
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
3679c3679
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
4148,4150c4148,4152
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &_lastCheckedTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &_lastCheckedTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&_lastCheckedTime));
> absolutetime_to_nanoseconds((uint64_t ) ¤tTime, &elapsedTime);
4156c4158
< clock_get_uptime( &_lastCheckedTime );
---
> clock_get_uptime((uint64_t *) &_lastCheckedTime );
4169,4171c4171,4175
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Headers/AppleUSBEHCI.h IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Headers/AppleUSBEHCI.h
261a262,263
> bool _alwaysHardBIOSReset; // Default value of AlwaysHardBIOSReset key
>
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Headers/USBEHCI.h IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Headers/USBEHCI.h
561a562,566
> // USBLEGCTLSTS offset value
> enum {
> kEHCI_USBLEGCTLSTS = 4
> };
>
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI.cpp
122c122
< clock_get_uptime(&_lastCheckedTime);
---
> clock_get_uptime((uint64_t *) &_lastCheckedTime);
1174c1174
< clock_get_uptime (&timeStop);
---
> clock_get_uptime ((uint64_t *) &timeStop);
1176,1177c1176,1179
< SUB_ABSOLUTETIME(&timeStop, &timeStart);
< absolutetime_to_nanoseconds(timeStop, &timeElapsed);
---
> // Expand Macro below
> // SUB_ABSOLUTETIME(&timeStop, &timeStart);
> (*(uint64_t *) (&timeStop)) -= (*(uint64_t *) (&timeStart));
> absolutetime_to_nanoseconds((uint64_t) &timeStop, &timeElapsed);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_Interrupts.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_Interrupts.cpp
435c435
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_RootHub.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_RootHub.cpp
794c794
< clock_get_uptime( &_lastRootHubStatusChanged );
---
> clock_get_uptime((uint64_t *) &_lastRootHubStatusChanged );
860,862c860,864
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
937c939
< clock_get_uptime(&_lastRootHubStatusChanged);
---
> clock_get_uptime((uint64_t *) &_lastRootHubStatusChanged);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_UIM.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_UIM.cpp
2090,2092c2090,2094
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &_lastCheckedTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &_lastCheckedTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&_lastCheckedTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
2098c2100
< clock_get_uptime( &_lastCheckedTime );
---
> clock_get_uptime((uint64_t *) &_lastCheckedTime );
2111,2113c2113,2117
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI.cpp
370c370
< clock_get_uptime(&_lastTime);
---
> clock_get_uptime((uint64_t *) &_lastTime);
1164c1164
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_Interrupts.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_Interrupts.cpp
145c145
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_RootHub.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_RootHub.cpp
547,549c547,551
< clock_get_uptime(¤tTime);
< SUB_ABSOLUTETIME(¤tTime, &_portRecoveryTime[i-1] );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime);
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &_portRecoveryTime[i-1] );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&_portRecoveryTime[i-1]));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
569c571
< clock_get_uptime(&_portRecoveryTime[i-1]);
---
> clock_get_uptime((uint64_t *) &_portRecoveryTime[i-1]);
624c626
< clock_get_uptime(&_rhChangeTime);
---
> clock_get_uptime((uint64_t *) &_rhChangeTime);
873,875c875,879
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_UIM.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_UIM.cpp
1392c1392
< clock_get_uptime(¤tTime);
---
> clock_get_uptime((uint64_t *) ¤tTime);
1527,1528c1527,1530
< SUB_ABSOLUTETIME(&t, &_lastTime);
< absolutetime_to_nanoseconds(t, &elapsedTime);
---
> // Expand Macro below
> // SUB_ABSOLUTETIME(&t, &_lastTime);
> (*(uint64_t *) (&t)) -= (*(uint64_t *) (&_lastTime));
> absolutetime_to_nanoseconds((uint64_t) &t, &elapsedTime);
1547,1548c1549,1552
< SUB_ABSOLUTETIME(&t, &_rhChangeTime);
< absolutetime_to_nanoseconds(t, &elapsedTime);
---
> // Expand Macro below
> // SUB_ABSOLUTETIME(&t, &_rhChangeTime);
> (*(uint64_t *) (&t)) -= (*(uint64_t *) (&_rhChangeTime));
> absolutetime_to_nanoseconds((uint64_t) &t, &elapsedTime);
1999c2003
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
2118c2122
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBFamily/Classes/IOUSBDevice.cpp IOUSBFamily-PCGen-270.4.1/IOUSBFamily/Classes/IOUSBDevice.cpp
703,704c703,704
< clock_get_uptime(¤tTime);
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime);
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBFamily/Classes/IOUSBLog.cpp IOUSBFamily-PCGen-270.4.1/IOUSBFamily/Classes/IOUSBLog.cpp
143,144c143,144
< clock_get_uptime(¤tTime);
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime);
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
Only in IOUSBFamily-PCGen-270.4.1: IOUSBFamily-PCGen-270.4.1.xcodeproj
Only in IOUSBFamily-270.4.1: IOUSBFamily.xcodeproj
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBHIDDriver/Classes/IOUSBHIDDriver.cpp IOUSBFamily-PCGen-270.4.1/IOUSBHIDDriver/Classes/IOUSBHIDDriver.cpp
1031c1031
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBUserClient/Classes/IOUSBDeviceUserClient.cpp IOUSBFamily-PCGen-270.4.1/IOUSBUserClient/Classes/IOUSBDeviceUserClient.cpp
498c498
< clock_get_uptime(&data->timeStamp);
---
> clock_get_uptime((uint64_t *) &data->timeStamp);
540c540
< clock_get_uptime(&data->timeStamp);
---
> clock_get_uptime((uint64_t *) &data->timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBUserClient/Classes/IOUSBInterfaceUserClient.cpp IOUSBFamily-PCGen-270.4.1/IOUSBUserClient/Classes/IOUSBInterfaceUserClient.cpp
863c863
< clock_get_uptime(&data->timeStamp);
---
> clock_get_uptime((uint64_t *) &data->timeStamp);
902c902
< clock_get_uptime(&data->timeStamp);
---
> clock_get_uptime((uint64_t *) &data->timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI.cpp
62a63,77
> // custom key defaults
> _alwaysHardBIOSReset = false;
>
> // get custom keys
> OSDictionary *usbEHCIDict;
> usbEHCIDict = OSDynamicCast(OSDictionary, propTable);
> if (OSDynamicCast(OSDictionary, usbEHCIDict) != NULL) {
> if (usbEHCIDict->getObject("AlwaysHardBIOSReset") != NULL)
> {
> OSBoolean * alwaysHardBIOSReset;
> alwaysHardBIOSReset = OSDynamicCast(OSBoolean, usbEHCIDict->getObject("AlwaysHardBIOSReset"));
> if (alwaysHardBIOSReset->isTrue()) _alwaysHardBIOSReset = true;
> }
> }
>
385a401
> bool isOwnershipConflict;
387c403
< USBLog(2, "Attempting to get EHCI Controller from BIOS");
---
> USBError(1, "Attempting to get EHCI Controller from BIOS");
395c411
<
---
> USBError(1, "USBLEGCTLSTS value %x", (void*)_device->configRead32(eecp + kEHCI_USBLEGCTLSTS));
398c414,432
< USBLog(2, "Found USBLEGSUP_ID - value %p - writing OSOwned", (void*)data);
---
>
> //We try soft reset first - some systems hang on reboot with hard reset
> // Definitely needed during reboot on 10.4.6
> isOwnershipConflict = ((data & kEHCI_USBLEGSUP_OSOwned != 0) && (data & kEHCI_USBLEGSUP_BIOSOwned != 0));
> if (!_alwaysHardBIOSReset && isOwnershipConflict)
> {
> USBError(1, "EHCI - Ownership conflict - attempting soft reset ...");
> USBError(1, "EHCI - toggle OS Ownership to 0");
> _device->configWrite32(eecp, data ^ kEHCI_USBLEGSUP_OSOwned);
> for (int i = 0; i < 25; i++)
> {
> data = _device->configRead32(eecp);
> if ((data & kEHCI_USBLEGSUP_OSOwned) == 0)
> break;
> IOSleep(10);
> }
> }
>
> USBError(1, "Found USBLEGSUP_ID - value %p - writing OSOwned", (void*)data);
409c443,466
< if ((_device->configRead32(eecp) & kEHCI_USBLEGSUP_BIOSOwned) != 0)
---
>
> isOwnershipConflict = ((_device->configRead32(eecp) & kEHCI_USBLEGSUP_BIOSOwned) != 0);
> if (isOwnershipConflict)
> {
> // Soft reset has failed. Assume SMI being ignored
> // Hard reset
> // Force Clear BIOS BIT
> USBError(1, "EHCI - Ownership conflict - attempting hard reset ...");
> USBError(1, "EHCI - Force BIOS Ownership to 0");
> _device->configWrite32(eecp, data ^ kEHCI_USBLEGSUP_BIOSOwned);
> for (int i = 0; i < 25; i++)
> {
> data = _device->configRead32(eecp);
> if ((data & kEHCI_USBLEGSUP_BIOSOwned) == 0)
> break;
> IOSleep(10);
> }
> // Disable further SMI events
> _device->configWrite32(eecp + kEHCI_USBLEGCTLSTS, 0);
> }
>
> // Final Ownership Resolution Check...
> isOwnershipConflict = ((_device->configRead32(eecp) & kEHCI_USBLEGSUP_BIOSOwned) != 0);
> if (isOwnershipConflict)
414,415c471,473
< else
< USBLog(2, "acquireOSOwnership done - value %p", (void*)_device->configRead32(eecp));
---
>
> USBError(1, "acquireOSOwnership done - value %p", (void*)_device->configRead32(eecp));
>
421a480
>
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_Interrupts.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_Interrupts.cpp
266c266
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_RootHub.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_RootHub.cpp
1131c1131
< clock_get_uptime( &_lastRootHubStatusChanged );
---
> clock_get_uptime((uint64_t *) &_lastRootHubStatusChanged );
1207,1209c1207,1211
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
1364c1366
< clock_get_uptime(&_lastRootHubStatusChanged);
---
> clock_get_uptime((uint64_t *) &_lastRootHubStatusChanged);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_UIM.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Classes/AppleUSBEHCI_UIM.cpp
1221c1221
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
2154c2154
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
3679c3679
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
4148,4150c4148,4152
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &_lastCheckedTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &_lastCheckedTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&_lastCheckedTime));
> absolutetime_to_nanoseconds((uint64_t ) ¤tTime, &elapsedTime);
4156c4158
< clock_get_uptime( &_lastCheckedTime );
---
> clock_get_uptime((uint64_t *) &_lastCheckedTime );
4169,4171c4171,4175
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Headers/AppleUSBEHCI.h IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Headers/AppleUSBEHCI.h
261a262,263
> bool _alwaysHardBIOSReset; // Default value of AlwaysHardBIOSReset key
>
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBEHCI/Headers/USBEHCI.h IOUSBFamily-PCGen-270.4.1/AppleUSBEHCI/Headers/USBEHCI.h
561a562,566
> // USBLEGCTLSTS offset value
> enum {
> kEHCI_USBLEGCTLSTS = 4
> };
>
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI.cpp
122c122
< clock_get_uptime(&_lastCheckedTime);
---
> clock_get_uptime((uint64_t *) &_lastCheckedTime);
1174c1174
< clock_get_uptime (&timeStop);
---
> clock_get_uptime ((uint64_t *) &timeStop);
1176,1177c1176,1179
< SUB_ABSOLUTETIME(&timeStop, &timeStart);
< absolutetime_to_nanoseconds(timeStop, &timeElapsed);
---
> // Expand Macro below
> // SUB_ABSOLUTETIME(&timeStop, &timeStart);
> (*(uint64_t *) (&timeStop)) -= (*(uint64_t *) (&timeStart));
> absolutetime_to_nanoseconds((uint64_t) &timeStop, &timeElapsed);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_Interrupts.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_Interrupts.cpp
435c435
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_RootHub.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_RootHub.cpp
794c794
< clock_get_uptime( &_lastRootHubStatusChanged );
---
> clock_get_uptime((uint64_t *) &_lastRootHubStatusChanged );
860,862c860,864
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
937c939
< clock_get_uptime(&_lastRootHubStatusChanged);
---
> clock_get_uptime((uint64_t *) &_lastRootHubStatusChanged);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_UIM.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBOHCI/Classes/AppleUSBOHCI_UIM.cpp
2090,2092c2090,2094
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &_lastCheckedTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &_lastCheckedTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&_lastCheckedTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
2098c2100
< clock_get_uptime( &_lastCheckedTime );
---
> clock_get_uptime((uint64_t *) &_lastCheckedTime );
2111,2113c2113,2117
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI.cpp
370c370
< clock_get_uptime(&_lastTime);
---
> clock_get_uptime((uint64_t *) &_lastTime);
1164c1164
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_Interrupts.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_Interrupts.cpp
145c145
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_RootHub.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_RootHub.cpp
547,549c547,551
< clock_get_uptime(¤tTime);
< SUB_ABSOLUTETIME(¤tTime, &_portRecoveryTime[i-1] );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime);
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &_portRecoveryTime[i-1] );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&_portRecoveryTime[i-1]));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
569c571
< clock_get_uptime(&_portRecoveryTime[i-1]);
---
> clock_get_uptime((uint64_t *) &_portRecoveryTime[i-1]);
624c626
< clock_get_uptime(&_rhChangeTime);
---
> clock_get_uptime((uint64_t *) &_rhChangeTime);
873,875c875,879
< clock_get_uptime( ¤tTime );
< SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime );
> // Expand Macro below
> // SUB_ABSOLUTETIME(¤tTime, &lastRootHubChangeTime );
> (*(uint64_t *) (¤tTime)) -= (*(uint64_t *) (&lastRootHubChangeTime));
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
diff -i -E -b -r IOUSBFamily-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_UIM.cpp IOUSBFamily-PCGen-270.4.1/AppleUSBUHCI/Classes/AppleUSBUHCI_UIM.cpp
1392c1392
< clock_get_uptime(¤tTime);
---
> clock_get_uptime((uint64_t *) ¤tTime);
1527,1528c1527,1530
< SUB_ABSOLUTETIME(&t, &_lastTime);
< absolutetime_to_nanoseconds(t, &elapsedTime);
---
> // Expand Macro below
> // SUB_ABSOLUTETIME(&t, &_lastTime);
> (*(uint64_t *) (&t)) -= (*(uint64_t *) (&_lastTime));
> absolutetime_to_nanoseconds((uint64_t) &t, &elapsedTime);
1547,1548c1549,1552
< SUB_ABSOLUTETIME(&t, &_rhChangeTime);
< absolutetime_to_nanoseconds(t, &elapsedTime);
---
> // Expand Macro below
> // SUB_ABSOLUTETIME(&t, &_rhChangeTime);
> (*(uint64_t *) (&t)) -= (*(uint64_t *) (&_rhChangeTime));
> absolutetime_to_nanoseconds((uint64_t) &t, &elapsedTime);
1999c2003
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
2118c2122
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBFamily/Classes/IOUSBDevice.cpp IOUSBFamily-PCGen-270.4.1/IOUSBFamily/Classes/IOUSBDevice.cpp
703,704c703,704
< clock_get_uptime(¤tTime);
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime);
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBFamily/Classes/IOUSBLog.cpp IOUSBFamily-PCGen-270.4.1/IOUSBFamily/Classes/IOUSBLog.cpp
143,144c143,144
< clock_get_uptime(¤tTime);
< absolutetime_to_nanoseconds(currentTime, &elapsedTime);
---
> clock_get_uptime((uint64_t *) ¤tTime);
> absolutetime_to_nanoseconds((uint64_t) ¤tTime, &elapsedTime);
Only in IOUSBFamily-PCGen-270.4.1: IOUSBFamily-PCGen-270.4.1.xcodeproj
Only in IOUSBFamily-270.4.1: IOUSBFamily.xcodeproj
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBHIDDriver/Classes/IOUSBHIDDriver.cpp IOUSBFamily-PCGen-270.4.1/IOUSBHIDDriver/Classes/IOUSBHIDDriver.cpp
1031c1031
< clock_get_uptime(&timeStamp);
---
> clock_get_uptime((uint64_t *) &timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBUserClient/Classes/IOUSBDeviceUserClient.cpp IOUSBFamily-PCGen-270.4.1/IOUSBUserClient/Classes/IOUSBDeviceUserClient.cpp
498c498
< clock_get_uptime(&data->timeStamp);
---
> clock_get_uptime((uint64_t *) &data->timeStamp);
540c540
< clock_get_uptime(&data->timeStamp);
---
> clock_get_uptime((uint64_t *) &data->timeStamp);
diff -i -E -b -r IOUSBFamily-270.4.1/IOUSBUserClient/Classes/IOUSBInterfaceUserClient.cpp IOUSBFamily-PCGen-270.4.1/IOUSBUserClient/Classes/IOUSBInterfaceUserClient.cpp
863c863
< clock_get_uptime(&data->timeStamp);
---
> clock_get_uptime((uint64_t *) &data->timeStamp);
902c902
< clock_get_uptime(&data->timeStamp);
---
> clock_get_uptime((uint64_t *) &data->timeStamp);
EDIT: Ooops I did the wrong diff. I should have done 303. But the basic result is the same... I suspect it could be a 303 vs 308 issue.

