Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 17
  1. The Cleanup Pattern - From goto out to Drop

    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.

  2. Opaque Pointers and Type Erasure

    In the last blog post, we discussed how callback arguments are handled in Rust when interfacing with C.

  3. The Callback Conundrum - Porting void pointers to user data

    Platform drivers were one of the first success stories of the Rust-for-Linux project.

  4. Inline Assembly

    Why inline assembly?

  5. C to Rust - Memory

    One of the big worries of any seasoned embedded developper is always memory and processing overhead.

  6. Porting a userspace program to Kernel space

    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.

  7. Hashset

    Why reinventing HashSet?

  8. Out of tree Kernel module

    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.

  9. Ioctls

    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.

  10. Locks and synchronization

    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.

  11. Results and Errors

    Rusty error handling In C, it is common that functions return a integer indicating the success or failure of the function execution.

  12. Allocators

    User Land When is it used?

  13. C vs Rust - In the Linux Kernel

    +++ 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.

  14. Getting involved

    Rust for Linux The best starting place is probably the web page of the project, rust-for-linux.com.

  15. Porting my first phy driver

    Why the phy?

  16. Creating C bindings

    What are bindings?

  17. Getting Started

    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.