diff TaskManager/kernel/ppe/TaskManager.cc @ 368:126f90e8582c

change TaskManager
author aaa
date Mon, 27 Jul 2009 18:26:50 +0900
parents 401b55a4a4dd
children 03ae2929c931
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/TaskManager.cc	Mon Jul 27 16:18:17 2009 +0900
+++ b/TaskManager/kernel/ppe/TaskManager.cc	Mon Jul 27 18:26:50 2009 +0900
@@ -85,3 +85,28 @@
 {
     return gen_random->getData();
 }
+
+/*!
+  @param [size] リストの要素1つのサイズ
+  @param [count] 要素数 
+  @return allocate した領域のポインタ
+
+ */
+MemList*
+createMemList(uint32 size, uint32 count)
+{
+    uint32 head_size = 
+	round_up16(sizeof(MemorySegment));	
+    uint32 seg_size = 
+	round_up16(head_size+size);    
+    void* mseg = m_impl->allocate(seg_size*count);
+    MemList* mlist = new MemList((MemorySegment*)mseg);
+
+    for(int i = 1; i < count; i++) {
+	MemorySegment* next = (MemorySegment*)(mseg+seg_size*i);
+	mlist->addLast(next);
+    }
+
+    return mlist;
+}
+