Skip to content

[Rust] Rust for Linux kernel #15

Open
@heiher

Description

@heiher

Working tree: https://github.com/heiher/linux/commits/loongarch-rust

Built-in

[    0.000000] Linux version 6.7.0-rc1-next-20231117+ (hev@lvm) (clang version 18.0.0 (https://github.com/llvm/llvm-project 0c97a37d8faa8179f103b6a34b70270375caf761), LLD 18.0.0) #2 SMP PREEMPT Sat Nov 18 23:33:44 CST 2023
[    0.000000] 64-bit Loongson Processor probed (LA464 Core)
...
[    0.639473] rust_minimal: Rust minimal sample (init)
[    0.639621] rust_minimal: Am I built-in? true
[    0.639865] rust_print: Rust printing macros sample (init)
[    0.639942] rust_print: Emergency message (level 0) without args
[    0.640031] rust_print: Alert message (level 1) without args
[    0.640113] rust_print: Critical message (level 2) without args
[    0.640197] rust_print: Error message (level 3) without args
[    0.640282] rust_print: Warning message (level 4) without args
[    0.640361] rust_print: Notice message (level 5) without args
[    0.640437] rust_print: Info message (level 6) without args
[    0.640555] rust_print: A line that is continued without args
[    0.640669] rust_print: Emergency message (level 0) with args
[    0.640751] rust_print: Alert message (level 1) with args
[    0.640826] rust_print: Critical message (level 2) with args
[    0.640906] rust_print: Error message (level 3) with args
[    0.640988] rust_print: Warning message (level 4) with args
[    0.641066] rust_print: Notice message (level 5) with args
[    0.641146] rust_print: Info message (level 6) with args
[    0.641218] rust_print: A line that is continued with args
[    0.641346] rust_print: 1
[    0.641492] rust_print: "hello, world"
[    0.641710] rust_print: [samples/rust/rust_print.rs:34] c = "hello, world"
[    0.641905] rust_print: "hello, world"

Module

[root@vm ~]# cat /proc/version 
Linux version 6.7.0-rc1-next-20231117+ (hev@lvm) (clang version 18.0.0 (https://github.com/llvm/llvm-project 0c97a37d8faa8179f103b6a34b70270375caf761), LLD 18.0.0) #1 SMP PREEMPT Sat Nov 18 23:28:32 CST 2023
[root@vm ~]# insmod rust_minimal.ko 
[   31.499253] rust_minimal: Rust minimal sample (init)
[   31.499440] rust_minimal: Am I built-in? false
[root@vm ~]# insmod rust_print.ko 
[   35.983847] rust_print: Rust printing macros sample (init)
[   35.983947] rust_print: Emergency message (level 0) without args
[   35.984007] rust_print: Alert message (level 1) without args
[   35.984057] rust_print: Critical message (level 2) without args
[   35.984118] rust_print: Error message (level 3) without args
[   35.984170] rust_print: Warning message (level 4) without args
[   35.984230] rust_print: Notice message (level 5) without args
[   35.984288] rust_print: Info message (level 6) without args
[   35.984345] rust_print: A line that is continued without args
[   35.984643] rust_print: Emergency message (level 0) with args
[   35.984703] rust_print: Alert message (level 1) with args
[   35.984757] rust_print: Critical message (level 2) with args
[   35.984813] rust_print: Error message (level 3) with args
[   35.984868] rust_print: Warning message (level 4) with args
[   35.984921] rust_print: Notice message (level 5) with args
[   35.984975] rust_print: Info message (level 6) with args
[   35.985028] rust_print: A line that is continued with args
[   35.985134] rust_print: 1
[   35.985211] rust_print: "hello, world"
[   35.985420] rust_print: [samples/rust/rust_print.rs:34] c = "hello, world"

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions