Verbesserungen allerorten – Die Neuerungen von Linux 2.6.25
Seite 7: Anhang: Noch mehr Treiber
Die im voranstehenden Artikel erwähnten Neuerungen der jüngsten Linux-Version stellen nur eine Auswahl der bedeutsamsten Änderungen dar – die sprichwörtliche Spitze des Eisbergs, der bei jeder neuen Linux-Version im Hauptentwicklungszweig aus Tausenden von eingepflegten Patches besteht. Zahlreiche weitere ebenfalls wichtige Neuerungen finden sich im folgenden als thematisch sortierte Aufzählung mit einer Kurzbeschreibung, die auf weitere Informationsquellen verlinkt.
Welche Treiber alle geändert wurden Über das Git-Web-Frontend auf Kernel.org lassen sich auch Informationen zu Änderungen an einzelnen Dateien des Linux-Kernels aufrufen – so kann man herausfinden, ob es Neuerungen an den auf dem eigenen System eingesetzten Treibern gab. Dazu muss man allerdings wissen, wo sich die Treiberdateien im Quellcodebaum des Linux-Kernels finden. Bei den zumeist stark auf Modulen setzenden Kerneln der Distributionen helfen häufig die Ausgaben des Programms modinfo: [VERBATIM0] Liegt ein kompiliertes Modul etwa in /lib/modules/[...]/kernel/drivers/net/e100.ko, dann findet sich dessen Sourcecode im Linux-Quellcode normalerweise im Verzeichnis drivers/net/ in Dateien mit ähnlichem Namen – etwa e100.c im Falle des für Intel-100-MBit-Netzwerkhardware zuständigen e100-Treibers. Andere Treiber, wie der e1000-Treiber für Intels PCI-Gigabit-LAN-Chips, haben hingegen ein Verzeichnis für sich alleine. Kennt man die ungefähre Position, navigiert man im Git-Webinterface über die Tree-Ansicht zu den jeweiligen Quellcode-Dateien und ruft über den Link history eine Übersicht über die jüngsten Änderungen an Dateien oder Verzeichnissen auf. Im Verzeichnis für die Netzwerktreiber lassen sich so beispielsweise die Anpassungen am Treiber-Code von e100 (drivers/net/e100.c) und e1000 (drivers/net/e1000/) anzeigen. |
Architektur-Code:
- x86:
- PIE executable randomization
- Randomize brk
- Boot-debugging via FireWire
- Extended interrupt LVT support für AMDs Barcelona)
- Reboot via ACPI
- x86: Verbesserungen zur Nutzung der TSC (Time-Stamp Counter) auf AMDs Barcelona (1, 2
- Andere:
- [AVR32] Unterstützung für AT32AP7001 und AT32AP7002
- [CRIS v32] Unterstützung für Etrax-FS und Artpec-3 (1, 2)
- [mn10300] MN10300/AM33 Architektur
- [POWERPC] Unterstützung für CellEB (native)
- [POWERPC] Integration von libfdt
- [POWERPC] Integration von dtc
- [POWERPC] Xilinx Hwicap-Treiber
- [POWERPC] Logical performance monitor driver für Playstation 3
- [PPC] Entfernen der Unterstützung für 85xx-Chips aus arch/ppc
Dateisysteme und VFS (Virtual File System):
- [CIFS] Unterstützung zum Setzen von ACLs sowie erste Teile zur Unterstützung von DFS (Distributed File Service) (1, 2)
- [OCFS2] Online Resize (1, 2)
Stromspartechniken und ACPI (Advanced Configuration and Power Interface):
- Testmöglichkeiten für Hibernate (Dokumentation)
- Aggressivere Nutzung tiefer C-Stromspamodi (C-States) beim Einsatz von Cpuidle (processor.latency_factor=2)
- Dokumentation zu Cpuidle
- Generischer Treiber "thermal" für Sysfs
- Framework zur Weiterleitung von ACPI-Hotkey-Events an den Grafiktreiber
- Unterstützung für neue Turion-CPUs in powernow-k8
- Unterstützung für neuere VIAs C7-CPUs im Cpufreq-Framework
Notebook- und PDA-spezifische Treiber:
- [acer-wmi] Neuer treiber für Acer Notebooks (1, 2)
- [asus_acpi] Untersützung Asus' F3Sa-Serie
- [sony-laptop] Verbesserungen für Vaio-N-Serie
- [thinkpad-acpi] Dokumentation für Eingabemöglichkeiten
- [thinkpad-acpi] Tablet-Mode Benachrichtigung
- [thinkpad-acpi] Suspend-Benachrichtigung
- [thinkpad-acpi] Verbesserungen für X61t
- [i8k] Unterstützung für x86-64
- Treiber für die Intels Menlow-Platform
- [leds] Treiber für Clevo-Notebooks
- [leds] Treiber für HP Jornada 6xx
PCI-Subsystem:
- Korrekturen für PCIe Hotplug (Relevant u.a. für ExpressCard-Slots bei Dell-Notebooks)
- PCIe-Hotplug wird nicht mehr als experimentell eingestuft
USB-Subsystem:
Input-Subsystem (Eingabegeräte wie Tastatur und Maus):
- [wacom] Unterstützung für Bamboo1, BambooFun und Cintiq 12WX
- Unterstützung für MacBooks der dritten Generation
- Spezialbehandlung für Microsoft Wireless Optical Desktop 3.0
- Unterstützung für das horizontale Mausrad der A4 Tech X5-005D
- Verbesserungen für MS Presenter
Storage
- Libata (Parallel- und Seriell-ATA-Treiber):
- [ahci] Unterstützung für Nvidias MCP7B
- [ahci] Unterstützung für den SATA-Controller des Marvell 6121
- [sata_svw] Unterstützung für den Serverworks-SATA-Controller HT1100
- [sata_mv] Korrekturen für die Fehlerbehandlung beim Einsatz von NCQ auf Marvell-SATA-Controllern
- [sata_mv] Unterstützung für NCQ auf neueren Marvell-SATA-Controllern
- [pata_legacy] Unterstützung für Winbond-Chips
- [ata_generic] Unterstützung für Cenatek-Hardware
- [pata_ninja32] Neuer Treiber für Cardbus ATA
- [pata_via] Korrekturen an der Kabelerkennung der Cx700-Southbridge
- IDE-Subsystem (alte Parallel-ATA-Treiber sowie einzelne für Serial-ATA-Controller):
- SCSI:
- [SCSI] Bidirectional command support
- [mvsas] Neuer SAS-Treiber für Marvell 6440 (1, 2)
- [3w-9xxx] Bessere Performance auf manchen Mainboards
- [aic94xx] Möglichkeit zur aktualisieren der Firmware von Adaptec-Controllern
- Entfernt: seagate, ncr3C9x und psi240i
- Allgemein:
- Enhanced partition statistics (Dokumentation, 1, 2, 3, 4)
- [ricoh_mmc] Unterstützung für Ricoh RL5c476
- [usbstorage] Spezialbehandlung für Nikon D80
- Spezialbehandlungen für die Storage-Controller in ATI/AMD Southbridges (1, 2)
Netzwerk:
- LAN:
- [forcedeth] Korrekturen für MCP77/79
- [phylib] Unterstützung für die PHYs Realtek 821x und Broadcom BCM5482
- [r6040] Neuer Treiber für den RDC R6040 Fast Ethernet Controller
- [e1000e] Verbesserungen für die Aufwachfunktionen
- [iw_nes] Treiber für NetEffect 1/10Gb NICs
- [bnx2] Neue firmware mit Untersützung für S/G RX buffer
- WLAN:
- [iwlwifi] Größere Umstrukturierungen im Code (etwa 1 und 2) und separate Konfigurationsoptionen für die 3945- und 4965-WLAN-Chips
- [p54usb] Unterstützung für Linksys WUSB54G ver 2 und Phillips CPWUA054
- [rt2x00] Handhabung von Suspend- und Resume, USB ID für Melco-Hardware (0x0411, 0x005)
- [zd1211rw] Unterstützung für Trendnet TEW-429UB A
- [b43] Unterstützung für neue Firmware
- Unterstützung für eine weitere Variante der Dell Wireless 5520
- Allgemein:
- [mac80211] Beacon- und Schlüssel-Konfiguration via Cfg80211, Überarbeitung beim Hardware-Scan-Framework
- [aoe] Multiple network paths to AoE device
Grafikhardware:
- [drm/radeon] Unterstützung für RS690 (erste Teile) und RV380
- [drm/sis] Unterstürzung für SiS 662/671
- [drm/i915] Unterstützung für E7221 und einen unbenannten Mobile-Grafikchipsatz
- [intel_agp] Korrekturen für G35 und G965 sowie Unterstützung für den bereits erwähnten Mobile-Grafikchipsatz
- Anzeige von verschiedenen VESA-Grafikmodi bei vga=ask
Audio:
- [hda-codec] Virtual master controls, Verbesserungen für automatische Konfiguration und Unterstützung für VIAs VT1708B
- [hda-intel] Niedrigere Latenzzeiten, Unterstützung für RV6xx HDMI-Audio (1, 2), Intel SCH und mehrere Audio-Geräte
- [sis7019] Neuer Audio-Treiber für SiS 7019
- [mpc8610_hpcd] ASoC-Treiber für Freescale MPC8610 SoC
- Entfernt wurde das Sequencer Instrument Layer
Hardware-Monitoring/I2C:
- [coretemp] Auslesen der Temperaturschwelle, ab der alle Lüfter voll Aufdrehen sollten
- [watchdog] WatchDog-Treiber HP ProLiant
- [hwmon] Unterstützung für Winbond W83L786NG/NR
- [i2c-viapro] Unterstützung für VIAs VT8237S
- Entfert wurde der I2C-RTC-Treiber
V4l/DVB:
- [saa7134] Unterstützung für Medion / Creatix CTX948 und LifeView FlyDVB-T Hybrid Mini PCI
- [zr364xx] Unterstützung für Creative DiVi CAM 516 und Pentax Optio 50
- [dvb-usb-dib0700] Unterstützung für Gigabyte u7000 USB dvb-t und WinTV Nova-T-CE driver
- [ivtv] Unterstützung für AVerMedia PVR-150 Plus, ASUS Falcon2
- Entfernt: saa7134-oss
Verschiedenes:
- SLUB: Performance statistics
- [crypto] Untersützung für Aead, LZO und GCM
- Ausführbare Dateien können nun größer als 2 GByte sein
- Entfernt wurde die Unterstützung für a.out-Binaries
Eine dieser Auflistung ähnlichen Überblick sowie eine Kurzbeschreibung der wichtigsten Änderungen von 2.6.25 pflegen auch die Kernelnewbies in ihrem Wiki. Wer es noch detaillierter wissen möchte, durchkämmt das mehrere Megabyte große Changelog, das die zu jedem einzelnen Commit im Quellcode-Verwaltungssystem gehörenden Patch-Kommentare enthält. Alternativ kann man sich auch im Git-Webinterface durch die Kernel-Quellen und deren jüngste Änderungen arbeiten; dort stehen auch die Patches selbst zum Ansehen oder Herunterladen bereit. (thl/c't) (thl)