diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-10-13 15:29:55 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-10-13 15:29:55 +0200 |
| commit | 7477a0f942c374b652da4f80cdb36d4661aac3c8 (patch) | |
| tree | d06627de4689b5661f4b95c4fa15f932b004ad13 /dev/zka/HALKit | |
| parent | 182f2baa4d38a286d3453cc0da90ebec5fb25266 (diff) | |
IMP: Delete the memory list when exiting process.
IMP: Add Allocation (and delete) of MemoryList.
IMP: BitMap allocator must now allocate directories as well.
IMP: Add Handover arch to check if executable is an AMD64 executable or
ARM64 executable.
FIX: Add ::EFI::Stop, when a thread doesn't load correctly.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/zka/HALKit')
| -rw-r--r-- | dev/zka/HALKit/AMD64/CPUID.hxx | 4 | ||||
| -rw-r--r-- | dev/zka/HALKit/AMD64/HalBoot.asm | 10 | ||||
| -rw-r--r-- | dev/zka/HALKit/AMD64/Paging.hxx | 2 | ||||
| -rw-r--r-- | dev/zka/HALKit/ARM64/Paging.hxx | 2 |
4 files changed, 13 insertions, 5 deletions
diff --git a/dev/zka/HALKit/AMD64/CPUID.hxx b/dev/zka/HALKit/AMD64/CPUID.hxx index 81d3b86d..ea524b1f 100644 --- a/dev/zka/HALKit/AMD64/CPUID.hxx +++ b/dev/zka/HALKit/AMD64/CPUID.hxx @@ -13,6 +13,8 @@ #pragma once +#include <NewKit/Defines.hxx> + enum { eCPUFeatureSSE3 = 1 << 0, @@ -78,4 +80,4 @@ enum eCPUFeaturePBE = 1 << 31 }; -typedef __INT64_TYPE__ hal_cpu_feature_type; +typedef Kernel::Int64 hal_cpu_feature_type; diff --git a/dev/zka/HALKit/AMD64/HalBoot.asm b/dev/zka/HALKit/AMD64/HalBoot.asm index 21f99a49..8044ed40 100644 --- a/dev/zka/HALKit/AMD64/HalBoot.asm +++ b/dev/zka/HALKit/AMD64/HalBoot.asm @@ -18,5 +18,11 @@ section .ldr -HandoverMagic: dq kHandoverMagic -HandoverType: dw kTypeKernel +HandoverMagic: + dq kHandoverMagic +HandoverType: + dw kTypeKernel +HandoverPad: + dw 0 +HandoverArch: + dw kArchAmd64 diff --git a/dev/zka/HALKit/AMD64/Paging.hxx b/dev/zka/HALKit/AMD64/Paging.hxx index 2b78e89d..43af9842 100644 --- a/dev/zka/HALKit/AMD64/Paging.hxx +++ b/dev/zka/HALKit/AMD64/Paging.hxx @@ -88,7 +88,7 @@ namespace Kernel::HAL ZKA_PTE* ALIGN(kPageAlign) fEntries[kPageMax]; }; - auto mm_alloc_bitmap(Boolean wr, Boolean user, SizeT size) -> VoidPtr; + auto mm_alloc_bitmap(Boolean wr, Boolean user, SizeT size, Bool is_page) -> VoidPtr; auto mm_free_bitmap(VoidPtr page_ptr) -> Bool; } // namespace Kernel::HAL diff --git a/dev/zka/HALKit/ARM64/Paging.hxx b/dev/zka/HALKit/ARM64/Paging.hxx index b6e8708f..3d963d2b 100644 --- a/dev/zka/HALKit/ARM64/Paging.hxx +++ b/dev/zka/HALKit/ARM64/Paging.hxx @@ -107,7 +107,7 @@ namespace Kernel::HAL PTE_4KB ALIGN(kPageAlign) fEntries[kPageMax]; }; - auto mm_alloc_bitmap(Boolean wr, Boolean user, SizeT size) -> VoidPtr; + auto mm_alloc_bitmap(Boolean wr, Boolean user, SizeT size, Bool is_page) -> VoidPtr; auto mm_free_bitmap(VoidPtr page_ptr) -> Bool; } // namespace Kernel::HAL |
