Kernel: Replace all occurances of BSB with BSP

This commit is contained in:
Bananymous 2025-08-25 17:11:32 +03:00
parent 0ff365c7f0
commit 9a6eae69ba
5 changed files with 16 additions and 16 deletions

View File

@ -64,8 +64,8 @@ namespace Kernel
static void toggle_should_print_cpu_load() { s_should_print_cpu_load = !s_should_print_cpu_load; } static void toggle_should_print_cpu_load() { s_should_print_cpu_load = !s_should_print_cpu_load; }
static bool get_should_print_cpu_load() { return s_should_print_cpu_load; } static bool get_should_print_cpu_load() { return s_should_print_cpu_load; }
static ProcessorID bsb_id() { return s_bsb_id; } static ProcessorID bsp_id() { return s_bsp_id; }
static bool current_is_bsb() { return current_id() == bsb_id(); } static bool current_is_bsp() { return current_id() == bsp_id(); }
static void set_interrupt_state(InterruptState state) static void set_interrupt_state(InterruptState state)
{ {
@ -153,7 +153,7 @@ namespace Kernel
} }
private: private:
static ProcessorID s_bsb_id; static ProcessorID s_bsp_id;
static BAN::Atomic<uint8_t> s_processor_count; static BAN::Atomic<uint8_t> s_processor_count;
static BAN::Atomic<bool> s_is_smp_enabled; static BAN::Atomic<bool> s_is_smp_enabled;
static BAN::Atomic<bool> s_should_print_cpu_load; static BAN::Atomic<bool> s_should_print_cpu_load;

View File

@ -488,7 +488,7 @@ namespace Kernel
redir.vector = IRQ_VECTOR_BASE + irq; redir.vector = IRQ_VECTOR_BASE + irq;
redir.mask = 0; redir.mask = 0;
// FIXME: distribute IRQs more evenly? // FIXME: distribute IRQs more evenly?
redir.destination = Kernel::Processor::bsb_id().as_u32(); redir.destination = Kernel::Processor::bsp_id().as_u32();
ioapic->write(IOAPIC_REDIRS + pin * 2, redir.lo_dword); ioapic->write(IOAPIC_REDIRS + pin * 2, redir.lo_dword);
ioapic->write(IOAPIC_REDIRS + pin * 2 + 1, redir.hi_dword); ioapic->write(IOAPIC_REDIRS + pin * 2 + 1, redir.hi_dword);

View File

@ -336,7 +336,7 @@ namespace Kernel
ASSERT(InterruptController::get().is_in_service(IRQ_TIMER - IRQ_VECTOR_BASE)); ASSERT(InterruptController::get().is_in_service(IRQ_TIMER - IRQ_VECTOR_BASE));
InterruptController::get().eoi(IRQ_TIMER - IRQ_VECTOR_BASE); InterruptController::get().eoi(IRQ_TIMER - IRQ_VECTOR_BASE);
if (Processor::current_is_bsb()) if (Processor::current_is_bsp())
Process::update_alarm_queue(); Process::update_alarm_queue();
Processor::scheduler().timer_interrupt(); Processor::scheduler().timer_interrupt();

View File

@ -954,7 +954,7 @@ namespace Kernel
void Process::update_alarm_queue() void Process::update_alarm_queue()
{ {
ASSERT(Processor::current_is_bsb()); ASSERT(Processor::current_is_bsp());
SpinLockGuard _(s_process_lock); SpinLockGuard _(s_process_lock);

View File

@ -13,7 +13,7 @@ namespace Kernel
static constexpr uint32_t MSR_IA32_GS_BASE = 0xC0000101; static constexpr uint32_t MSR_IA32_GS_BASE = 0xC0000101;
#endif #endif
ProcessorID Processor::s_bsb_id { PROCESSOR_NONE }; ProcessorID Processor::s_bsp_id { PROCESSOR_NONE };
BAN::Atomic<uint8_t> Processor::s_processor_count { 0 }; BAN::Atomic<uint8_t> Processor::s_processor_count { 0 };
BAN::Atomic<bool> Processor::s_is_smp_enabled { false }; BAN::Atomic<bool> Processor::s_is_smp_enabled { false };
BAN::Atomic<bool> Processor::s_should_print_cpu_load { false }; BAN::Atomic<bool> Processor::s_should_print_cpu_load { false };
@ -41,10 +41,10 @@ namespace Kernel
Processor& Processor::create(ProcessorID id) Processor& Processor::create(ProcessorID id)
{ {
// bsb is the first processor // bsp is the first processor
if (s_bsb_id == PROCESSOR_NONE && id == PROCESSOR_NONE) if (s_bsp_id == PROCESSOR_NONE && id == PROCESSOR_NONE)
s_bsb_id = id = read_processor_id(); s_bsp_id = id = read_processor_id();
if (s_bsb_id == PROCESSOR_NONE || id == PROCESSOR_NONE || id.m_id >= s_processors.size()) if (s_bsp_id == PROCESSOR_NONE || id == PROCESSOR_NONE || id.m_id >= s_processors.size())
Kernel::panic("Trying to initialize invalid processor {}", id.m_id); Kernel::panic("Trying to initialize invalid processor {}", id.m_id);
auto& processor = s_processors[id.m_id]; auto& processor = s_processors[id.m_id];
@ -114,13 +114,13 @@ namespace Kernel
{ {
if (s_processors_created == 1) if (s_processors_created == 1)
{ {
ASSERT(current_is_bsb()); ASSERT(current_is_bsp());
s_processor_count++; s_processor_count++;
s_processor_ids[0] = current_id(); s_processor_ids[0] = current_id();
} }
// wait until bsb is ready // wait until bsp is ready
if (current_is_bsb()) if (current_is_bsp())
{ {
s_processor_count = 1; s_processor_count = 1;
s_processor_ids[0] = current_id(); s_processor_ids[0] = current_id();
@ -143,7 +143,7 @@ namespace Kernel
} }
else else
{ {
// wait until bsb is ready, it shall get index 0 // wait until bsp is ready, it shall get index 0
while (s_processor_count == 0) while (s_processor_count == 0)
__builtin_ia32_pause(); __builtin_ia32_pause();
@ -162,7 +162,7 @@ namespace Kernel
{ {
if (SystemTimer::get().ms_since_boot() >= timeout_ms) if (SystemTimer::get().ms_since_boot() >= timeout_ms)
{ {
if (current_is_bsb()) if (current_is_bsp())
dprintln("Could not initialize {} processors :(", s_processors_created - s_processor_count); dprintln("Could not initialize {} processors :(", s_processors_created - s_processor_count);
break; break;
} }