diff options
Diffstat (limited to 'dev/Kernel/Sources/Pmm.cxx')
| -rw-r--r-- | dev/Kernel/Sources/Pmm.cxx | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/dev/Kernel/Sources/Pmm.cxx b/dev/Kernel/Sources/Pmm.cxx deleted file mode 100644 index 4a511c30..00000000 --- a/dev/Kernel/Sources/Pmm.cxx +++ /dev/null @@ -1,96 +0,0 @@ -/* ------------------------------------------- - - Copyright ZKA Technologies. - -------------------------------------------- */ - -#include <KernelKit/DebugOutput.hxx> -#include <NewKit/Pmm.hxx> - -#if defined(__NEWOS_ARM64__) -#include <HALKit/ARM64/Processor.hxx> -#endif // defined(__NEWOS_ARM64__) - -#if defined(__NEWOS_AMD64__) -#include <HALKit/AMD64/Processor.hxx> -#endif // defined(__NEWOS_AMD64__) - -namespace Kernel -{ - /// @brief Pmm constructor. - Pmm::Pmm() - : fPageManager() - { - kcout << "[PMM] Allocate PageMemoryManager"; - } - - Pmm::~Pmm() = default; - - /* 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 = fPageManager.Leak().Request(user, readWrite, false, kPTESize); - - if (pt.fPresent) - { - kcout << "[PMM]: Allocation was successful.\r"; - return Ref<PTEWrapper>(pt); - } - - kcout << "[PMM]: Allocation failed.\r"; - - return {}; - } - - Boolean Pmm::FreePage(Ref<PTEWrapper> PageRef) - { - if (!PageRef) - return false; - - PageRef.Leak().fPresent = false; - - return true; - } - - Boolean Pmm::TogglePresent(Ref<PTEWrapper> PageRef, Boolean Enable) - { - if (!PageRef) - return false; - - PageRef.Leak().fPresent = Enable; - - return true; - } - - Boolean Pmm::ToggleUser(Ref<PTEWrapper> PageRef, Boolean Enable) - { - if (!PageRef) - return false; - - PageRef.Leak().fRw = Enable; - - return true; - } - - Boolean Pmm::ToggleRw(Ref<PTEWrapper> PageRef, Boolean Enable) - { - if (!PageRef) - return false; - - PageRef.Leak().fRw = Enable; - - return true; - } - - Boolean Pmm::ToggleShare(Ref<PTEWrapper> PageRef, Boolean Enable) - { - if (!PageRef) - return false; - - PageRef.Leak().fShareable = Enable; - - return true; - } -} // namespace Kernel |
