Compare commits

..

No commits in common. "7d658ad704cdab7b23ea6c067ef2442a819f8572" and "ae7b904abc161d6fa0b4441ea6aabb6a5634a657" have entirely different histories.

2 changed files with 6 additions and 13 deletions

View file

@ -15,16 +15,11 @@ unsafe extern "C" fn _enter() -> ! {
use core::arch::asm;
asm!(
// before we use the `la` pseudo-instruction for the first time,
// we need to set `gp` (google linker relaxation)
".option push", // pushes the current option stack
".option norelax", // disable relaxation so we can properly set `gp`
// this instruction compiles to:
// 1:
// auipc gp, %pcrel_hi(_global_pointer)
// addi gp, gp, %pcrel_lo(1b)
// if relaxation were on, this would simply be `mv gp, gp` or `addi gp, gp, 0`
// we need to set `gp` (google linker relaxation)
".option push",
".option norelax",
"la gp, _global_pointer",
".option pop", // pops the current option stack
".option pop",
// set the stack pointer
"la sp, _init_stack_top",
@ -72,9 +67,7 @@ extern "C" fn start() -> ! {
}
#[panic_handler]
fn on_panic(info: &PanicInfo) -> ! {
println!("{}", info);
fn on_panic(_info: &PanicInfo) -> ! {
loop {}
}

View file

@ -14,7 +14,7 @@ PHDRS {
}
SECTIONS {
. = ORIGIN(ram); # start at 0x8000_0000 (DRAM)
. = ORIGIN(ram); # start at 0x8000_0000
.text : { # put code first
*(.text.init) # start with anything in the .text.init section