2024-01-17 20:36:13 +00:00
|
|
|
use clap::Parser;
|
2024-01-17 16:18:12 +00:00
|
|
|
use hypha::agent::Agent;
|
|
|
|
use hypha::error::Result;
|
|
|
|
|
2024-01-17 20:36:13 +00:00
|
|
|
#[derive(Parser, Debug)]
|
|
|
|
#[command(version, about)]
|
|
|
|
struct AgentArgs {
|
|
|
|
#[arg(short, long)]
|
|
|
|
kernel: String,
|
|
|
|
|
|
|
|
#[arg(short, long)]
|
|
|
|
initrd: String,
|
|
|
|
|
|
|
|
#[arg(short, long, default_value_t = 1)]
|
|
|
|
cpus: u32,
|
|
|
|
|
|
|
|
#[arg(short, long, default_value_t = 512)]
|
|
|
|
mem: u64,
|
|
|
|
}
|
|
|
|
|
2024-01-17 16:18:12 +00:00
|
|
|
fn main() -> Result<()> {
|
2024-01-17 20:36:13 +00:00
|
|
|
let args = AgentArgs::parse();
|
|
|
|
let mut agent = Agent::new(args.kernel, args.initrd, args.cpus, args.mem)?;
|
2024-01-17 16:18:12 +00:00
|
|
|
let domid = agent.launch()?;
|
|
|
|
println!("launched domain: {}", domid);
|
|
|
|
Ok(())
|
|
|
|
}
|