This commit is contained in:
2024-05-23 21:39:00 +03:00
commit 6de42c3dba
15 changed files with 445 additions and 0 deletions

1
kernel/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/target

14
kernel/Cargo.toml Normal file
View File

@@ -0,0 +1,14 @@
[package]
name = "poppin-kernel"
version = "0.1.0"
edition = "2021"
test=false
[lib]
name="poppin_kernel"
test=false
crate-type=["staticlib"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
log = "0.4.21"

20
kernel/src/lib.rs Normal file
View File

@@ -0,0 +1,20 @@
#![no_std]
#![no_main]
mod logger;
#[no_mangle]
extern "C" fn kmain() -> ! {
loop {
}
}
#[panic_handler]
fn panic(_pi: &core::panic::PanicInfo) -> ! {
loop {}
}

19
kernel/src/logger.rs Normal file
View File

@@ -0,0 +1,19 @@
use log::{Record, Level, Metadata};
struct SimpleLogger {
}
impl log::Log for SimpleLogger {
fn enabled(&self, metadata: &Metadata) -> bool {
metadata.level() <= Level::Info
}
fn log(&self, record: &Record) {
if self.enabled(record.metadata()) {
println!("{} - {}", record.level(), record.args());
}
}
fn flush(&self) {}
}