You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: start.rs
    path of file: ./repos/kernel/src/arch/riscv64/kernel
    
    the code of the file until where you have to start completion: use core::arch::asm;
use core::sync::atomic::Ordering;

use fdt::Fdt;
use hermit_entry::boot_info::RawBootInfo;

use super::{get_dtb_ptr, CPU_ONLINE, CURRENT_BOO
    
pub unsafe extern "C" fn _start() -> ! {
	unsafe {
		asm!(
			// Use stack pointer from `CURRENT_STACK_ADDRESS` if set
			"ld      t0, {current_stack_pointer}",
			"beqz    t0, 2f",
			"li      t1, {top_offset}",
			"add     t0, t0, t1",
			"mv      sp, t0",
			"2:",

			"j       {pre_init}",
			current_stack_pointer = sym CURRENT_STACK_ADDRESS,
			top_offset = const KERNEL_STACK_SIZE,
			pre_init = sym pre_init,
			options(noreturn),
		)
	}
}