summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/HALKit
diff options
context:
space:
mode:
authorAmlal <amlal@el-mahrouss-logic.com>2024-09-09 17:33:20 +0200
committerAmlal <amlal@el-mahrouss-logic.com>2024-09-09 18:48:14 +0200
commit8712d6a95984805e242f1189a5a76db2fbd5d39f (patch)
tree178786a83106351560e45b7b47196b646e063708 /dev/ZKA/HALKit
parent6dbc74799f465eec249e2d8f01a472d0dd3b33c8 (diff)
FIX: Kernel related, see below.
- Allocate space for heap header as well. - Don't forget to turn user bit off, and turn present off when dealing with virtual memory. Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/ZKA/HALKit')
-rw-r--r--dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx2
-rw-r--r--dev/ZKA/HALKit/AMD64/HalProcessor.cxx (renamed from dev/ZKA/HALKit/AMD64/HalProcessorMgr.cxx)8
2 files changed, 5 insertions, 5 deletions
diff --git a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
index e12f3765..3d9cc90f 100644
--- a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
@@ -141,7 +141,7 @@ namespace Kernel
ptr_bit_set[0] = cBitMpMagic;
ptr_bit_set[2] = No;
- mm_map_page(page_ptr, ~eFlagsPresent);
+ mm_map_page(page_ptr, ~eFlagsPresent | ~eFlagsUser);
return true;
}
diff --git a/dev/ZKA/HALKit/AMD64/HalProcessorMgr.cxx b/dev/ZKA/HALKit/AMD64/HalProcessor.cxx
index 1df0fd5c..e2ef1902 100644
--- a/dev/ZKA/HALKit/AMD64/HalProcessorMgr.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalProcessor.cxx
@@ -25,17 +25,17 @@ namespace Kernel::HAL
{
UInt8 cPageBitMp[cBmpPgSz] = {0}; // Bitmap to track free/used pages
- void pg_set_used(Int64 page_index)
+ Void pg_set_used(Int64 page_index)
{
cPageBitMp[page_index / 8] |= (1 << (page_index % 8));
}
- void pg_set_free(Int64 page_index)
+ Void pg_set_free(Int64 page_index)
{
cPageBitMp[page_index / 8] &= ~(1 << (page_index % 8));
}
- int pg_is_free(Int64 page_index)
+ Int32 pg_is_free(Int64 page_index)
{
return !(cPageBitMp[page_index / 8] & (1 << (page_index % 8)));
}
@@ -56,7 +56,7 @@ namespace Kernel::HAL
return nullptr; // No free page found
}
- void pg_delete(void* addr)
+ Void pg_delete(void* addr)
{
Int64 page_index = (UIntPtr)addr / cPageSz;
kcout << "Page has been freed at: " << number(page_index) << endl;