summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/Pmm.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-02 19:38:46 +0200
committerGitHub <noreply@github.com>2025-05-02 19:38:46 +0200
commit997be16e5ac9a68d54882ab69529815860d62955 (patch)
tree19d6129c2d776bb1edc5d4a7325e39ca176c3403 /dev/kernel/src/Pmm.cc
parent618104e74c195d7508a18450524f8ed7f9af8cc6 (diff)
parentb3b4b1ebdcd6adeac914869017c86d892b7a8ced (diff)
Merge pull request #28 from nekernel-org/dev
0.0.2
Diffstat (limited to 'dev/kernel/src/Pmm.cc')
-rw-r--r--dev/kernel/src/Pmm.cc115
1 files changed, 50 insertions, 65 deletions
diff --git a/dev/kernel/src/Pmm.cc b/dev/kernel/src/Pmm.cc
index 325e19af..35ea4195 100644
--- a/dev/kernel/src/Pmm.cc
+++ b/dev/kernel/src/Pmm.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
------------------------------------------- */
@@ -9,90 +9,75 @@
#if defined(__NE_ARM64__)
#include <HALKit/ARM64/Processor.h>
-#endif // defined(__NE_ARM64__)
+#endif // defined(__NE_ARM64__)
#if defined(__NE_AMD64__)
#include <HALKit/AMD64/Processor.h>
-#endif // defined(__NE_AMD64__)
+#endif // defined(__NE_AMD64__)
-namespace Kernel
-{
- /***********************************************************************************/
- /// @brief Pmm constructor.
- /***********************************************************************************/
- Pmm::Pmm()
- : fPageMgr()
- {
- kout << "[PMM] Allocate PageMemoryMgr.\r";
- }
+namespace Kernel {
+/***********************************************************************************/
+/// @brief Pmm constructor.
+/***********************************************************************************/
+Pmm::Pmm() : fPageMgr() {
+ kout << "[PMM] Allocate PageMemoryMgr.\r";
+}
- Pmm::~Pmm() = default;
+Pmm::~Pmm() = default;
- /***********************************************************************************/
- /// @param If this returns Null pointer, enter emergency mode.
- /// @param user is this a user page?
- /// @param readWrite is it r/w?
- /***********************************************************************************/
- Ref<PTEWrapper> Pmm::RequestPage(Boolean user, Boolean readWrite)
- {
- PTEWrapper pt = fPageMgr.Leak().Request(user, readWrite, false, kPageSize, 0);
+/***********************************************************************************/
+/// @param If this returns Null pointer, enter emergency mode.
+/// @param user is this a user page?
+/// @param readWrite is it r/w?
+/***********************************************************************************/
+Ref<PTEWrapper> Pmm::RequestPage(Boolean user, Boolean readWrite) {
+ PTEWrapper pt = fPageMgr.Leak().Request(user, readWrite, false, kPageSize, 0);
- if (pt.fPresent)
- {
- kout << "[PMM]: Allocation failed.\r";
- return {};
- }
+ if (pt.fPresent) {
+ kout << "[PMM]: Allocation failed.\r";
+ return {};
+ }
- return Ref<PTEWrapper>(pt);
- }
+ return Ref<PTEWrapper>(pt);
+}
- Boolean Pmm::FreePage(Ref<PTEWrapper> PageRef)
- {
- if (!PageRef)
- return false;
+Boolean Pmm::FreePage(Ref<PTEWrapper> PageRef) {
+ if (!PageRef) return false;
- PageRef.Leak().fPresent = false;
+ PageRef.Leak().fPresent = false;
- return true;
- }
+ return true;
+}
- Boolean Pmm::TogglePresent(Ref<PTEWrapper> PageRef, Boolean Enable)
- {
- if (!PageRef)
- return false;
+Boolean Pmm::TogglePresent(Ref<PTEWrapper> PageRef, Boolean Enable) {
+ if (!PageRef) return false;
- PageRef.Leak().fPresent = Enable;
+ PageRef.Leak().fPresent = Enable;
- return true;
- }
+ return true;
+}
- Boolean Pmm::ToggleUser(Ref<PTEWrapper> PageRef, Boolean Enable)
- {
- if (!PageRef)
- return false;
+Boolean Pmm::ToggleUser(Ref<PTEWrapper> PageRef, Boolean Enable) {
+ if (!PageRef) return false;
- PageRef.Leak().fRw = Enable;
+ PageRef.Leak().fRw = Enable;
- return true;
- }
+ return true;
+}
- Boolean Pmm::ToggleRw(Ref<PTEWrapper> PageRef, Boolean Enable)
- {
- if (!PageRef)
- return false;
+Boolean Pmm::ToggleRw(Ref<PTEWrapper> PageRef, Boolean Enable) {
+ if (!PageRef) return false;
- PageRef.Leak().fRw = Enable;
+ PageRef.Leak().fRw = Enable;
- return true;
- }
+ return true;
+}
- Boolean Pmm::ToggleShare(Ref<PTEWrapper> PageRef, Boolean Enable)
- {
- if (!PageRef)
- return false;
+Boolean Pmm::ToggleShare(Ref<PTEWrapper> PageRef, Boolean Enable) {
+ if (!PageRef) return false;
- PageRef.Leak().fShareable = Enable;
+ PageRef.Leak().fShareable = Enable;
- return true;
- }
-} // namespace Kernel
+ return true;
+}
+} // namespace Kernel