mango-core 0.2.1

Core Libraries for the mango operationg system.
Documentation
#![no_std]
#![warn(missing_docs)]
#![deny(warnings)]

//! mango_core: mango core
//!
//! This crate contains core definitions for the mango operating system.
//!

use lazy_static::lazy_static;

/// Common utilities
// pub mod common;
mod logging;
/// TODO should not be public
pub mod print;
/// Support for stopping qemu
#[cfg(feature = "qemu")]
pub mod qemu;
/// Support for printing to standard output. Whether on a screen or a serial device. This is used by the print macros.
pub mod stdout;
/// Support for getting time
pub mod time;

lazy_static! {
  /// STDOUT is a printer output that is used by the print/println macros to display text on the standard output.
  pub static ref STDOUT: spin::Mutex<stdout::StaticPrinter> =
    spin::Mutex::new(stdout::StaticPrinter::default());
}

lazy_static! {
  /// TIME allows to access the uptime of the kernel.
  pub static ref TIME: spin::Mutex<time::StaticTimeManager> =
  spin::Mutex::new(time::StaticTimeManager::default());
}