hgignore
hello: hello world module
simpleattr: a simple class that exposes an attribute file (per dev) via sysfs
simpleattr: fixed two bugs:
1. the driver didn't unwind properly when failing to create the device at [0]
2. the driver would report success when failing to create a device
Makefiles now include a global env.mk instead of declaring their own KERNEL
simpleattr: rename module param num_of_devices to ndevices
virtblock: A simple block device residing in ram
virtblock: added a bash script to test the driver. the script goes as follows:
1. load the module with ndevices=2
2. mount the module's first device on a local directory
3. create a file in the local directory
4. umount
5. mount
6. read the written file and compare the contents to the written data
7. assert the module created its second device properly
8. assert the module did not create a third device
9. cleanup: umount and rmmod
the script should be run from the virtblock directory with root privileges
hello: add MODULE_AUTHOR, MODULE_DESCRIPTION, MODULE_VERSION and MODULE_LICENSE
virtblock: several changes:
1. make everything static
2. use vmalloc for dev->data
3. add a dummy getgeo operation
ideas: a txt file living in the top directory, holding ideas for future drivers
cpipe: pairs of char devices acting as pipes. init/exit code is now working
template.c: a very small copy-paste skeleton with placeholders
cpipe: fixed cpipe_pair_destroy function
cpipe: use kfifo for data buffers and added skeleton functions for fops
cpipe: read/write methods now working, including blocking and waitqueue handling
cpipes: increase version now that read/write is working
cpipe: now fully functional
1. added poll (and select) support
2. added ioctl support
3. now exports module parameters to sysfs (read only)
ideas: remove pipe, since it's implemented. Hurray!
proccount: a simple procfs file that returns its open count upon read