Commit e4fc6580 authored by Miguel Ojeda's avatar Miguel Ojeda
Browse files

samples: add first Rust examples



The beginning of a set of Rust modules that showcase how Rust
modules look like and how to use the abstracted kernel features.

It also includes an example of a Rust host program with
several modules.

These samples also double as tests in the CI.

Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Co-developed-by: default avatarAlex Gaynor <alex.gaynor@gmail.com>
Signed-off-by: default avatarAlex Gaynor <alex.gaynor@gmail.com>
Co-developed-by: default avatarFinn Behrens <me@kloenk.de>
Signed-off-by: default avatarFinn Behrens <me@kloenk.de>
Co-developed-by: default avatarWedson Almeida Filho <wedsonaf@google.com>
Signed-off-by: default avatarWedson Almeida Filho <wedsonaf@google.com>
Co-developed-by: default avatarMilan Landaverde <milan@mdaverde.com>
Signed-off-by: default avatarMilan Landaverde <milan@mdaverde.com>
Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 09498135
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -263,6 +263,8 @@ config SAMPLE_CORESIGHT_SYSCFG
	  This demonstrates how a user may create their own CoreSight
	  configurations and easily load them into the system at runtime.

source "samples/rust/Kconfig"

endif # SAMPLES

config HAVE_SAMPLE_FTRACE_DIRECT
+1 −0
Original line number Diff line number Diff line
@@ -35,3 +35,4 @@ subdir-$(CONFIG_SAMPLE_WATCH_QUEUE) += watch_queue
obj-$(CONFIG_DEBUG_KMEMLEAK_TEST)	+= kmemleak/
obj-$(CONFIG_SAMPLE_CORESIGHT_SYSCFG)	+= coresight/
obj-$(CONFIG_SAMPLE_FPROBE)		+= fprobe/
obj-$(CONFIG_SAMPLES_RUST)		+= rust/

samples/rust/Kconfig

0 → 100644
+30 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0

menuconfig SAMPLES_RUST
	bool "Rust samples"
	depends on RUST
	help
	  You can build sample Rust kernel code here.

	  If unsure, say N.

if SAMPLES_RUST

config SAMPLE_RUST_MINIMAL
	tristate "Minimal"
	help
	  This option builds the Rust minimal module sample.

	  To compile this as a module, choose M here:
	  the module will be called rust_minimal.

	  If unsure, say N.

config SAMPLE_RUST_HOSTPROGS
	bool "Host programs"
	help
	  This option builds the Rust host program samples.

	  If unsure, say N.

endif # SAMPLES_RUST

samples/rust/Makefile

0 → 100644
+5 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0

obj-$(CONFIG_SAMPLE_RUST_MINIMAL)		+= rust_minimal.o

subdir-$(CONFIG_SAMPLE_RUST_HOSTPROGS)		+= hostprogs
+3 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0

single
Loading