forked from koniifer/ableos
merge work
This commit is contained in:
parent
d8d093cb98
commit
e661e5c255
107
ableos/Cargo.lock
generated
107
ableos/Cargo.lock
generated
|
@ -27,31 +27,52 @@ name = "ableos"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ab_glyph",
|
"ab_glyph",
|
||||||
|
"acpi",
|
||||||
"bootloader",
|
"bootloader",
|
||||||
"cpuio",
|
"cpuio",
|
||||||
"ext2",
|
"ext2",
|
||||||
"externc-libm",
|
"externc-libm",
|
||||||
"facepalm",
|
"facepalm",
|
||||||
"hashbrown",
|
"genfs",
|
||||||
|
"hashbrown 0.11.2",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"libwasm",
|
"libwasm",
|
||||||
"linked_list_allocator",
|
"linked_list_allocator",
|
||||||
"lliw",
|
"lliw",
|
||||||
"log",
|
"log",
|
||||||
|
"pc-beeper",
|
||||||
|
"pci",
|
||||||
"pic8259",
|
"pic8259",
|
||||||
|
"picorand",
|
||||||
|
"pretty-hex",
|
||||||
|
"rdrand",
|
||||||
"rhai",
|
"rhai",
|
||||||
"riscv",
|
"riscv",
|
||||||
|
"rkyv",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"shadeable",
|
"shadeable",
|
||||||
"spin 0.5.2",
|
"spin 0.5.2",
|
||||||
"uart_16550",
|
"uart_16550",
|
||||||
|
"unicode-width",
|
||||||
"volatile 0.2.7",
|
"volatile 0.2.7",
|
||||||
"wasmi",
|
"wasmi",
|
||||||
|
"watson",
|
||||||
"x86_64",
|
"x86_64",
|
||||||
"y-compositor-protocol",
|
"y-compositor-protocol",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "acpi"
|
||||||
|
version = "4.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "55237649c6e747ea67e5ed45125af5e6a35ea1250c5e44995eb6049a955bd004"
|
||||||
|
dependencies = [
|
||||||
|
"bit_field",
|
||||||
|
"log",
|
||||||
|
"rsdp",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ahash"
|
name = "ahash"
|
||||||
version = "0.7.6"
|
version = "0.7.6"
|
||||||
|
@ -206,6 +227,15 @@ version = "0.11.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
|
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "hashbrown"
|
||||||
|
version = "0.12.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758"
|
||||||
|
dependencies = [
|
||||||
|
"ahash",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "instant"
|
name = "instant"
|
||||||
version = "0.1.12"
|
version = "0.1.12"
|
||||||
|
@ -350,6 +380,22 @@ version = "0.42.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92"
|
checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pc-beeper"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "git+https://github.com/AbleOS/pc-beeper#9b61a9d60552a9da4285f5ceb39ab2cccbb60b4b"
|
||||||
|
dependencies = [
|
||||||
|
"x86_64",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pci"
|
||||||
|
version = "0.0.1"
|
||||||
|
source = "git+https://gitlab.com/robigalia/pci#4e2fddc61825568b1d14d09fdc669389e6c43f02"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pic8259"
|
name = "pic8259"
|
||||||
version = "0.10.2"
|
version = "0.10.2"
|
||||||
|
@ -359,6 +405,18 @@ dependencies = [
|
||||||
"x86_64",
|
"x86_64",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "picorand"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b6fc30519d2508c7e20e01da371cd27b1d4533fdb98e279955cb636b50210688"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pretty-hex"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bc5c99d529f0d30937f6f4b8a86d988047327bb88d04d2c4afc356de74722131"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro-hack"
|
name = "proc-macro-hack"
|
||||||
version = "0.5.19"
|
version = "0.5.19"
|
||||||
|
@ -403,6 +461,21 @@ dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rdrand"
|
||||||
|
version = "0.8.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c4e0d5cb05cb40e4e5805399c27b12a064427cf553081ae9b82bc1a88111a576"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex"
|
name = "regex"
|
||||||
version = "1.5.4"
|
version = "1.5.4"
|
||||||
|
@ -475,6 +548,7 @@ version = "0.7.32"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8e3791595bf1ee951356964271bea7dafd1e1730e8be812f44a31afc38fa7bba"
|
checksum = "8e3791595bf1ee951356964271bea7dafd1e1730e8be812f44a31afc38fa7bba"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"hashbrown 0.12.0",
|
||||||
"ptr_meta",
|
"ptr_meta",
|
||||||
"rkyv_derive",
|
"rkyv_derive",
|
||||||
"seahash",
|
"seahash",
|
||||||
|
@ -497,6 +571,15 @@ version = "1.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe"
|
checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rsdp"
|
||||||
|
version = "2.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "66d3add2fc55ef37511bcf81a08ee7a09eff07b23aae38b06a29024a38c604b1"
|
||||||
|
dependencies = [
|
||||||
|
"log",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ryu"
|
name = "ryu"
|
||||||
version = "1.0.9"
|
version = "1.0.9"
|
||||||
|
@ -636,6 +719,12 @@ dependencies = [
|
||||||
"x86_64",
|
"x86_64",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-width"
|
||||||
|
version = "0.1.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-xid"
|
name = "unicode-xid"
|
||||||
version = "0.2.2"
|
version = "0.2.2"
|
||||||
|
@ -690,6 +779,22 @@ dependencies = [
|
||||||
"parity-wasm",
|
"parity-wasm",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "watson"
|
||||||
|
version = "0.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1cea7ead78c402dbf14e7f11911b0b48955ea13d46e012e2d98775e23c65d4ef"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
"webassembly",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "webassembly"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1d1a10e1dedffff9cfcbdd33c289c65b87da634259a460a3f23d513649fa7a8c"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "x86_64"
|
name = "x86_64"
|
||||||
version = "0.14.8"
|
version = "0.14.8"
|
||||||
|
|
|
@ -12,12 +12,6 @@ run-args = [
|
||||||
"-cpu",
|
"-cpu",
|
||||||
"Broadwell-v3",
|
"Broadwell-v3",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
"-serial",
|
"-serial",
|
||||||
"stdio",
|
"stdio",
|
||||||
"-smp",
|
"-smp",
|
||||||
|
@ -60,22 +54,20 @@ lliw = "0.2.0"
|
||||||
spin = "0.5.2"
|
spin = "0.5.2"
|
||||||
# vga = "*"
|
# vga = "*"
|
||||||
log = "*"
|
log = "*"
|
||||||
riscv="*"
|
|
||||||
|
|
||||||
|
|
||||||
# pretty-hex = "0.2.1"
|
pretty-hex = "0.2.1"
|
||||||
# unicode-width = "0.1.7"
|
unicode-width = "0.1.7"
|
||||||
# picorand = "*"
|
picorand = "*"
|
||||||
# watson = "0.4"
|
watson = "0.4"
|
||||||
|
|
||||||
# genfs = "0.1.0"
|
genfs = "0.1.0"
|
||||||
# pc-beeper = "0.1.0"
|
# pc-beeper = "0.1.0"
|
||||||
# pc-beeper = {git = "https://github.com/AbleOS/pc-beeper"}
|
|
||||||
rhai = "1.5"
|
rhai = "1.5"
|
||||||
|
|
||||||
# pci = {git="https://gitlab.com/robigalia/pci"}
|
pci = {git="https://gitlab.com/robigalia/pci"}
|
||||||
libwasm = {git="https://git.ablecorp.us:443/able/libwasm.git"}
|
libwasm = {git="https://git.ablecorp.us:443/able/libwasm.git"}
|
||||||
# acpi = "4.1.0"
|
acpi = "4.1.0"
|
||||||
|
|
||||||
|
|
||||||
# [dependencies.ockam]
|
# [dependencies.ockam]
|
||||||
|
@ -84,9 +76,9 @@ libwasm = {git="https://git.ablecorp.us:443/able/libwasm.git"}
|
||||||
# features = ["alloc"]
|
# features = ["alloc"]
|
||||||
|
|
||||||
|
|
||||||
# [dependencies.rdrand]
|
[dependencies.rdrand]
|
||||||
# version = "0.8.1"
|
version = "0.8.1"
|
||||||
# default-features = false
|
default-features = false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -105,10 +97,10 @@ version = "0.11.2"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["inline-more"]
|
features = ["inline-more"]
|
||||||
|
|
||||||
# [dependencies.rkyv]
|
[dependencies.rkyv]
|
||||||
# version = "0.7.29"
|
version = "0.7.29"
|
||||||
# default-features = false
|
default-features = false
|
||||||
# features = ["size_64", "alloc"]
|
features = ["size_64", "alloc"]
|
||||||
|
|
||||||
# [dependencies.smoltcp]
|
# [dependencies.smoltcp]
|
||||||
# version = "0.8.0"
|
# version = "0.8.0"
|
||||||
|
@ -117,6 +109,7 @@ features = ["inline-more"]
|
||||||
|
|
||||||
[dependencies.y-compositor-protocol]
|
[dependencies.y-compositor-protocol]
|
||||||
git = "https://git.ablecorp.us:443/able/y-compositor-protocol.git"
|
git = "https://git.ablecorp.us:443/able/y-compositor-protocol.git"
|
||||||
|
|
||||||
[dependencies.ext2]
|
[dependencies.ext2]
|
||||||
git = "https://git.ablecorp.us:443/able/ext2-rs.git"
|
git = "https://git.ablecorp.us:443/able/ext2-rs.git"
|
||||||
|
|
||||||
|
@ -145,6 +138,8 @@ git = "https://git.ablecorp.us:443/able/externc-libm.git"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[target.'cfg(target_arch = "riscv")'.dependencies]
|
||||||
|
riscv="*"
|
||||||
|
|
||||||
[target.'cfg(target_arch = "x86_64")'.dependencies]
|
[target.'cfg(target_arch = "x86_64")'.dependencies]
|
||||||
bootloader = { version = "0.9.8", features = ["map_physical_memory"] }
|
bootloader = { version = "0.9.8", features = ["map_physical_memory"] }
|
||||||
|
@ -153,3 +148,4 @@ pic8259 = "0.10.1"
|
||||||
uart_16550 = "0.2.0"
|
uart_16550 = "0.2.0"
|
||||||
volatile = "0.2.6"
|
volatile = "0.2.6"
|
||||||
x86_64 = "*"
|
x86_64 = "*"
|
||||||
|
pc-beeper = {git = "https://github.com/AbleOS/pc-beeper"}
|
||||||
|
|
|
@ -39,6 +39,7 @@ extern "C" fn _start() -> ! {
|
||||||
loop {
|
loop {
|
||||||
if let Some(c) = uart.get() {
|
if let Some(c) = uart.get() {
|
||||||
match c {
|
match c {
|
||||||
|
66 => break,
|
||||||
10 | 13 => {
|
10 | 13 => {
|
||||||
uart.put('\n' as u8);
|
uart.put('\n' as u8);
|
||||||
uart.put('\r' as u8);
|
uart.put('\r' as u8);
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#![allow(clippy::empty_loop)]
|
#![allow(clippy::empty_loop)]
|
||||||
|
|
||||||
|
use crate::scheduler::SCHEDULER;
|
||||||
|
|
||||||
// use acpi::AcpiTables;
|
// use acpi::AcpiTables;
|
||||||
// use x86_64::instructions::interrupts::{disable, enable};
|
// use x86_64::instructions::interrupts::{disable, enable};
|
||||||
|
|
||||||
|
@ -46,8 +48,8 @@ pub fn kernel_main() -> ! {
|
||||||
init::init();
|
init::init();
|
||||||
// log::set_max_level(BOOT_CONF.log_level());
|
// log::set_max_level(BOOT_CONF.log_level());
|
||||||
|
|
||||||
/*
|
|
||||||
let mut scheduler = SCHEDULER.lock();
|
let mut scheduler = SCHEDULER.lock();
|
||||||
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ pub mod logger;
|
||||||
pub mod panic;
|
pub mod panic;
|
||||||
// pub mod proto_filetable;
|
// pub mod proto_filetable;
|
||||||
pub mod relib;
|
pub mod relib;
|
||||||
// pub mod scheduler;
|
pub mod scheduler;
|
||||||
mod unicode_utils;
|
mod unicode_utils;
|
||||||
pub mod utils;
|
pub mod utils;
|
||||||
// pub mod vga_e;
|
// pub mod vga_e;
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
use alloc::vec::Vec;
|
use alloc::vec::Vec;
|
||||||
|
|
||||||
use crate::file::PathRep;
|
|
||||||
|
|
||||||
pub type SoundCardID = u8;
|
pub type SoundCardID = u8;
|
||||||
pub type DeviceID = u8;
|
pub type DeviceID = u8;
|
||||||
pub type ControllerID = u8;
|
pub type ControllerID = u8;
|
||||||
|
@ -9,7 +7,7 @@ pub type ControllerID = u8;
|
||||||
#[derive(Clone, Debug, PartialEq)]
|
#[derive(Clone, Debug, PartialEq)]
|
||||||
pub enum FileAccess {
|
pub enum FileAccess {
|
||||||
All,
|
All,
|
||||||
Some(Vec<PathRep>),
|
Some(Vec<u8>),
|
||||||
None,
|
None,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ use proc::{Process, PID};
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests;
|
mod tests;
|
||||||
|
|
||||||
use crate::{file::PathRep, kmain::generate_process_pass};
|
use crate::kmain::generate_process_pass;
|
||||||
|
|
||||||
use self::capabilities::Capabilities;
|
use self::capabilities::Capabilities;
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ pub enum Priority {
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
pub enum FileAccessTypes {
|
pub enum FileAccessTypes {
|
||||||
All,
|
All,
|
||||||
Some(Vec<PathRep>),
|
Some(Vec<u8>),
|
||||||
None,
|
None,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
use crate::kmain::generate_process_pass;
|
||||||
use alloc::{string::ToString, vec::Vec};
|
use alloc::{string::ToString, vec::Vec};
|
||||||
|
|
||||||
use crate::{
|
use super::{
|
||||||
capabilities::Capabilities,
|
capabilities::Capabilities,
|
||||||
kmain::generate_process_pass,
|
|
||||||
proc::{Process, PID},
|
proc::{Process, PID},
|
||||||
Priority,
|
Priority,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue