1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
|
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
|