diff TaskManager/kernel/memory/MemList.cpp @ 366:09f33c51a204

rename include/TaskManager/* and add memory
author aaa
date Mon, 27 Jul 2009 15:51:18 +0900
parents
children c7a4818cdfcb
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TaskManager/kernel/memory/MemList.cpp	Mon Jul 27 15:51:18 2009 +0900
@@ -0,0 +1,52 @@
+MemList* 
+createMeamList(uint32 size, uint32 count)
+{
+    MemList* mlist = 
+	smanager->locate(sizeof(MemorySegment));
+    return mlist;
+}
+
+void
+addFirst(MemorySegment* e)
+{
+    e->next = this->first;
+    this->first->prev = e;
+    first = e;
+}
+
+void
+addLast(MemorySegment* e)
+{
+    e->prev = this->last;
+    this->last->next = e;
+    last = e;
+}
+
+MemorySegment
+getFirst()
+{
+    return this->first;
+}
+
+MemorySegment
+getLast()
+{
+    return this->last;
+}
+
+boolean
+remove(MemorySegment* e)
+{
+    MemorySegment* p = e;
+    p->prev->next = p->next;
+    p->next->prev = p->prev;
+    p->prev = NULL;
+    p->next = NULL;
+}
+
+void
+moveToFirst(MemorySegment* e)
+{
+    remove(e);
+    addFirst(e);
+}