53 lines
1.4 KiB
Rust
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);
|
|
}
|