summaryrefslogtreecommitdiff
path: root/bootle/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'bootle/src/lib.rs')
-rw-r--r--bootle/src/lib.rs55
1 files changed, 0 insertions, 55 deletions
diff --git a/bootle/src/lib.rs b/bootle/src/lib.rs
deleted file mode 100644
index adc1aab..0000000
--- a/bootle/src/lib.rs
+++ /dev/null
@@ -1,55 +0,0 @@
-#![no_std]
-#![no_main]
-
-use core::panic::PanicInfo;
-
-#[unsafe(no_mangle)]
-pub extern "C" fn _start() -> ! {
- welcome_serial();
- halt()
-}
-
-fn print_serial(s: &str) {
- let mut bytes = s.bytes();
- while let Some(b) = bytes.next() {
- unsafe {
- core::arch::asm!(
- "out dx, al"
- , in("al") b
- )
- };
- }
-}
-
-fn println_serial(s: &str) {
- print_serial(s);
- print_serial("\n");
-}
-
-fn welcome_serial() {
- print_serial(ANSI_PINK);
- println_serial("\nWelcome to Bootle OS");
- println_serial("All code GPL licensed and freely available on git.mtgmonkey.net");
- print_serial("Enjoy your time! Press ");
- print_serial(ANSI_RED);
- print_serial("ctrl+a x");
- print_serial(ANSI_PINK);
- println_serial(" to escape Qemu");
- print_serial(ANSI_CLEAR);
-}
-
-#[panic_handler]
-fn panic(_: &PanicInfo) -> ! {
- print_serial("panicked");
- halt()
-}
-
-fn halt() -> ! {
- unsafe { core::arch::asm!("hlt") };
- halt()
-}
-
-const ANSI_CLEAR: &str = "\x1b[0m";
-const ANSI_RED: &str = "\x1b[31m";
-const ANSI_PINK: &str = "\x1b[35m";
-const ANSI_GREEN: &str = "\x1b[32m";