simink_entry 0.1.2

simink 启动运行时环境初始化
Documentation
#![no_std]
#![allow(clippy::useless_transmute)]

pub use core::arch::global_asm;
use core::panic::PanicInfo;
pub use simink_entry_marco::entry;

#[no_mangle]
pub fn clear_bss(_fdt: usize) {
    extern "C" {
        static __bss_start: usize;
        static __bss_stop: usize;
    }
    let bss_start: *mut u8;
    let bss_end: *mut u8;
    unsafe {
        bss_start = core::mem::transmute(&__bss_start);
        bss_end = core::mem::transmute(&__bss_stop);
        let count = bss_end as usize - bss_start as usize;
        core::intrinsics::write_bytes(bss_start, 0, count);
    }
}

#[panic_handler]
pub fn panic_handler(_info: &PanicInfo<'_>) -> ! {
    loop {}
}