akern-gkgoat-fork/ableos/src/lib.rs

49 lines
1.2 KiB
Rust

#![no_std]
// #![deny(warnings)]
#![feature(asm)]
#![feature(global_asm)]
#![feature(abi_x86_interrupt)]
#![feature(core_intrinsics, lang_items, llvm_asm)]
// #![feature(alloc_error_handler)] // at the top of the file
#![reexport_test_harness_main = "test_main"]
#![feature(custom_test_frameworks)]
#![test_runner(crate::arch::test_runner)]
#![feature(naked_functions)]
#[cfg(target_arch = "arm")]
#[path = "arch/aarch32/mod.rs"]
mod arch;
#[cfg(target_arch = "aarch64")]
#[path = "arch/aarch64/mod.rs"]
mod arch;
#[cfg(target_arch = "x86_64")]
#[path = "arch/x86_64/mod.rs"]
mod arch;
#[cfg(target_arch = "riscv64")]
#[path = "arch/riscv/mod.rs"]
mod arch;
#[macro_use]
pub mod print;
use arch::drivers::serial;
mod driver_traits;
mod experiments;
#[cfg(not(target_arch = "mips"))]
// pub mod allocator;
mod kmain;
#[cfg(not(target_arch = "mips"))]
mod panic;
pub use experiments::server;
pub mod keyboard;
pub mod relib;
pub const KERNEL_VERSION: &str = env!("CARGO_PKG_VERSION");
#[cfg(debug_assertions)]
/// A constant to check if the kernel is in debug mode
pub const RELEASE_TYPE: &str = "debug";
#[cfg(not(debug_assertions))]
/// A constant to check if the kernel is in release mode
pub const RELEASE_TYPE: &str = "release";
extern crate alloc;