summaryrefslogtreecommitdiff
path: root/src/kernel.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel.rs')
-rw-r--r--src/kernel.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/kernel.rs b/src/kernel.rs
new file mode 100644
index 0000000..8218691
--- /dev/null
+++ b/src/kernel.rs
@@ -0,0 +1,34 @@
+//! # Kernel
+//!
+//! Kernel Start
+
+#![no_std] // don't link the Rust standard library
+#![no_main] // disable all Rust-level entry points
+#![feature(const_mut_refs)]
+
+mod sync;
+mod vga;
+use vga::*;
+use core::panic::PanicInfo;
+
+/// This function is called on panic.
+#[panic_handler]
+fn panic(_info: &PanicInfo) -> ! {
+ loop {}
+}
+
+fn kernel_init() {
+ WRITER.init();
+}
+
+#[no_mangle]
+pub extern "C" fn _start() -> ! {
+ kernel_init();
+
+ WRITER.write_string("Hello World!");
+ WRITER.write_string("\n\nHi\n");
+ println!("{}", 5);
+ //print_something();
+
+ loop {}
+}