From 2cd212e5df009cb34239ded40c416e0d1c243207 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 19 Jan 2020 08:58:07 +0100 Subject: [PATCH] Kernel: Let's say that everything < 3GB is user virtual memory Technically the bottom 2MB is still identity-mapped for the kernel and not made available to userspace at all, but for simplicity's sake we can just ignore that and make "address < 0xc0000000" the canonical check for user/kernel. --- DevTools/ProfileViewer/Profile.cpp | 2 +- DevTools/ProfileViewer/ProfileModel.cpp | 2 +- Kernel/VM/MemoryManager.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DevTools/ProfileViewer/Profile.cpp b/DevTools/ProfileViewer/Profile.cpp index db0bff00f1..fb1de12c46 100644 --- a/DevTools/ProfileViewer/Profile.cpp +++ b/DevTools/ProfileViewer/Profile.cpp @@ -62,7 +62,7 @@ Profile::Profile(const JsonArray& json) continue; u32 innermost_frame_address = frames_array.at(1).as_object().get("address").to_number(); - sample.in_kernel = innermost_frame_address >= 0xc0000000 || innermost_frame_address < (8 * MB); + sample.in_kernel = innermost_frame_address >= 0xc0000000; for (int i = frames_array.size() - 1; i >= 1; --i) { auto& frame_value = frames_array.at(i); diff --git a/DevTools/ProfileViewer/ProfileModel.cpp b/DevTools/ProfileViewer/ProfileModel.cpp index caa7f9f544..76cc000436 100644 --- a/DevTools/ProfileViewer/ProfileModel.cpp +++ b/DevTools/ProfileViewer/ProfileModel.cpp @@ -118,7 +118,7 @@ GVariant ProfileModel::data(const GModelIndex& index, Role role) const auto* node = static_cast(index.internal_data()); if (role == Role::Icon) { if (index.column() == Column::StackFrame) { - if (node->address() < (8 * MB) || node->address() >= 0xc0000000) + if (node->address() >= 0xc0000000) return m_kernel_frame_icon; return m_user_frame_icon; } diff --git a/Kernel/VM/MemoryManager.h b/Kernel/VM/MemoryManager.h index 13751dd296..d9965cbe6e 100644 --- a/Kernel/VM/MemoryManager.h +++ b/Kernel/VM/MemoryManager.h @@ -212,5 +212,5 @@ void VMObject::for_each_region(Callback callback) inline bool is_user_address(VirtualAddress vaddr) { - return vaddr.get() >= (8 * MB) && vaddr.get() < 0xc0000000; + return vaddr.get() < 0xc0000000; }