summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/POWER/HalVirtualMemory.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 03:02:43 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 03:02:43 +0100
commit83d870e58457a1d335a1d9b9966a6a1887cc297b (patch)
tree72888f88c7728c82f3f6df1f4f70591de15eab36 /dev/kernel/HALKit/POWER/HalVirtualMemory.cc
parentab37adbacf0f33845804c788b39680cd754752a8 (diff)
feat! breaking changes on kernel sources.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/HALKit/POWER/HalVirtualMemory.cc')
-rw-r--r--dev/kernel/HALKit/POWER/HalVirtualMemory.cc46
1 files changed, 0 insertions, 46 deletions
diff --git a/dev/kernel/HALKit/POWER/HalVirtualMemory.cc b/dev/kernel/HALKit/POWER/HalVirtualMemory.cc
deleted file mode 100644
index cd9511c9..00000000
--- a/dev/kernel/HALKit/POWER/HalVirtualMemory.cc
+++ /dev/null
@@ -1,46 +0,0 @@
-/* ========================================
-
- Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
-
-======================================== */
-
-#include <HALKit/POWER/MMU.h>
-#include <HALKit/POWER/Processor.h>
-#include <KernelKit/DebugOutput.h>
-
-/// @note Refer to SoC documentation.
-
-using namespace Kernel;
-
-EXTERN_C Void hal_write_tlb(UInt32 mas0, UInt32 mas1, UInt32 mas2, UInt32 mas3, UInt32 mas7) {
- hal_mtspr(MAS0, mas0);
- hal_mtspr(MAS1, mas1);
- hal_mtspr(MAS2, mas2);
- hal_mtspr(MAS3, mas3);
- hal_mtspr(MAS7, mas7);
-
- hal_flush_tlb();
-}
-
-EXTERN_C Bool hal_set_tlb(UInt8 tlb, UInt32 epn, UInt64 rpn, UInt8 perms, UInt8 wimge, UInt8 ts,
- UInt8 esel, UInt8 tsize, UInt8 iprot) {
- if ((hal_mfspr(SPRN_MMUCFG) & MMUCFG_MAVN) == MMUCFG_MAVN_V1 && (tsize & 1)) {
- // this MMU does not allow odd tsize values
- return false;
- }
-
- UInt32 mas0 = FSL_BOOKE_MAS0(tlb, esel, 0);
- UInt32 mas1 = FSL_BOOKE_MAS1(1, iprot, 0, ts, tsize);
- UInt32 mas2 = FSL_BOOKE_MAS2(epn, wimge);
- UInt32 mas3 = FSL_BOOKE_MAS3(rpn, 0, perms);
- UInt32 mas7 = FSL_BOOKE_MAS7(rpn);
-
- hal_write_tlb(mas0, mas1, mas2, mas3, mas7);
-
- return true;
-}
-
-/// @brief Flush TLB
-EXTERN_C void hal_flush_tlb() {
- asm volatile("isync;tlbwe;msync;isync");
-}