Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
The C Cleanup Pattern While in most programming styles using goto’s is frowned upon, in the Linux Kernel this is the default method of undoing the registration and creation work done by each driver.
-
In the last blog post, we discussed how callback arguments are handled in Rust when interfacing with C.
-
Platform drivers were one of the first success stories of the Rust-for-Linux project.
-
Why inline assembly?
-
One of the big worries of any seasoned embedded developper is always memory and processing overhead.
-
Differences between Kernel and Userspace Porting a Rust program to the Linux Kernel is very similar to porting a Rust program to an embedded device.
-
Why reinventing HashSet?
-
Compiling an out of tree rust module This chapter will be less Rust focused, and more an introduction on how to compile Out-of-tree kernel modules in general.
-
Input/Output Controls In computing, ioctl calls (input/output calls) are special function calls used for operations that can not be done with regular file operations like read, write, etc.
-
Synchronization This LWN article was an attempt to give a side by side code comparison of how the same GPIO driver looks like written in C and Rust.
-
Rusty error handling In C, it is common that functions return a integer indicating the success or failure of the function execution.
-
User Land When is it used?
-
+++ Plus +++ Memory bugs and Concurrency Let’s get the obvious out of the way: With Rust, you will inherently write safer code, because the compiler will complain until you do.
-
Rust for Linux The best starting place is probably the web page of the project, rust-for-linux.com.
-
Why the phy?
-
What are bindings?
-
Check out code I recommend checking out the Rust-for-Linux kernel to play around with, because it has many more sample modules than the mainline kernel.