From 46d60a746e86270e0f2a66f724e809fca32679c0 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Wed, 23 Apr 2025 16:48:57 +0200 Subject: dev, kernel/hal: amd64: made the loop at the end clearer on why it exists and what's the context. Signed-off-by: Amlal El Mahrouss --- dev/kernel/HALKit/AMD64/HalKernelMain.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'dev') diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc index d2edcaef..833788fe 100644 --- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc +++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc @@ -44,6 +44,7 @@ EXTERN_C Int32 hal_init_platform( FB::fb_clear_video(); fw_init_efi((EfiSystemTable*)handover_hdr->f_FirmwareCustomTables[1]); + Boot::ExitBootServices(handover_hdr->f_HardwareTables.f_ImageKey, handover_hdr->f_HardwareTables.f_ImageHandle); /************************************** */ @@ -101,19 +102,21 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept Kernel::HardwareTimer timer(rtl_ms(kSchedTeamSwitchMS)); - SizeT i = 0U; + SizeT team_index = 0U; + /// @brief This just loops over the teams and switches between them. + /// @details Not even round-robin, just a simple loop in this boot core we're at. while (YES) { timer.Wait(); - UserProcessScheduler::The().SwitchTeam(kTeams[i]); + UserProcessScheduler::The().SwitchTeam(kTeams[team_index]); - ++i; + ++team_index; - if (i > kSchedTeamCount) + if (team_index > kSchedTeamCount) { - i = 0U; + team_index = 0U; } } } -- cgit v1.2.3