use core::fmt;
pub use bsp_define::*;
use bsp_define::{
clocksource::{SetNextEventFunc, SetStateStoppedFunc},
irqchip::{IrqType, IrqchipIrqState, Result},
memrange::MemDefine,
smp::SmpDefine,
};
use semx_cpumask::Cpumask;
unsafe extern "Rust" {
pub fn __early_init();
pub fn __late_init();
pub fn __secondary_init();
pub fn __smp_define() -> &'static SmpDefine;
pub fn __mems_define() -> &'static MemDefine;
pub fn __console_init();
pub fn __console_output(args: fmt::Arguments<'_>);
pub fn __irqchip_name() -> &'static str;
pub fn __irqchip_irqs_max() -> usize;
pub fn __irqchip_irq_ack(hwirq: u32);
pub fn __irqchip_irq_eoi(hwirq: u32);
pub fn __irqchip_irq_disable(hwirq: u32);
pub fn __irqchip_irq_enable(hwirq: u32);
pub fn __irqchip_irq_set_affinity(hwirq: u32, cpumask: Cpumask) -> Result<()>;
pub fn __irqchip_irq_set_type(hwirq: u32, irq_type: IrqType) -> Result<()>;
pub fn __irqchip_irq_get_irqchip_state(hwirq: u32, which: IrqchipIrqState) -> Result<bool>;
pub fn __irqchip_irq_set_irqchip_state(
hwirq: u32,
which: IrqchipIrqState,
state: bool,
) -> Result<()>;
pub fn __irqchip_ipi_send_single(hwirq: u32, cpu: usize);
pub fn __irqchip_ipi_send_mask(hwirq: u32, cpumask: &Cpumask);
pub fn __irqchip_irq_handler();
pub fn __irqchip_irq_init();
pub fn __irqchip_irq_init_cpu();
pub fn __clock_init();
pub fn __clock_init_cpu();
pub fn __clock_get_set_next_event() -> SetNextEventFunc;
pub fn __clock_get_set_state_stopped() -> SetStateStoppedFunc;
pub fn __clock_rate() -> usize;
pub fn __clock_min_delta() -> u64;
pub fn __clock_max_delta() -> u64;
}