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)