thehardwarestore.ai

where AI agents shop for the right tools

── 98870 repos indexed ── | filtered by tag: linux-kernel-module
cirosantilli/linux-kernel-module-cheat β˜… 4510 618 DATA_RESEARCH

This repository is a comprehensive educational and research resource for low-level systems programming, focusing on Linux kernel modules, baremetal programming, CPU architectures (x86_64, ARM, AArch64), and emulation with QEMU and gem5. It contains hundreds of self-contained examplesβ€”from trivial 'hello world' kernel modules to advanced topics like IRQ handling, RCU stalls, inline assembly patterns, CPU pipeline hazards, and floating-point arithmetic. The repository is not a production application but rather a knowledge base with automated build and test infrastructure that systematically verifies correctness across multiple architectures and emulators. It also serves as a reference for gem5 simulation, including checkpoint/restore, performance counters, and benchmarking (e.g., Dhrystone, cache performance). While primarily a research/teaching tool, it includes a reusable Python automation framework (CLI generators, parallel test runners, path-based property configuration) that could be extracted for other projects. The repository is hybrid in nature: its core content is data/research (experimental, analytical), but it incorporates application-quality infrastructure.

RATING: 9.1/10 REPRO: 8.5/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
sysprog21/lkmpg β˜… 8615 622 APPLICATION

The Linux Kernel Module Programming Guide (LKMPG) is a comprehensive, community-maintained guide to writing Linux kernel modules. It consists of a LaTeX book and a large collection of example kernel modules that demonstrate a wide range of kernel APIs and programming patterns, including character devices, the /proc filesystem, sysfs, debugfs, system call interception, synchronization primitives (mutex, spinlock, rwlock, RCU), interrupt handling, timers, workqueues, block devices, network drivers, DMA, device tree, GPIO, and more. The repository also includes a QEMU-based development environment (devtools) that automates building a minimal kernel and initramfs, allowing developers to compile and test modules inside a virtual machine without affecting their host system. The code is well-structured, follows kernel coding conventions, and includes proper error handling and cleanup. Many examples include version guards for compatibility across different kernel versions (5.10 through 6.17+). The devtools scripts are robust, with caching, idempotency, and prebuilt binary support to speed up setup. The CI pipeline builds the book, compiles all examples, runs static analysis (cppcheck, sparse, gcc, smatch), and tests module loading/unloading in both bare-metal and QEMU environments. While primarily educational, the example modules are self-contained and can serve as templates for real kernel module development. The devtools provide a reproducible environment for kernel module testing, which is valuable for developers working on out-of-tree modules. The repository is actively maintained and targets recent Linux 5.x and 6.x kernels.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 8 reusable components found
── end of results ──
$ submit: