summaryrefslogtreecommitdiffhomepage
path: root/dev/zka/HALKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-10-13 15:29:55 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-10-13 15:29:55 +0200
commit7477a0f942c374b652da4f80cdb36d4661aac3c8 (patch)
treed06627de4689b5661f4b95c4fa15f932b004ad13 /dev/zka/HALKit
parent182f2baa4d38a286d3453cc0da90ebec5fb25266 (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.hxx4
-rw-r--r--dev/zka/HALKit/AMD64/HalBoot.asm10
-rw-r--r--dev/zka/HALKit/AMD64/Paging.hxx2
-rw-r--r--dev/zka/HALKit/ARM64/Paging.hxx2
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