Linux Kernelprogrammierung LWN - summary: ============== 25.03.2011: ^^^^^^^^^^^ - As always lots of new drivers :)) Processors and systems: VIA/WonderMedia VT8500/WM85xx System-on-Chips, IMX27 IPCAM boards, and MX51 Genesi Efika Smartbook systems. Block: Broadcom NetXtreme II FCoE controllers and Freescale MXS Multimedia Card interfaces. Graphics: Intel GMA500 controllers (2D acceleration only), USB-connected graphics devices, MXS LCD framebuffer devices, and LD9040 AMOLED panels. Input: Hyper-V virtualized mice, Roccat Kova[+] mouse devices, Roccat Arvo keyboards, Wolfson WM831x PMIC touchscreen controllers, Atmel AT42QT1070 touch sensor chips, and Texas Instruments TSC2005 touchscreen controllers. Networking: Texas Instruments WiLink7 bluetooth controllers (from staging), Bosch C_CAN controllers, Faraday FTMAC100 10/100 Ethernet controllers, and the Xen "netback" back-end driver. Miscellaneous: Faraday FUSB300 USB peripheral controllers, OMAP USBHS host controllers, NVIDIA Tegra USB host controllers, Texas Instruments PRUSS-connected devices, MSM UARTs, Maxim MAX517/518/519 DACs, RealTek PCI-E card readers, Analog Devices ad7606, ad7606-6, and ad7606-4 analog to digital converters, Maxim MAX6639 temperature monitors, Maxim MAX8688, MAX16064, MAX34440 and MAX34441 hardware monitoring chips, Lineage compact power line power entry modules, PMBus-compliant hardware monitoring devices, Linear Technology LTC4151 is high voltage I2C current and voltage monitors, Intel SCU watchdog devices, Ingenic jz4740 SoC hardware watchdogs, Xen watchdog devices, NVIDIA Tegra internal I2C controllers, Freescale i.MX28 I2C interfaces, MXS Application UART (AUART) ports, SuperH SPI controllers, Altera SPI controllers, OpenCores tiny SPI controllers, SMSC SCH5627 Super-I/O hardware monitoring chips, Texas Instruments ADS1015 12-bit 4-input ADC devices, Diolan U2C-12 USB adapters, SPEAr13XX PCIe controllers (in "gadget" mode), and Freescale MXS-based SoC i.MX23/28 DMA engines. Sound: Firewire-connected sound devices, Wolfson Micro WM8991 codecs, Cirrus CS4271 codecs, Freescale SGTL5000 codecs, TI tlv320aic32x4 codecs, Maxim MAX9850 codecs, and TerraTec 6fire DMX USB interfaces. Outgoing: A number of TTY drivers (epca, ip2, istallion, riscom8, serial167, specialix, stallion, generic_serial, rio, ser_a2232, sx, and vme_scc) have been moved to the staging tree in anticipation of removal in 2.6.41. The smbfs and autofs3 filesystems, which were moved to staging in 2.6.37, have now been moved out of the kernel entirely. - BKL http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=4ba8216cd90560bc402f52076f64d8546e8aefcb - New syscall: int syncfs(int fd); - The USB core has gained support for USB 3.0 hubs - New Dynamic Debugging Features tpm_nsc.c 346: dev_dbg(&pdev->dev, "NSC TPM detected\n"); echo file tpm_nsc.c line 346 +p > .../dynamic_debug/control echo file tpm_nsc.c line 346-373 +p > .../dynamic_debug/control echo file tpm_nsc.c function init_nsc +p > .../dynamic_debug/control - new set of string-to-integer converters which is expected to be used in preference to all others. Unsigned conversions can be done with any of kstrtoull(), kstrtoul(), kstrtouint(), kstrtou64(), kstrtou32(), kstrtou16(), kstrtou8(). Conversions to signed integers can be done with kstrtoll(), kstrtol(), kstrtoint(), kstrtos64(), kstrtos32(), kstrtos16(), or kstrtos8(). All of these functions are marked __must_check, so callers are expected to check to ensure that the conversion happened successfully. The older functions are marked deprecated, and will eventually be removed. These new kstrto*() functions are now the Official Best Way To Convert Strings, so developers need wonder no longer. Prüfung: ======== schriftlich, 60 Minuten Material: ========= http://manut.eu/hswgt Script: ======= Mitschriebe gerne an manut@mecka.net Literatur: ========== http://lwn.net http://heise.de/open <-- Kernel Log http://kernelnewbies.org http://beagleboard.org Corbet, Rubini, Kroah-Hartmann: Linux Device Drivers 3rd Edition http://lwn.net/Kernel/LDD3 Kroah-Hartmann: Linux Kernel In A Nutshell http://www.kroah.com/lkn Bovet, Cesati: Understanding The Linux Kernel (34,95) Love: Linux Kernel Development (29,95 EUR) Bewertung: ========== http://www.meinprof.de/uni/prof/51131 Linuxtag: ========= Mi 11. - Sa 14. Mai Messe Berlin - Vorlesung entfällt weitere Termine: ================ 11. - 14. April Exkursionswoche?? 03. Juni Blutfreitag Vorlesung entfällt 17. Juni Pfingsten Vorlesung entfällt 01. Juli letzte Vorlesung geplante Themen: ================ UE0 - what is linux: -------------------- Linux Desktop vs. embedded Linux: - Kernel vs. Userspace - Fedora, Debian, ubuntu .. - Android - KDE / GNOME - CPU Architekturen - cross UE1 - kernel basics, kernel best practices, kernel api: ------------------------------------------------------- Kernelentwicklung - Mainline / Maintainer - syscalls (stabil) - interne API (instabil) Versionskontrolle: - diff / patch - quilt - git UE2 - kernel build, bootloader: ------------------------------- Board Bringup: - Bootloader - grub vs. IPL vs. u-boot Kernel: - Kernel konfigurieren - Kernel kompilieren (auch cross) - Kernel Dokumentation UE3: ---- Dateisysteme: Desktop: - ext2/3/4 - xfs Embedded: - jffs2 - ubifs Flash: - SDCard, CF vs. NAND Netzwerk: - NFS UE4: ---- Userspace: - RFS generieren - busybox / cross - read only RFS - 'kein' RFS vs. full-featured Debian UE5: ---- Kernelarchitektur: - Core - Driver - Arch - Coding Style UE6: ---- Kernelmodule: - 1. Kernelmodul 'Hello world' registrieren bei Subsystemen: - char dev UE7: ---- Tracing UE8: ---- Kernelkonzepte: Review eines Treibers: - IRQ Handling - MM - Timer UE9: ---- Echtzeit: - RTAI vs. RT_PREEMPT - Grenzen - cyclictest UE10: ---- UIO: - UIO LPT Beispiel - RT Performance messen UE11: ----- MIDI: - Basics - Midi & Linux UE12: ----- IRQ Handling, Locking, .. UE13: ----- ALSA: - Kernel-/Userspace-Architektur - Tools - Synthesizer UE14: ----- Linux & Grafik oder ein anderes aktuelles Thema UE15: ----- Q&A tglx