#![no_std]

use libtock::result::TockResult;
use libtock::syscalls;
use matcha_config::*;

mod dprintf;

libtock_core::stack_size! {0x1000}

//------------------------------------------------------------------------------

#[libtock::main]
async fn main() -> TockResult<()> {
    dprintf!("sw/matcha/app/src/main.rs::main()\n");

    dprintf!("Booting sel4 from TockOS app!\n");
    let _result = syscalls::command(CAPSULE_ELFLOADER, CMD_ELFLOADER_BOOT_SEL4, 0, 0);
    dprintf!("Booting sel4 from TockOS app done!\n");

    Ok(())
}
