summaryrefslogtreecommitdiffhomepage
path: root/Private/HALKit/AMD64/HalPageAlloc.cpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-29 18:17:47 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-29 18:18:59 +0100
commit65254486efff0fd1bb78a48ff90b7713a5ce539f (patch)
tree20ce02c12a74ba9e6cd382bf9c1f09a0c611cb4d /Private/HALKit/AMD64/HalPageAlloc.cpp
parentf03986937db0b927da4b10554801e18e4dc7c43f (diff)
Kernel: Update TODO.
Src: Refactorings according to clang-format. Meta: Update specification. Public: Remove useless UIKit. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/HALKit/AMD64/HalPageAlloc.cpp')
-rw-r--r--Private/HALKit/AMD64/HalPageAlloc.cpp81
1 files changed, 38 insertions, 43 deletions
diff --git a/Private/HALKit/AMD64/HalPageAlloc.cpp b/Private/HALKit/AMD64/HalPageAlloc.cpp
index 07cfbecf..25757942 100644
--- a/Private/HALKit/AMD64/HalPageAlloc.cpp
+++ b/Private/HALKit/AMD64/HalPageAlloc.cpp
@@ -16,46 +16,41 @@
static hCore::UIntPtr kPagePtr = kPagePtrAddress;
static hCore::SizeT kPageCnt = 0UL;
-namespace hCore
-{
- namespace HAL
- {
- static auto hal_try_alloc_new_page(SizeT sz, Boolean rw, Boolean user) -> PageTable64*
- {
- char *ptr = &(reinterpret_cast<char*>(kPagePtr))[kPageCnt + 1];
-
- PageTable64 *pte = reinterpret_cast<PageTable64*>(ptr);
- pte->Rw = rw;
- pte->User = user;
- pte->Present = true;
-
- return pte;
- }
-
- auto hal_alloc_page(SizeT sz, Boolean rw, Boolean user) -> PageTable64*
- {
- for (SizeT i = 0; i < kPageCnt; ++i)
- {
- PageTable64 *pte = (reinterpret_cast<PageTable64*>(&kPagePtr) + i);
-
- if (!pte->Present) {
- pte->User = user;
- pte->Rw = rw;
- pte->Present = true;
-
- return pte;
- }
- }
-
- return hal_try_alloc_new_page(sz, rw, user);
- }
-
- auto hal_create_page(Boolean rw, Boolean user) -> UIntPtr
- {
- PageTable64 *new_pte = hal_alloc_page(sizeof(PageTable64), rw, user);
- MUST_PASS(new_pte);
-
- return reinterpret_cast<UIntPtr>(new_pte);
- }
- } // namespace HAL
-} // namespace hCore
+namespace hCore {
+namespace HAL {
+static auto hal_try_alloc_new_page(SizeT sz, Boolean rw, Boolean user)
+ -> PageTable64 * {
+ char *ptr = &(reinterpret_cast<char *>(kPagePtr))[kPageCnt + 1];
+
+ PageTable64 *pte = reinterpret_cast<PageTable64 *>(ptr);
+ pte->Rw = rw;
+ pte->User = user;
+ pte->Present = true;
+
+ return pte;
+}
+
+auto hal_alloc_page(SizeT sz, Boolean rw, Boolean user) -> PageTable64 * {
+ for (SizeT i = 0; i < kPageCnt; ++i) {
+ PageTable64 *pte = (reinterpret_cast<PageTable64 *>(&kPagePtr) + i);
+
+ if (!pte->Present) {
+ pte->User = user;
+ pte->Rw = rw;
+ pte->Present = true;
+
+ return pte;
+ }
+ }
+
+ return hal_try_alloc_new_page(sz, rw, user);
+}
+
+auto hal_create_page(Boolean rw, Boolean user) -> UIntPtr {
+ PageTable64 *new_pte = hal_alloc_page(sizeof(PageTable64), rw, user);
+ MUST_PASS(new_pte);
+
+ return reinterpret_cast<UIntPtr>(new_pte);
+}
+} // namespace HAL
+} // namespace hCore