From 38e97a3241531571a56c1dc6a67f9cfa871eb31c Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Tue, 25 Mar 2025 04:27:18 +0100 Subject: refactor(kernel): Refactor MemoryMgr code and log freed address location. feat(setup_amd64): Add 'disk' build step. fix(hal/amd64): Fix warning regarding resb being used inside a non-bss area (using no-op instead). feat(kernelkit/lockdelegate): add new entry to lock delegate's enum (ensure validation). feat(meta): ran format.sh to format files according to .clang-format. Signed-off-by: Amlal El Mahrouss --- .../AMD64/HalApplicationProcessorStartup.asm | 14 ++++++---- dev/kernel/HALKit/AMD64/HalBoot.asm | 28 ------------------- dev/kernel/HALKit/AMD64/HalBootHeader.asm | 32 ++++++++++++++++++++++ 3 files changed, 40 insertions(+), 34 deletions(-) delete mode 100644 dev/kernel/HALKit/AMD64/HalBoot.asm create mode 100644 dev/kernel/HALKit/AMD64/HalBootHeader.asm (limited to 'dev/kernel/HALKit') diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm b/dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm index c64e0a09..c1c6e1fd 100644 --- a/dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm +++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm @@ -4,6 +4,8 @@ ;; * NeKernel ;; * Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved. ;; * +;; * 25/03/25: FIX: Fix warning regarding resb being used inside a non-bss area (using no-op instead). +;; * ;; * ======================================================== ;; */ @@ -61,17 +63,17 @@ hal_ap_64bit_entry: mov ss, ax mov rsp, [hal_ap_64bit_entry_stack_end] - push 0x33 + push 0x33 push qword [hal_ap_64bit_entry_loop] - o64 pushf - push rsp - push 0x33 + o64 pushf + push rsp + push 0x33 - o64 iret + o64 iret hal_ap_64bit_entry_loop: jmp $ hal_ap_64bit_entry_stack: - resb 8196*2 + times 8196*2 nop hal_ap_64bit_entry_stack_end: \ No newline at end of file diff --git a/dev/kernel/HALKit/AMD64/HalBoot.asm b/dev/kernel/HALKit/AMD64/HalBoot.asm deleted file mode 100644 index 3ccdd50e..00000000 --- a/dev/kernel/HALKit/AMD64/HalBoot.asm +++ /dev/null @@ -1,28 +0,0 @@ -;; /* -;; * ======================================================== -;; * -;; * NeKernel -;; * Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved. -;; * -;; * ======================================================== -;; */ - -[bits 64] - -;; Global symbol of this unit -[extern hal_init_platform] - -%define kTypeKernel 100 -%define kArchAmd64 122 -%define kHandoverMagic 0xBADCC - -section .ldr - -HandoverMagic: - dq kHandoverMagic -HandoverType: - dw kTypeKernel -HandoverPad: - dw 0 -HandoverArch: - dw kArchAmd64 diff --git a/dev/kernel/HALKit/AMD64/HalBootHeader.asm b/dev/kernel/HALKit/AMD64/HalBootHeader.asm new file mode 100644 index 00000000..ddf5bb53 --- /dev/null +++ b/dev/kernel/HALKit/AMD64/HalBootHeader.asm @@ -0,0 +1,32 @@ +;; /* +;; * ======================================================== +;; * +;; * NeKernel +;; * Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved. +;; * +;; * 25/03/25: Rename HalBoot.asm to HalBootHeader.asm, expose struct symbols; remove unused external symbol. +;; * +;; * ======================================================== +;; */ + +[bits 64] + +%define kTypeKernel 100 +%define kArchAmd64 122 +%define kHandoverMagic 0xBADCC + +global _HandoverMagic +global _HandoverType +global _HandoverPad +global _HandoverArch + +section .ldr + +_HandoverMagic: + dq kHandoverMagic +_HandoverType: + dw kTypeKernel +_HandoverPad: + dw 0 +_HandoverArch: + dw kArchAmd64 -- cgit v1.2.3