From bfea023c76194e1412015a1ec01bdaacde16addd Mon Sep 17 00:00:00 2001 From: mii Date: Mon, 30 Jun 2025 20:56:25 +0900 Subject: [PATCH] add kernel --- .gitignore | 1 + nel_os_bootloader/src/main.rs | 2 ++ nel_os_kernel/.cargo/config.toml | 6 ++++++ nel_os_kernel/Cargo.lock | 7 +++++++ nel_os_kernel/Cargo.toml | 6 ++++++ nel_os_kernel/src/main.rs | 3 +++ nel_os_kernel/x86_64-nel_os.json | 16 ++++++++++++++++ 7 files changed, 41 insertions(+) create mode 100644 nel_os_kernel/.cargo/config.toml create mode 100644 nel_os_kernel/Cargo.lock create mode 100644 nel_os_kernel/Cargo.toml create mode 100644 nel_os_kernel/src/main.rs create mode 100644 nel_os_kernel/x86_64-nel_os.json diff --git a/.gitignore b/.gitignore index 59436ae..de09ee9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ nel_os_bootloader/target +nel_os_kernel/target diff --git a/nel_os_bootloader/src/main.rs b/nel_os_bootloader/src/main.rs index b40c56d..71670e6 100644 --- a/nel_os_bootloader/src/main.rs +++ b/nel_os_bootloader/src/main.rs @@ -35,6 +35,8 @@ fn get_fs() -> Directory { fn main() -> Status { uefi::helpers::init().unwrap(); + uefi::system::with_stdout(|stdout| stdout.clear().unwrap()); + println!("\nnel_os bootloader"); let memory_map = uefi::boot::memory_map(MemoryType::LOADER_DATA).unwrap(); diff --git a/nel_os_kernel/.cargo/config.toml b/nel_os_kernel/.cargo/config.toml new file mode 100644 index 0000000..e645d32 --- /dev/null +++ b/nel_os_kernel/.cargo/config.toml @@ -0,0 +1,6 @@ +[unstable] +build-std = ["core", "compiler_builtins", "alloc"] +build-std-features = ["compiler-builtins-mem"] + +[build] +target = "x86_64-nel_os.json" diff --git a/nel_os_kernel/Cargo.lock b/nel_os_kernel/Cargo.lock new file mode 100644 index 0000000..065bd87 --- /dev/null +++ b/nel_os_kernel/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "nel_os_kernel" +version = "0.1.0" diff --git a/nel_os_kernel/Cargo.toml b/nel_os_kernel/Cargo.toml new file mode 100644 index 0000000..f710101 --- /dev/null +++ b/nel_os_kernel/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "nel_os_kernel" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/nel_os_kernel/src/main.rs b/nel_os_kernel/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/nel_os_kernel/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} diff --git a/nel_os_kernel/x86_64-nel_os.json b/nel_os_kernel/x86_64-nel_os.json new file mode 100644 index 0000000..77e4d1d --- /dev/null +++ b/nel_os_kernel/x86_64-nel_os.json @@ -0,0 +1,16 @@ +{ + "llvm-target": "x86_64-unknown-none", + "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128", + "arch": "x86_64", + "target-endian": "little", + "target-pointer-width": "64", + "target-c-int-width": "32", + "os": "none", + "executables": true, + "linker-flavor": "ld.lld", + "linker": "rust-lld", + "panic-strategy": "abort", + "disable-redzone": true, + "features": "-mmx,-sse,+soft-float", + "rustc-abi": "x86-softfloat" +}