summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/ARM64
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-09-28 17:01:48 +0200
committerGitHub <noreply@github.com>2025-09-28 17:01:48 +0200
commit2117a9b0f4b84f5bd6c99566bcf5849a64104467 (patch)
tree590b20056c62d04a496aa22f6bee0034a1430e4e /dev/kernel/HALKit/ARM64
parent0f88e96c0cf7ffaccecae94794024164c510f735 (diff)
parentb1302067703566624390d780dffd621bb99bb439 (diff)
Merge pull request #64 from nekernel-org/dev
ver: `kernel` v0.0.6
Diffstat (limited to 'dev/kernel/HALKit/ARM64')
-rw-r--r--dev/kernel/HALKit/ARM64/HalHandoverStub.s8
-rw-r--r--dev/kernel/HALKit/ARM64/HalKernelMain.cc22
2 files changed, 7 insertions, 23 deletions
diff --git a/dev/kernel/HALKit/ARM64/HalHandoverStub.s b/dev/kernel/HALKit/ARM64/HalHandoverStub.s
index 7c70ebfd..c0e7cb2b 100644
--- a/dev/kernel/HALKit/ARM64/HalHandoverStub.s
+++ b/dev/kernel/HALKit/ARM64/HalHandoverStub.s
@@ -9,11 +9,11 @@
.section .ldr
- ;; MAGIC
+ ;; // MAGIC
.quad 0xDAB4
- ;; VERSION (1.0.0)
+ ;; // VERSION (1.0.0)
.word 100
- ;; CPU (ARM64)
+ ;; // CPU (ARM64)
.word 0
- ;; TYPE (KERNEL)
+ ;; // TYPE (KERNEL)
.word 122
diff --git a/dev/kernel/HALKit/ARM64/HalKernelMain.cc b/dev/kernel/HALKit/ARM64/HalKernelMain.cc
index d7663f4e..b711b833 100644
--- a/dev/kernel/HALKit/ARM64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/ARM64/HalKernelMain.cc
@@ -35,10 +35,6 @@ EXTERN_C void hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) {
return;
}
- FB::fb_clear_video();
-
- kBitMapCursor = 0UL;
-
#ifdef __NE_ARM64_EFI__
fw_init_efi((EfiSystemTable*) handover_hdr->f_FirmwareCustomTables[1]);
@@ -46,31 +42,19 @@ EXTERN_C void hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) {
handover_hdr->f_HardwareTables.f_ImageHandle);
#endif
+ FB::fb_clear_video();
+
/************************************** */
/* INITIALIZE BIT MAP. */
/************************************** */
+ kBitMapCursor = 0UL;
kKernelBitMpSize = kHandoverHeader->f_BitMapSize;
kKernelBitMpStart = reinterpret_cast<Kernel::VoidPtr>(
reinterpret_cast<Kernel::UIntPtr>(kHandoverHeader->f_BitMapStart));
/// @note do initialize the interrupts after it.
- for (SizeT index = 0UL; index < HardwareThreadScheduler::The().Capacity(); ++index) {
- HardwareThreadScheduler::The()[index].Leak()->Kind() = ThreadKind::kAPStandard;
- HardwareThreadScheduler::The()[index].Leak()->Busy(NO);
- }
-
- for (SizeT index = 0UL; index < UserProcessScheduler::The().TheCurrentTeam().AsArray().Count();
- ++index) {
- UserProcessScheduler::The().TheCurrentTeam().AsArray()[index].Status =
- ProcessStatusKind::kInvalid;
- }
-
- rtl_create_user_process(sched_idle_task, "MgmtSrv"); //! Mgmt command server.
- rtl_create_user_process(sched_idle_task, "LaunchSrv"); //! launchd
- rtl_create_user_process(sched_idle_task, "SecSrv"); //! Login Server
-
Kernel::mp_init_cores();
while (YES)