BurritOS/src/main.rs
2023-03-16 17:16:24 +01:00

53 lines
1.4 KiB
Rust

#![warn(missing_docs)]
#![warn(clippy::missing_docs_in_private_items)]
//! Crate burritos ((BurritOS Using Rust Really Improves The Operating System)
//!
//! Burritos is an educational operating system written in Rust
//! running on RISC-V emulator.
/// Contain hardware simulated part of the machine
mod simulator;
mod kernel;
/// module containing useful tools which can be use in most part of the OS to ease the development of the OS
pub mod utility;
/// module containing drivers
pub mod drivers;
use std::{rc::Rc, cell::RefCell};
use kernel::system::System;
use simulator::{machine::Machine, print::print};
use drivers::drv_disk::DrvDisk;
use simulator::disk::Disk;
fn main() {
let machine = Machine::init_machine();
let system = Rc::new(RefCell::new(System::new(machine)));
let disk = Disk::init_disk();
let mut drv_disk = DrvDisk::init_drv_disk(disk);
let mut data = Vec::new();
data.push(0 as u8); data.push(0 as u8); data.push(0 as u8); data.push(0 as u8);
let mut data1 = Vec::new();
data1.push(1 as u8); data1.push(1 as u8); data1.push(1 as u8); data1.push(1 as u8);
let mut data2: Vec<u8> = Vec::new();
drv_disk.write_sector(0, &mut data);
drv_disk.write_sector(1, &mut data1);
drv_disk.read_sector(1, &mut data2);
for value in data2 {
println!("BYTE: {}", value);
}
System::freeze(system);
}