summaryrefslogtreecommitdiffhomepage
path: root/Private/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Private/Source')
-rw-r--r--Private/Source/CxxAbi.cxx5
-rw-r--r--Private/Source/PageAllocator.cxx4
-rw-r--r--Private/Source/PageManager.cxx6
3 files changed, 7 insertions, 8 deletions
diff --git a/Private/Source/CxxAbi.cxx b/Private/Source/CxxAbi.cxx
index 2d3a5aec..d251ffca 100644
--- a/Private/Source/CxxAbi.cxx
+++ b/Private/Source/CxxAbi.cxx
@@ -8,9 +8,8 @@
#include <NewKit/CxxAbi.hpp>
#include <NewKit/KernelCheck.hpp>
-void *__dso_handle;
+atexit_func_entry_t __atexit_funcs[kDSOMaxObjects];
-atexit_func_entry_t __atexit_funcs[DSO_MAX_OBJECTS];
uarch_t __atexit_func_count;
extern "C" void __cxa_pure_virtual() {
@@ -25,7 +24,7 @@ extern "C" void ___chkstk_ms() {
}
extern "C" int atexit(void (*f)(void *), void *arg, void *dso) {
- if (__atexit_func_count >= DSO_MAX_OBJECTS) return -1;
+ if (__atexit_func_count >= kDSOMaxObjects) return -1;
__atexit_funcs[__atexit_func_count].destructor_func = f;
__atexit_funcs[__atexit_func_count].obj_ptr = arg;
diff --git a/Private/Source/PageAllocator.cxx b/Private/Source/PageAllocator.cxx
index 990b738b..eb22dd35 100644
--- a/Private/Source/PageAllocator.cxx
+++ b/Private/Source/PageAllocator.cxx
@@ -26,7 +26,7 @@ void exec_disable(UIntPtr VirtualAddr) {
MUST_PASS(!VirtualAddrTable->Accessed);
VirtualAddrTable->ExecDisable = true;
- flush_tlb(VirtualAddr);
+ hal_flush_tlb(VirtualAddr);
}
bool page_disable(UIntPtr VirtualAddr) {
@@ -37,7 +37,7 @@ bool page_disable(UIntPtr VirtualAddr) {
if (VirtualAddrTable->Accessed) return false;
VirtualAddrTable->Present = false;
- flush_tlb(VirtualAddr);
+ hal_flush_tlb(VirtualAddr);
return true;
}
diff --git a/Private/Source/PageManager.cxx b/Private/Source/PageManager.cxx
index 758d69c7..1b535e43 100644
--- a/Private/Source/PageManager.cxx
+++ b/Private/Source/PageManager.cxx
@@ -57,7 +57,7 @@ void PTEWrapper::FlushTLB(Ref<PageManager> &pm) {
void PageManager::FlushTLB(UIntPtr VirtAddr) {
if (VirtAddr == kBadAddress) return;
- flush_tlb(VirtAddr);
+ hal_flush_tlb(VirtAddr);
}
bool PTEWrapper::Reclaim() {
@@ -94,11 +94,11 @@ bool PageManager::Free(Ref<PTEWrapper *> &wrapper) {
////////////////////////////
-// VIRTUAL ADDRESS
+// VIRTUAL ADDRESS GETTER (SKIP PTE)
////////////////////////////
-const UIntPtr &PTEWrapper::VirtualAddress() { return m_VirtAddr; }
+const UIntPtr PTEWrapper::VirtualAddress() { return (m_VirtAddr + sizeof(PTE)); }
////////////////////////////