Skip to content

Commit

Permalink
runtime: show a prompt to erase startup/idle kernels.
Browse files Browse the repository at this point in the history
whitequark committed Nov 22, 2016
1 parent 1d1e821 commit 965fdd3
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions artiq/runtime.rs/src/lib.rs
Original file line number Diff line number Diff line change
@@ -18,6 +18,7 @@ use logger::BufferLogger;
extern {
fn putchar(c: libc::c_int) -> libc::c_int;
fn readchar() -> libc::c_char;
fn readchar_nonblock() -> libc::c_int;
}

#[macro_export]
@@ -100,11 +101,23 @@ pub unsafe extern fn rust_main() {
static mut LOG_BUFFER: [u8; 65536] = [0; 65536];
BufferLogger::new(&mut LOG_BUFFER[..])
.register(move || {
info!("booting ARTIQ...");
clock::init();
info!("booting ARTIQ");
info!("software version {}", GIT_COMMIT);
info!("gateware version {}", ::board::ident(&mut [0; 64]));

clock::init();
let t = clock::get_ms();
info!("press 'e' to erase startup and idle kernels...");
while clock::get_ms() < t + 1000 {
if readchar_nonblock() != 0 && readchar() == b'e' as libc::c_char {
config::remove("startup_kernel");
config::remove("idle_kernel");
info!("startup and idle kernels erased");
break
}
}
info!("continuing boot");

rtio_crg::init();
network_init();

0 comments on commit 965fdd3

Please sign in to comment.