From 431c40e275a5055d9f144de03dbc8cfc90ed3f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Tue, 24 Nov 2020 01:33:01 +0100 Subject: add kernel-rs --- kernel/Cargo.toml | 22 ++++++++++++++++++++++ kernel/Makefile | 12 ++++++++++++ kernel/rust-toolchain | 1 + kernel/src/lib.rs | 17 +++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 kernel/Cargo.toml create mode 100644 kernel/Makefile create mode 100644 kernel/rust-toolchain create mode 100644 kernel/src/lib.rs (limited to 'kernel') diff --git a/kernel/Cargo.toml b/kernel/Cargo.toml new file mode 100644 index 0000000..738559f --- /dev/null +++ b/kernel/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "kernel" +version = "0.1.0" +authors = ["Gustav Sörnäs "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[lib] +name = "kernel" +crate-type = ["staticlib"] + +[profile.dev] +panic = "abort" + +[profile.release] +panic = "abort" + +[dependencies.libc] +version = "0.2" +default-features = false +features = ["extra_traits"] diff --git a/kernel/Makefile b/kernel/Makefile new file mode 100644 index 0000000..49a4d42 --- /dev/null +++ b/kernel/Makefile @@ -0,0 +1,12 @@ +all: debug + +debug: + cargo build + +release: + cargo build --release + +clean: + cargo clean + +.PHONY: all clean debug release diff --git a/kernel/rust-toolchain b/kernel/rust-toolchain new file mode 100644 index 0000000..adfa491 --- /dev/null +++ b/kernel/rust-toolchain @@ -0,0 +1 @@ +nightly-i686-unknown-linux-gnu diff --git a/kernel/src/lib.rs b/kernel/src/lib.rs new file mode 100644 index 0000000..d7dafa1 --- /dev/null +++ b/kernel/src/lib.rs @@ -0,0 +1,17 @@ +#![no_std] + +#[panic_handler] +fn panic(_info: &core::panic::PanicInfo) -> ! { + loop {} +} + +#[no_mangle] +pub unsafe extern "C" fn syscall_handler() { + printf("c suger lmao xd\n".as_ptr()); + thread_exit(); +} + +extern { + fn thread_exit(); + fn printf(format: *const u8, ...); +} -- cgit v1.2.1