Add launch argument parser, add debug parameter to machine

burritos now launch binary
This commit is contained in:
Quentin Legot
2023-04-06 13:27:03 +02:00
parent 2f0b9e6592
commit 9cc57e7f03
9 changed files with 459 additions and 60 deletions

View File

@ -245,7 +245,7 @@ mod test {
#[test]
fn test_sc_shutdown() {
let mut machine = Machine::init_machine();
let mut machine = Machine::new(true);
machine.write_int_register(17, SC_SHUTDOWN as i64); // Set type to shutdown
let ecall = Instruction::new(0b000000000000_00000_000_00000_1110011);
@ -261,7 +261,7 @@ mod test {
#[test]
#[ignore]
fn test_sc_print() {
let mut machine = Machine::init_machine();
let mut machine = Machine::new(true);
let address = machine.read_int_register(10);
// Write string 'HELLO' in memory

View File

@ -277,7 +277,7 @@ mod test {
#[test]
fn test_semaphore_single() {
// Init
let mut machine = Machine::init_machine();
let mut machine = Machine::new(true);
let mut thread_manager = ThreadManager::new();
let mut semaphore = Semaphore::new(1);
let thread = Rc::new(RefCell::new(Thread::new("test_semaphore")));
@ -297,7 +297,7 @@ mod test {
fn test_semaphore_multiple() {
// Init
let mut tm = ThreadManager::new();
let mut machine = Machine::init_machine();
let mut machine = Machine::new(true);
let mut semaphore = Semaphore::new(2);
let thread1 = Rc::new(RefCell::new(Thread::new("test_semaphore_1")));
let thread2 = Rc::new(RefCell::new(Thread::new("test_semaphore_2")));
@ -342,7 +342,7 @@ mod test {
#[test]
fn test_lock_simple() {
let mut machine = Machine::init_machine();
let mut machine = Machine::new(true);
let mut tm = ThreadManager::new();
let thread = Rc::new(RefCell::new(Thread::new("test_lock")));
tm.ready_to_run(Rc::clone(&thread));
@ -364,7 +364,7 @@ mod test {
let thread1 = Rc::new(RefCell::new(Thread::new("test_lock1")));
let thread2 = Rc::new(RefCell::new(Thread::new("test_lock2")));
let mut machine = Machine::init_machine();
let mut machine = Machine::new(true);
let mut tm = ThreadManager::new();
tm.ready_to_run(Rc::clone(&thread1));

View File

@ -206,7 +206,7 @@ mod test {
#[test]
fn test_thread_context() {
let mut machine = Machine::default();
let mut machine = Machine::new(true);
let (loader, ptr) = loader::Loader::new("./target/guac/halt.guac", &mut machine, 0).expect("IO Error");
let start_pc = loader.elf_header.entrypoint;