System information

Fixed a problem with isoch reception on PCI-Lynx machines (i.e. B&W G3, original G4). (r. 2851043).
The timout period for AVC devices to respond after a bus reset has been increased to accommodate slower devices.
(r. 2842540).
Add support in FireWire DV for DVCPRO CIP headers. (r. 2709090).
Improved compatibility with a number of third party FireWire cards. (r. 2923203).
Back to top
HID Support
The Human Interface Device (HID) class is one of several device classes described by the USB (Universal Serial Bus)
architecture. The HID class consists primarily of devices humans use to control a computer system's operations.
A problem where getElementValue() would not query a device (if the value being requested had not been included in
a previous input report provided by the device) has been corrected. (r. 2883840).
The HID Manager now publishes unit and unit exponent properties for each hid element. (r. 2883290).
Added support for scroll wheel acceleration. (r. 2880436).
The HID Manager now supports Mouse devices. (r. 2770086).
The HID manager now supports Keyboard devices. .
The HID manager now supports non-USB mouse and keyboard devices. (r. 2861323).
A new method, IOHIDDevice::updateElementValue, has been added to ensure values return for feature element
inquiries are up to date. It is called when ever a user client attempts to access a value for a feature element. The
new method calls to IOHIDDevice::getReport to poll the device for the report values. Then it calls
IOHIDDevice::handleReport with the descriptor that was filled in with getReport. (r. 2731494).
A problem where IOMatchingDictionaries ware returning all HID devices rather than just matching ones has been
corrected. Now only matching devices are returned. (r. 2690962).
Added horizontal scroll wheel support. (r. 2660532).
Back to top
IOKit
Apple's object-oriented I/O development model. The I/O Kit provides a framework for simplified driver development,
supporting many families of devices.
A memory leak in IOCreatePlugInInterfaceForService where one or more CFArrays were not being released has
been corrected (r. 2927887).
Fixed the IODataQueueDequeue call so that the dataSize parameter is updated properly, even when the data pointer
is null. (r. 2926620).
Both IOGeneralMemoryDescriptor and IOSubMemoryDescriptor now have a serialize method so they can display
themselves in ioreg output. (r. 2916500).
The ioreg tool now has an option for printing numbers in hex. (r. 2916477).
IOPCIBridge now conforms to the PCI spec which says that an I/O memory range read from the PCI config register
may have their 16 upper bits set to 0, in which case they should be ignored. Previously IOPCIBridge assumed that
all 32 bits of an I/O range were valid. (r. 2909765).
Memory descriptor redirect (protected from access during sleep) now works for non-block-mapped mappings (<
32K). (r. 2893715).
Fixed problem where IOSharedInterruptController could become permanently disabled on MP systems. (r.
2875529).
Fixed a problem with IODataQueue where an entry that just fit at the end of the queue memory buffer would instead
be added at the start of the buffer. This would cause the user client code to return the wrong entry. (r. 2860701).
The routine IOSleep() is now uninterruptible. (r. 2857482).
The ioreg and IORegistryExplorer tools fixed a problem that didn't show @location for objects that are part of an
alias on the device tree plane. With the addition of IORegistryEntryGetLocationInPlane() API call, the tools now
work correctly. (r. 2856361).