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
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
|
Linux Kernelprogrammierung
Linuxtag:
=========
Mi 11. - Sa 14. Mai Messe Berlin - Vorlesung entfällt
Excursion from 11th to 15th of May.
Conference Schedule online
Costs:
Hotel: about 30 EUR / night = 120 EUR
Train: 150 .. 200 EUR
Ticket: 16 EUR (four day ticket), LinuxNacht 38 EUR (incl. Drinks and Meals)
~300 EUR - grant from University
Plesae mail me until Monday if you want to join. (manut@mecka.net)
I try to get there as cheap as possible, however I cannot say, how much the trip
will cost. You can include a constraints in your mail, e.g. maximum costs. ;-)
weitere Termine:
================
11. - 14. April Exkursionswoche??
LWN - summary:
==============
01.04.2011:
^^^^^^^^^^^
- GCC 4.6.0 is out support for the Go language, improved C++0x support, many
optimization improvements including a "scalable whole program optimizer"
which is said to be stable enough to use, a new -Ofast option, and more..
- 2.6.39-rc1 is out
There have been just over 2,200 non-merge changesets pulled into the mainline
since last week; that makes 8,757 total changes for this development cycle.
- an option to force all interrupt handlers to run as threads
- The media controller subsystem
- The CHOKe packet scheduler
- There is a new "mtdswap" block device which allows swapping directly to
memory technology devices.
- printk() and friends have a new "%pB" format specifier which prints a
backtrace symbol and its offset.
- Jump Label reworked
#include <linux/jump_label.h>
struct jump_label_key my_key;
Enabling and disabling the key is a simple matter of calling:
jump_label_inc(struct jump_label_key *key);
jump_label_dec(struct jump_label_key *key);
And using the key to control the execution of rarely-needed code becomes:
if (static_branch(&my_key)) {
/* Unlikely stuff happens here */
}
The 2.6.39 kernel now goes into the stabilization phase of the development
cycle. If the usual pattern holds, we can expect to see on the order of 2000
fixes merged between now and the final release, which is likely to happen in
early June.
Quotes of the week
The C preprocessor... It is ugly, inelegant, painful, annoying, and should have
been strangled at birth -- but it is always there when you need it!
-- Paul McKenney
Make Linux Software presents the fastest ever embedded Linux boot for 720 MHz
ARM and NAND flash memory. Linux boot time is 300 milliseconds from boot loader
to shell.
-- Constantine Shulyupin
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
|