Add a comment
This commit is contained in:
parent
ef07d172ff
commit
aaf64d0a2d
|
@ -17,7 +17,7 @@ unsafe extern "C" fn _enter() -> ! {
|
||||||
// load hartid into t0; if t0 =/= 0, then jump to busy loop
|
// load hartid into t0; if t0 =/= 0, then jump to busy loop
|
||||||
"csrr t0, mhartid",
|
"csrr t0, mhartid",
|
||||||
"bnez t0, 3f",
|
"bnez t0, 3f",
|
||||||
|
|
||||||
// before we use the `la` pseudo-instruction for the first time,
|
// before we use the `la` pseudo-instruction for the first time,
|
||||||
// we need to set `gp` (look up linker relaxation)
|
// we need to set `gp` (look up linker relaxation)
|
||||||
".option push", // pushes the current option stack
|
".option push", // pushes the current option stack
|
||||||
|
@ -73,8 +73,10 @@ extern "C" fn start() -> ! {
|
||||||
unsafe { uart::init_console(0x1000_0000) };
|
unsafe { uart::init_console(0x1000_0000) };
|
||||||
println!("Hello, world!");
|
println!("Hello, world!");
|
||||||
|
|
||||||
|
// print current hartid
|
||||||
println!("hartid: {}", riscv::register::mhartid::read());
|
println!("hartid: {}", riscv::register::mhartid::read());
|
||||||
|
|
||||||
|
// poll console for input and print characters back
|
||||||
loop {
|
loop {
|
||||||
let c = uart::CONSOLE.lock().as_mut().and_then(uart::Device::get);
|
let c = uart::CONSOLE.lock().as_mut().and_then(uart::Device::get);
|
||||||
if let Some(c) = c {
|
if let Some(c) = c {
|
||||||
|
@ -85,6 +87,7 @@ extern "C" fn start() -> ! {
|
||||||
|
|
||||||
#[panic_handler]
|
#[panic_handler]
|
||||||
fn on_panic(info: &PanicInfo) -> ! {
|
fn on_panic(info: &PanicInfo) -> ! {
|
||||||
|
// print panic info and hang
|
||||||
println!("{}", info);
|
println!("{}", info);
|
||||||
|
|
||||||
loop {}
|
loop {}
|
||||||
|
|
Loading…
Reference in a new issue