diff options
| author | Amlal <amlal@el-mahrouss-logic.com> | 2024-09-09 17:33:20 +0200 |
|---|---|---|
| committer | Amlal <amlal@el-mahrouss-logic.com> | 2024-09-09 18:48:14 +0200 |
| commit | 8712d6a95984805e242f1189a5a76db2fbd5d39f (patch) | |
| tree | 178786a83106351560e45b7b47196b646e063708 /dev/ZKA/HALKit | |
| parent | 6dbc74799f465eec249e2d8f01a472d0dd3b33c8 (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.cxx | 2 | ||||
| -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; |
