diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 03:02:43 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 03:02:43 +0100 |
| commit | 83d870e58457a1d335a1d9b9966a6a1887cc297b (patch) | |
| tree | 72888f88c7728c82f3f6df1f4f70591de15eab36 /dev/kernel/src/Swap | |
| parent | ab37adbacf0f33845804c788b39680cd754752a8 (diff) | |
feat! breaking changes on kernel sources.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/Swap')
| -rw-r--r-- | dev/kernel/src/Swap/DiskSwap.cc | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/dev/kernel/src/Swap/DiskSwap.cc b/dev/kernel/src/Swap/DiskSwap.cc deleted file mode 100644 index f0fa5915..00000000 --- a/dev/kernel/src/Swap/DiskSwap.cc +++ /dev/null @@ -1,64 +0,0 @@ -/* ======================================== - - Copyright (C) 2024-2025 Amlal El Mahrouss , licensed under the Apache 2.0 license. - -======================================== */ - -#include <KernelKit/FileMgr.h> -#include <SwapKit/DiskSwap.h> - -namespace Kernel { -static constexpr UInt32 kSwapDiskHeaderMagic = 0x44535750; // 'DSWP' - -/***********************************************************************************/ -/// @brief Write memory chunk onto disk. -/// @param fork_name The swap name to recognize this memory region. -/// @param fork_name_len length of fork name. -/// @param data the data packet. -/// @return Whether the swap was written to disk, or not. -/***********************************************************************************/ -BOOL DiskSwapInterface::Write(const Char* fork_name, SizeT fork_name_len, SWAP_DISK_HEADER* data) { - if (!fork_name || !fork_name_len) return NO; - - if (*fork_name == 0) return NO; - - if (!data || data->fMagic != kSwapDiskHeaderMagic) return NO; - - FileStream file(kSwapPageFilePath, kRestrictWRB); - - ErrorOr<Int64> ret = file.Write(fork_name, data, sizeof(SWAP_DISK_HEADER) + data->fBlobSz); - - if (ret.Error()) return NO; - - return YES; -} - -/***********************************************************************************/ -/// @brief Read memory chunk from disk. -/// @param fork_name The swap name to recognize this memory region. -/// @param fork_name_len length of fork name. -/// @param data the data packet length. -/// @return Whether the swap was fetched to disk, or not. -/***********************************************************************************/ -SWAP_DISK_HEADER* DiskSwapInterface::Read(const Char* fork_name, SizeT fork_name_len, - SizeT data_len) { - if (!fork_name || !fork_name_len) return nullptr; - - if (*fork_name == 0) return nullptr; - - if (data_len > kSwapBlockMaxSize) return nullptr; - - if (data_len == 0) return nullptr; - - FileStream file(kSwapPageFilePath, kRestrictRB); - - VoidPtr blob = file.Read(fork_name, sizeof(SWAP_DISK_HEADER) + data_len); - - if (!blob || ((SWAP_DISK_HEADER*) blob)->fMagic != kSwapDiskHeaderMagic) { - if (blob) mm_free_ptr(blob); - return nullptr; - } - - return reinterpret_cast<SWAP_DISK_HEADER*>(blob); -} -} // namespace Kernel |
