LDD in action!
- open.c: open(2) and close(2) sample driver
- open_test.c: open.c self test
- read.c: read(2) sample driver
- read_test.c: read.c self test
- write.c: write(2) sample driver
- write_test.c: write.c self test
- readv.c: readv(2) sample driver
- readv_test.c: readv.c self test
- writev.c: writev(2) sample driver
- writev_test.c: writev.c self test
- append.c: open(O_APPEND) sample driver
- append_test.c: append.c self test
- scull.c: Simple Character Utility for Loading Localities driver
- scull_test.c: scull.c self test
- proc.c: <linux/proc_fs.h> test module
- proc_test.c: proc.c self test
- seq.c: <linux/seq_file.h> test module
- seq_test.c: seq.c self test
- faulty.c: dump_stack() test module
- faulty_test.c: faulty.c self test
- sem.c: <linux/semaphore.h> test module
- sem_test.c: sem.c self test
- rwsem.c: <linux/rwsem.h> test module
- rwsem_test.c: rwsem.c self test
- mutex.c: <linux/mutex.h> test module
- mutex_test.c: mutex.c self test
- comp.c: <linux/completion.h> test module
- comp_test.c: comp.c self test
- spinlock.c: spinlock_t test module
- spinlock_test.c: spinlock.c self test
- rwlock.c: rwlock_t test module
- rwlock_test.c: rwlock.c self test
- kfifo.c: <linux/kfifo.h> test module
- kfifo_test.c: kfifo.c self test
- seqlock.c: <linux/seqlock.h> test module
- seqlock_test.c: seqlock.c self test
- rculock.c: <linux/rcupdate.h> test module
- rculock_test.c: rculock.c self test
- sleepy.c: <linux/wait.h> wait queue test module
- sleepy_test.c: sleepy.c self test
- scullpipe.c: <linux/wait.h> low level wait queue test module
- scullpipe_test.c: scullpipe.c self test
- scullfifo.c: FIFO version of the scullpipe.c
- scullfifo_test.c: scullfifo.c self test
- poll.c: select(2), poll(2), and epoll(7) test module
- poll_test.c: poll.c self test
- lseek.c: lseek(2) test module
- lseek_test.c: lseek.c self test
- hz.c: Exposing HZ and USER_HZ through /proc file system
- jiffies.c: Exposing jiffies, jiffies_64 and the like
- jiffies_test.c: jiffies.c self test
- jitbusy.c: Busy wait based delay module
- jitbusy_test.c: jitbusy.c self test
- jitsched.c: Schedule based delay module
- jitsched_test.c: jitsched.c self test
- jitqueue.c: Wait queue based delay module
- jitqueue_test.c: jitqueue.c self test
- jitimer.c: Kernel timer based delay module
- jitimer_test.c: jitimer.c self test
- jitasklet.c: Tasklet based delay module
- jitasklet_test.c: jitasklet.c self test
- jiwq.c: Work queue based delay module
- jiwq_test.c: jiwq.c self test
- alloc.c: Various memory allocation functionalities, kmalloc, vmalloc etc.
- alloc_test.c: alloc.c self test
- scullc.c: Scull backed by the lookaside cache
- scullc_test.c: scullc.c self test
$ make
make -C /lib/modules/5.0.6.1/build M=/home/kei/git/ldd modules
make[1]: Entering directory '/home/kei/src/linux-5.0.6'
CC [M] /home/kei/git/ldd/scull.o
CC [M] /home/kei/git/ldd/sleepy.o
CC [M] /home/kei/git/ldd/ldd.o
CC [M] /home/kei/git/ldd/sculld.o
Building modules, stage 2.
MODPOST 4 modules
CC /home/kei/git/ldd/ldd.mod.o
LD [M] /home/kei/git/ldd/ldd.ko
CC /home/kei/git/ldd/scull.mod.o
LD [M] /home/kei/git/ldd/scull.ko
CC /home/kei/git/ldd/sculld.mod.o
LD [M] /home/kei/git/ldd/sculld.ko
CC /home/kei/git/ldd/sleepy.mod.o
LD [M] /home/kei/git/ldd/sleepy.ko
make[1]: Leaving directory '/home/kei/src/linux-5.0.6'
$ sudo make run_tests
make -C /lib/modules/5.0.6.1/build M=/home/kei/git/ldd modules_install
make[1]: Entering directory '/home/kei/src/linux-5.0.6'
INSTALL /home/kei/git/ldd/ldd.ko
INSTALL /home/kei/git/ldd/scull.ko
INSTALL /home/kei/git/ldd/sculld.ko
INSTALL /home/kei/git/ldd/sleepy.ko
DEPMOD 5.0.6.1
make[1]: Leaving directory '/home/kei/src/linux-5.0.6'
for mod in scull sleepy ldd sculld; do modprobe $mod; done
make -C tests top_srcdir=/lib/modules/5.0.6.1/build OUTPUT=/home/kei/git/ldd/tests \
CFLAGS="-I/lib/modules/5.0.6.1/build/tools/testing/selftests -I/home/kei/git/ldd" run_tests
make[1]: Entering directory '/home/kei/git/ldd/tests'
TAP version 13
selftests: tests: sculld_test
========================================
Pass 44 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..44
ok 1..1 selftests: tests: sculld_test [PASS]
selftests: tests: sleepy_test
========================================
Pass 3 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..3
ok 1..2 selftests: tests: sleepy_test [PASS]
selftests: tests: ldd_test
========================================
Pass 2 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..2
ok 1..3 selftests: tests: ldd_test [PASS]
selftests: tests: scull_test
========================================
Pass 28 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..28
ok 1..4 selftests: tests: scull_test [PASS]
make[1]: Leaving directory '/home/kei/git/ldd/tests'
sudo make clean
Happy Hacking!