Rename `call_ostd_main` to `start_kernel`

This commit is contained in:
Ruihan Li 2026-02-11 17:28:13 +08:00 committed by Tate, Hongliang Tian
parent 195ff99138
commit f4102e7db4
6 changed files with 17 additions and 14 deletions

View File

@ -125,7 +125,7 @@ unsafe extern "C" fn loongarch_boot(
let cmdline_ptr = paddr_to_vaddr(cmdline_paddr) as *const i8; let cmdline_ptr = paddr_to_vaddr(cmdline_paddr) as *const i8;
let cmdline = unsafe { CStr::from_ptr(cmdline_ptr) }.to_str(); let cmdline = unsafe { CStr::from_ptr(cmdline_ptr) }.to_str();
use crate::boot::{EARLY_INFO, EarlyBootInfo, call_ostd_main}; use crate::boot::{EARLY_INFO, EarlyBootInfo, start_kernel};
EARLY_INFO.call_once(|| EarlyBootInfo { EARLY_INFO.call_once(|| EarlyBootInfo {
bootloader_name: parse_bootloader_name(), bootloader_name: parse_bootloader_name(),
@ -138,5 +138,5 @@ unsafe extern "C" fn loongarch_boot(
// SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it // SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it
// once after setting up necessary resources. // once after setting up necessary resources.
unsafe { call_ostd_main() }; unsafe { start_kernel() };
} }

View File

@ -128,7 +128,7 @@ unsafe extern "C" fn riscv_boot(hart_id: usize, device_tree_paddr: usize) -> ! {
let fdt = unsafe { fdt::Fdt::from_ptr(device_tree_ptr).unwrap() }; let fdt = unsafe { fdt::Fdt::from_ptr(device_tree_ptr).unwrap() };
DEVICE_TREE.call_once(|| fdt); DEVICE_TREE.call_once(|| fdt);
use crate::boot::{EARLY_INFO, EarlyBootInfo, call_ostd_main}; use crate::boot::{EARLY_INFO, EarlyBootInfo, start_kernel};
EARLY_INFO.call_once(|| EarlyBootInfo { EARLY_INFO.call_once(|| EarlyBootInfo {
bootloader_name: parse_bootloader_name(), bootloader_name: parse_bootloader_name(),
@ -141,5 +141,5 @@ unsafe extern "C" fn riscv_boot(hart_id: usize, device_tree_paddr: usize) -> ! {
// SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it // SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it
// once after setting up necessary resources. // once after setting up necessary resources.
unsafe { call_ostd_main() }; unsafe { start_kernel() };
} }

View File

@ -205,7 +205,7 @@ unsafe extern "sysv64" fn __linux_boot(params_ptr: *const BootParams) -> ! {
let params = unsafe { &*params_ptr }; let params = unsafe { &*params_ptr };
assert_eq!({ params.hdr.header }, LINUX_BOOT_HEADER_MAGIC); assert_eq!({ params.hdr.header }, LINUX_BOOT_HEADER_MAGIC);
use crate::boot::{EARLY_INFO, EarlyBootInfo, call_ostd_main}; use crate::boot::{EARLY_INFO, EarlyBootInfo, start_kernel};
#[cfg(feature = "cvm_guest")] #[cfg(feature = "cvm_guest")]
init_cvm_guest(); init_cvm_guest();
@ -221,5 +221,5 @@ unsafe extern "sysv64" fn __linux_boot(params_ptr: *const BootParams) -> ! {
// SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it // SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it
// once after setting up necessary resources. // once after setting up necessary resources.
unsafe { call_ostd_main() }; unsafe { start_kernel() };
} }

View File

@ -376,7 +376,7 @@ unsafe extern "sysv64" fn __multiboot_entry(boot_magic: u32, boot_params: u64) -
let mb1_info = let mb1_info =
unsafe { &*(paddr_to_vaddr(boot_params as usize) as *const MultibootLegacyInfo) }; unsafe { &*(paddr_to_vaddr(boot_params as usize) as *const MultibootLegacyInfo) };
use crate::boot::{EARLY_INFO, EarlyBootInfo, call_ostd_main}; use crate::boot::{EARLY_INFO, EarlyBootInfo, start_kernel};
EARLY_INFO.call_once(|| EarlyBootInfo { EARLY_INFO.call_once(|| EarlyBootInfo {
bootloader_name: parse_bootloader_name(mb1_info).unwrap_or("Unknown Multiboot Loader"), bootloader_name: parse_bootloader_name(mb1_info).unwrap_or("Unknown Multiboot Loader"),
@ -389,5 +389,5 @@ unsafe extern "sysv64" fn __multiboot_entry(boot_magic: u32, boot_params: u64) -
// SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it // SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it
// once after setting up necessary resources. // once after setting up necessary resources.
unsafe { call_ostd_main() }; unsafe { start_kernel() };
} }

View File

@ -151,7 +151,7 @@ unsafe extern "sysv64" fn __multiboot2_entry(boot_magic: u32, boot_params: u64)
let mb2_info = let mb2_info =
unsafe { BootInformation::load(boot_params as *const BootInformationHeader).unwrap() }; unsafe { BootInformation::load(boot_params as *const BootInformationHeader).unwrap() };
use crate::boot::{EARLY_INFO, EarlyBootInfo, call_ostd_main}; use crate::boot::{EARLY_INFO, EarlyBootInfo, start_kernel};
EARLY_INFO.call_once(|| EarlyBootInfo { EARLY_INFO.call_once(|| EarlyBootInfo {
bootloader_name: parse_bootloader_name(&mb2_info).unwrap_or("Unknown Multiboot2 Loader"), bootloader_name: parse_bootloader_name(&mb2_info).unwrap_or("Unknown Multiboot2 Loader"),
@ -164,5 +164,5 @@ unsafe extern "sysv64" fn __multiboot2_entry(boot_magic: u32, boot_params: u64)
// SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it // SAFETY: The safety is guaranteed by the safety preconditions and the fact that we call it
// once after setting up necessary resources. // once after setting up necessary resources.
unsafe { call_ostd_main() }; unsafe { start_kernel() };
} }

View File

@ -113,10 +113,13 @@ pub(crate) fn init_after_heap() {
}); });
} }
/// Initializes OSTD and then jumps to the `#[ostd::main]` entry point. /// Starts the kernel.
/// ///
/// Any kernel that uses the `ostd` crate should define a function marked with /// The job of this function is to continue the early bootstrap (started in [`arch::boot`])
/// `#[ostd::main]` as the kernel's entry function. /// and performs the initialization of OSTD.
/// Eventually, it transfers control to the entrypoint function
/// that the user of OSTD defines with `#[ostd::main]`,
/// which completes the kernel initialization.
/// ///
/// # Safety /// # Safety
/// ///
@ -124,7 +127,7 @@ pub(crate) fn init_after_heap() {
/// [`arch::boot`] module. /// [`arch::boot`] module.
/// ///
/// [`arch::boot`]: crate::arch::boot /// [`arch::boot`]: crate::arch::boot
pub(crate) unsafe fn call_ostd_main() -> ! { pub(crate) unsafe fn start_kernel() -> ! {
// The entry point of kernel code, which should be defined by the package that // The entry point of kernel code, which should be defined by the package that
// uses OSTD. // uses OSTD.
unsafe extern "Rust" { unsafe extern "Rust" {