summaryrefslogtreecommitdiff
path: root/Source/Kernel/MemoryManager
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-09-14 18:00:33 +0200
committerAlexis211 <alexis211@gmail.com>2009-09-14 18:00:33 +0200
commit6332f2561890edd654eafaeb58db16a131573319 (patch)
tree6477fc4898ee4b6045450c6304ad2a3769a4339b /Source/Kernel/MemoryManager
parente0d27cc75009e27502d57258cb64c71221b4b7d1 (diff)
downloadMelon-6332f2561890edd654eafaeb58db16a131573319.tar.gz
Melon-6332f2561890edd654eafaeb58db16a131573319.zip
Added a few commands to kernel shell (rm && mkdir).
Also fixed a bug in VFS::remove.
Diffstat (limited to 'Source/Kernel/MemoryManager')
-rw-r--r--Source/Kernel/MemoryManager/PhysMem.ns.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/Kernel/MemoryManager/PhysMem.ns.cpp b/Source/Kernel/MemoryManager/PhysMem.ns.cpp
index a9bfd35..19323a7 100644
--- a/Source/Kernel/MemoryManager/PhysMem.ns.cpp
+++ b/Source/Kernel/MemoryManager/PhysMem.ns.cpp
@@ -63,7 +63,8 @@ void freeFrame(page_t *page) {
if (page->frame == 0) {
return;
} else {
- frames->clearBit(page->frame / 0x1000);
+ if (page->frame >= 0x100) //First 1M are reserved (system)
+ frames->clearBit(page->frame / 0x1000);
page->frame = 0;
}
}