diff options
Diffstat (limited to 'Private/Source')
| -rw-r--r-- | Private/Source/CxxAbi.cxx | 5 | ||||
| -rw-r--r-- | Private/Source/PageAllocator.cxx | 4 | ||||
| -rw-r--r-- | Private/Source/PageManager.cxx | 6 |
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)); } //////////////////////////// |
