1
0
Fork 0
forked from AbleOS/ableos
ableos-idl/ableos/src/lib.rs

100 lines
1.8 KiB
Rust
Raw Normal View History

//! main library for the AbleOS kernel.
//! exposing all the kernel functionality to the rest of the kernel.
//!
//!
2021-11-21 02:13:50 -06:00
2021-11-16 00:09:27 -06:00
#![no_std]
2021-11-22 10:30:49 -06:00
#![feature(
abi_x86_interrupt,
2021-11-27 09:19:08 -06:00
asm_sym,
2021-11-23 05:53:06 -06:00
alloc_error_handler,
2021-11-22 10:30:49 -06:00
core_intrinsics,
2022-02-01 17:06:00 -06:00
exclusive_range_pattern,
2021-11-22 10:30:49 -06:00
lang_items,
2022-02-01 17:06:00 -06:00
naked_functions,
2022-02-03 13:47:58 -06:00
slice_pattern
2021-11-22 10:30:49 -06:00
)]
2021-11-16 00:09:27 -06:00
2022-01-26 22:06:04 -06:00
/// Contains architecture specific code for aarch64.
2021-11-16 00:09:27 -06:00
#[cfg(target_arch = "aarch64")]
#[path = "arch/aarch64/mod.rs"]
2021-11-22 10:30:49 -06:00
pub mod arch;
2021-11-16 00:09:27 -06:00
2022-01-26 22:06:04 -06:00
/// Contains architecture specific code for x86_64.
2021-11-16 00:09:27 -06:00
#[cfg(target_arch = "x86_64")]
#[path = "arch/x86_64/mod.rs"]
2021-11-22 10:30:49 -06:00
pub mod arch;
2022-01-26 22:06:04 -06:00
/// Contains architecture specific code for riscv64.
#[cfg(target_arch = "riscv64")]
#[path = "arch/riscv/mod.rs"]
2021-11-22 10:30:49 -06:00
pub mod arch;
2021-11-16 00:09:27 -06:00
#[macro_use]
pub mod print;
2022-02-18 10:04:10 -06:00
// pub mod devices;
// pub mod wasm_jumploader;
2022-01-16 14:55:58 -06:00
2022-01-16 19:42:11 -06:00
#[macro_use]
pub extern crate log;
/////////////
// Modules //
/////////////
2021-11-27 09:19:08 -06:00
pub mod allocator;
2022-01-22 00:01:16 -06:00
pub mod boot_conf;
2021-11-22 10:30:49 -06:00
pub mod driver_traits;
pub mod experiments;
2022-01-18 06:15:51 -06:00
pub mod graphics;
pub mod kernel_state;
2021-11-16 00:09:27 -06:00
pub mod keyboard;
2021-11-22 10:30:49 -06:00
pub mod kmain;
2022-01-16 19:42:11 -06:00
pub mod logger;
2021-11-22 10:30:49 -06:00
pub mod panic;
2022-02-18 10:04:10 -06:00
// pub mod proto_filetable;
2021-11-16 00:09:27 -06:00
pub mod relib;
2022-02-18 10:04:10 -06:00
// pub mod scheduler;
2022-01-16 19:42:11 -06:00
mod unicode_utils;
pub mod utils;
2022-02-18 10:04:10 -06:00
// pub mod vga_e;
2022-01-25 19:40:37 -06:00
pub mod wasm;
2021-12-28 02:56:29 -06:00
pub extern crate alloc;
2021-12-24 08:04:07 -06:00
pub extern crate externc_libm as libm;
2022-01-07 10:31:47 -06:00
//////////////////
// Re-exports ///
////////////////
pub use allocator::*;
pub use boot_conf::*;
pub use driver_traits::*;
pub use experiments::*;
pub use graphics::*;
pub use kernel_state::*;
pub use keyboard::*;
pub use logger::*;
pub use panic::*;
2022-02-18 10:04:10 -06:00
// pub use proto_filetable::*;
pub use relib::*;
2022-02-18 10:04:10 -06:00
// pub use scheduler::*;
pub use utils::*;
2022-02-18 10:04:10 -06:00
// pub use vga_e::*;
pub use wasm::*;
//////////////////
pub mod virtio;
pub use virtio::*;
2022-01-27 01:37:12 -06:00
2022-02-18 10:04:10 -06:00
// pub mod alias_table;
// pub use alias_table::*;
2022-01-27 01:37:12 -06:00
2022-02-18 10:04:10 -06:00
/*
2022-01-27 01:37:12 -06:00
pub mod tests;
pub use tests::*;
2022-02-18 10:04:10 -06:00
pub mod syscalls;
2022-02-03 13:47:58 -06:00
pub use syscalls::*;
2022-02-12 03:25:02 -06:00
*/
2022-02-08 03:01:29 -06:00
pub mod scratchpad;
pub use scratchpad::*;
2022-02-18 10:04:10 -06:00
// pub mod filesystem;