Mercurial > hg > Game > Cerium
changeset 291:d7803cea25a3 draft
document
line wrap: on
line diff
--- a/Document/document/html/Ball_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Ball_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>Ball.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define Ball scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:05 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/BufferManager_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,107 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: BufferManager.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>BufferManager.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "BufferManager.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 BufferManager::BufferManager(<span class="keywordtype">int</span> num) : machineNum(num) {} +<a name="l00006"></a>00006 +<a name="l00007"></a>00007 BufferManager::~BufferManager(<span class="keywordtype">void</span>) { finish(); } +<a name="l00008"></a>00008 +<a name="l00009"></a>00009 <span class="keywordtype">void</span> +<a name="l00010"></a>00010 BufferManager::init(<span class="keywordtype">void</span>) +<a name="l00011"></a>00011 { +<a name="l00012"></a>00012 taskListImpl = <span class="keyword">new</span> TaskListInfo; +<a name="l00013"></a>00013 taskQueueImpl = <span class="keyword">new</span> TaskQueueInfo; +<a name="l00014"></a>00014 htaskImpl = <span class="keyword">new</span> HTaskInfo; +<a name="l00015"></a>00015 +<a name="l00016"></a>00016 taskListImpl->init(machineNum*2); +<a name="l00017"></a>00017 taskQueueImpl->init(TASK_MAX_SIZE*4); +<a name="l00018"></a>00018 htaskImpl->init(TASK_MAX_SIZE*2); +<a name="l00019"></a>00019 } +<a name="l00020"></a>00020 +<a name="l00021"></a>00021 TaskListPtr +<a name="l00022"></a>00022 BufferManager::create_taskList(<span class="keywordtype">void</span>) +<a name="l00023"></a>00023 { +<a name="l00024"></a>00024 <span class="keywordflow">return</span> taskListImpl->create(); +<a name="l00025"></a>00025 } +<a name="l00026"></a>00026 +<a name="l00027"></a>00027 TaskQueuePtr +<a name="l00028"></a>00028 BufferManager::create_taskQueue(HTaskPtr task) +<a name="l00029"></a>00029 { +<a name="l00030"></a>00030 <span class="keywordflow">return</span> taskQueueImpl->create(task); +<a name="l00031"></a>00031 } +<a name="l00032"></a>00032 +<a name="l00033"></a>00033 HTaskPtr +<a name="l00034"></a>00034 BufferManager::create_task(<span class="keywordtype">int</span> cmd) +<a name="l00035"></a>00035 { +<a name="l00036"></a>00036 <span class="keywordflow">return</span> htaskImpl->create(cmd); +<a name="l00037"></a>00037 } +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="keywordtype">void</span> +<a name="l00040"></a>00040 BufferManager::free_taskList(TaskListPtr q) +<a name="l00041"></a>00041 { +<a name="l00042"></a>00042 taskListImpl->free(q); +<a name="l00043"></a>00043 } +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <span class="keywordtype">void</span> +<a name="l00046"></a>00046 BufferManager::free_taskQueue(TaskQueuePtr q) +<a name="l00047"></a>00047 { +<a name="l00048"></a>00048 taskQueueImpl->free(q); +<a name="l00049"></a>00049 } +<a name="l00050"></a>00050 +<a name="l00051"></a>00051 <span class="keywordtype">void</span> +<a name="l00052"></a>00052 BufferManager::free_task(HTaskPtr task) +<a name="l00053"></a>00053 { +<a name="l00054"></a>00054 htaskImpl->free(task); +<a name="l00055"></a>00055 } +<a name="l00056"></a>00056 +<a name="l00057"></a>00057 <span class="keywordtype">void</span> +<a name="l00058"></a>00058 BufferManager::finish(<span class="keywordtype">void</span>) +<a name="l00059"></a>00059 { +<a name="l00060"></a>00060 <span class="keyword">delete</span> taskListImpl; +<a name="l00061"></a>00061 <span class="keyword">delete</span> taskQueueImpl; +<a name="l00062"></a>00062 <span class="keyword">delete</span> htaskImpl; +<a name="l00063"></a>00063 } +<a name="l00064"></a>00064 +<a name="l00065"></a>00065 TaskListPtr +<a name="l00066"></a>00066 BufferManager::clear_taskList(TaskListPtr list) +<a name="l00067"></a>00067 { +<a name="l00068"></a>00068 TaskListPtr p, p1; +<a name="l00069"></a>00069 +<a name="l00070"></a>00070 list->length = 0; +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 p = list->next; +<a name="l00073"></a>00073 <span class="keywordflow">while</span> (p) { +<a name="l00074"></a>00074 p1 = p; +<a name="l00075"></a>00075 p = p->next; +<a name="l00076"></a>00076 taskListImpl->free(p1); +<a name="l00077"></a>00077 } +<a name="l00078"></a>00078 +<a name="l00079"></a>00079 list->next = NULL; +<a name="l00080"></a>00080 <span class="keywordflow">return</span> list; +<a name="l00081"></a>00081 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/BufferManager_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/BufferManager_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -37,43 +37,43 @@ <a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor"># include "HTaskInfo.h"</span> <a name="l00018"></a>00018 <span class="preprocessor">#endif</span> <a name="l00019"></a>00019 <span class="preprocessor"></span> -<a name="l00020"></a>00020 <span class="keyword">class </span>BufferManager { -<a name="l00021"></a>00021 <span class="keyword">public</span>: -<a name="l00022"></a>00022 <span class="comment">/* constructor */</span> -<a name="l00023"></a>00023 BufferManager(<span class="keywordtype">int</span> num = 1); -<a name="l00024"></a>00024 <span class="keyword">virtual</span> ~BufferManager(<span class="keywordtype">void</span>); -<a name="l00025"></a>00025 -<a name="l00026"></a>00026 <span class="comment">/* variables */</span> -<a name="l00027"></a>00027 TaskListInfo *taskListImpl; -<a name="l00028"></a>00028 TaskQueueInfo *taskQueueImpl; -<a name="l00029"></a>00029 HTaskInfo *htaskImpl; -<a name="l00030"></a>00030 -<a name="l00031"></a>00031 <span class="keywordtype">int</span> machineNum; -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="comment">/* function */</span> -<a name="l00034"></a>00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> init(<span class="keywordtype">void</span>); +<a name="l00025"></a><a class="code" href="classBufferManager.html">00025</a> <span class="keyword">class </span><a class="code" href="classBufferManager.html">BufferManager</a> { +<a name="l00026"></a>00026 <span class="keyword">public</span>: +<a name="l00027"></a>00027 <span class="comment">/* constructor */</span> +<a name="l00028"></a>00028 <a class="code" href="classBufferManager.html">BufferManager</a>(<span class="keywordtype">int</span> num = 1); +<a name="l00029"></a>00029 <span class="keyword">virtual</span> ~<a class="code" href="classBufferManager.html">BufferManager</a>(<span class="keywordtype">void</span>); +<a name="l00030"></a>00030 +<a name="l00031"></a>00031 <span class="comment">/* variables */</span> +<a name="l00032"></a>00032 TaskListInfo *taskListImpl; +<a name="l00033"></a>00033 TaskQueueInfo *taskQueueImpl; +<a name="l00034"></a>00034 HTaskInfo *htaskImpl; <a name="l00035"></a>00035 -<a name="l00036"></a>00036 <span class="comment">// TaskList</span> -<a name="l00037"></a>00037 TaskListPtr create_taskList(<span class="keywordtype">void</span>); -<a name="l00038"></a>00038 <span class="keywordtype">void</span> free_taskList(TaskListPtr); -<a name="l00039"></a>00039 TaskListPtr clear_taskList(TaskListPtr); +<a name="l00036"></a>00036 <span class="keywordtype">int</span> machineNum; +<a name="l00037"></a>00037 +<a name="l00038"></a>00038 <span class="comment">/* function */</span> +<a name="l00039"></a>00039 <span class="keyword">virtual</span> <span class="keywordtype">void</span> init(<span class="keywordtype">void</span>); <a name="l00040"></a>00040 -<a name="l00041"></a>00041 <span class="comment">// TaskQueue</span> -<a name="l00042"></a>00042 TaskQueuePtr create_taskQueue(HTaskPtr); -<a name="l00043"></a>00043 <span class="keywordtype">void</span> free_taskQueue(TaskQueuePtr); -<a name="l00044"></a>00044 -<a name="l00045"></a>00045 <span class="comment">// HTask</span> -<a name="l00046"></a>00046 HTaskPtr create_task(<span class="keywordtype">int</span> cmd); -<a name="l00047"></a>00047 <span class="keywordtype">void</span> free_task(HTaskPtr); -<a name="l00048"></a>00048 +<a name="l00041"></a>00041 <span class="comment">// TaskList</span> +<a name="l00042"></a>00042 TaskListPtr create_taskList(<span class="keywordtype">void</span>); +<a name="l00043"></a>00043 <span class="keywordtype">void</span> free_taskList(TaskListPtr); +<a name="l00044"></a>00044 TaskListPtr clear_taskList(TaskListPtr); +<a name="l00045"></a>00045 +<a name="l00046"></a>00046 <span class="comment">// TaskQueue</span> +<a name="l00047"></a>00047 TaskQueuePtr create_taskQueue(HTaskPtr); +<a name="l00048"></a>00048 <span class="keywordtype">void</span> free_taskQueue(TaskQueuePtr); <a name="l00049"></a>00049 -<a name="l00050"></a>00050 <span class="keywordtype">void</span> finish(<span class="keywordtype">void</span>); -<a name="l00051"></a>00051 <span class="keyword">private</span>: -<a name="l00052"></a>00052 }; +<a name="l00050"></a>00050 <span class="comment">// HTask</span> +<a name="l00051"></a>00051 HTaskPtr create_task(<span class="keywordtype">int</span> cmd); +<a name="l00052"></a>00052 <span class="keywordtype">void</span> free_task(HTaskPtr); <a name="l00053"></a>00053 -<a name="l00054"></a>00054 <span class="preprocessor">#endif</span> +<a name="l00054"></a>00054 +<a name="l00055"></a>00055 <span class="keywordtype">void</span> finish(<span class="keywordtype">void</span>); +<a name="l00056"></a>00056 <span class="keyword">private</span>: +<a name="l00057"></a>00057 }; +<a name="l00058"></a>00058 +<a name="l00059"></a>00059 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/Button_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Button_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -38,7 +38,7 @@ <a name="l00018"></a>00018 <a name="l00019"></a>00019 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/Camera_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Camera_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -52,7 +52,7 @@ <a name="l00032"></a>00032 <a name="l00033"></a>00033 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/CellBufferManager_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,45 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: CellBufferManager.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>CellBufferManager.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "CellBufferManager.h"</span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "CellTaskListInfo.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "CellHTaskInfo.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 <span class="keywordtype">void</span> +<a name="l00006"></a>00006 CellBufferManager::init(<span class="keywordtype">void</span>) +<a name="l00007"></a>00007 { +<a name="l00008"></a>00008 BufferManager::init(); +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 <span class="comment">// ʤġ</span> +<a name="l00011"></a>00011 <span class="comment">// ʡ</span> +<a name="l00012"></a>00012 <span class="keyword">delete</span> taskListImpl; +<a name="l00013"></a>00013 taskListImpl = <span class="keyword">new</span> CellTaskListInfo; +<a name="l00014"></a>00014 taskListImpl->init(machineNum*2); +<a name="l00015"></a>00015 +<a name="l00016"></a>00016 <span class="keyword">delete</span> htaskImpl; +<a name="l00017"></a>00017 htaskImpl = <span class="keyword">new</span> CellHTaskInfo; +<a name="l00018"></a>00018 htaskImpl->init(TASK_MAX_SIZE*2); +<a name="l00019"></a>00019 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/CellBufferManager_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/CellBufferManager_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -29,9 +29,9 @@ <a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor"># include "BufferManager.h"</span> <a name="l00010"></a>00010 <span class="preprocessor">#endif</span> <a name="l00011"></a>00011 <span class="preprocessor"></span> -<a name="l00012"></a>00012 <span class="keyword">class </span>CellBufferManager : <span class="keyword">public</span> BufferManager { +<a name="l00012"></a>00012 <span class="keyword">class </span>CellBufferManager : <span class="keyword">public</span> <a class="code" href="classBufferManager.html">BufferManager</a> { <a name="l00013"></a>00013 <span class="keyword">public</span>: -<a name="l00014"></a>00014 CellBufferManager(<span class="keywordtype">int</span> num) :BufferManager(num){} +<a name="l00014"></a>00014 CellBufferManager(<span class="keywordtype">int</span> num) :<a class="code" href="classBufferManager.html">BufferManager</a>(num){} <a name="l00015"></a>00015 <a name="l00016"></a>00016 BASE_NEW_DELETE(CellBufferManager); <a name="l00017"></a>00017 @@ -40,7 +40,7 @@ <a name="l00020"></a>00020 <a name="l00021"></a>00021 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/CellDmaManager_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,110 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: CellDmaManager.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>CellDmaManager.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "CellDmaManager.h"</span> +<a name="l00004"></a>00004 +<a name="l00013"></a>00013 <span class="keywordtype">void</span> +<a name="l00014"></a>00014 CellDmaManager::dma_load(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) +<a name="l00015"></a>00015 { +<a name="l00016"></a>00016 <span class="keywordflow">if</span> (size == 0) return ; +<a name="l00017"></a>00017 mfc_get((<span class="keyword">volatile</span> <span class="keywordtype">void</span> *)buf, addr, size, mask, 0, 0); +<a name="l00018"></a>00018 } +<a name="l00019"></a>00019 +<a name="l00028"></a>00028 <span class="keywordtype">void</span> +<a name="l00029"></a>00029 CellDmaManager::dma_store(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) +<a name="l00030"></a>00030 { +<a name="l00031"></a>00031 <span class="keywordflow">if</span> (size == 0) return ; +<a name="l00032"></a>00032 mfc_put((<span class="keyword">volatile</span> <span class="keywordtype">void</span> *)buf, addr, size, mask, 0, 0); +<a name="l00033"></a>00033 } +<a name="l00034"></a>00034 +<a name="l00040"></a>00040 <span class="keywordtype">void</span> +<a name="l00041"></a>00041 CellDmaManager::start_dmawait_profile() +<a name="l00042"></a>00042 { +<a name="l00043"></a>00043 wait_time = spu_readch(SPU_RdDec); +<a name="l00044"></a>00044 global_busy_time += busy_time - wait_time; +<a name="l00045"></a>00045 spu_writech(SPU_WrDec, 0xffffffff); +<a name="l00046"></a>00046 } +<a name="l00047"></a>00047 +<a name="l00048"></a>00048 <span class="keywordtype">void</span> +<a name="l00049"></a>00049 CellDmaManager::end_dmawait_profile() +<a name="l00050"></a>00050 { +<a name="l00051"></a>00051 wait_time = spu_readch(SPU_RdDec); +<a name="l00052"></a>00052 global_wait_time += 0xffffffff - wait_time; +<a name="l00053"></a>00053 busy_time = wait_time; +<a name="l00054"></a>00054 } +<a name="l00055"></a>00055 +<a name="l00056"></a>00056 <span class="keywordtype">void</span> +<a name="l00057"></a>00057 CellDmaManager::show_dma_wait(<span class="keywordtype">int</span> cpu) +<a name="l00058"></a>00058 { +<a name="l00059"></a>00059 +<a name="l00060"></a>00060 printf(<span class="stringliteral">"spu%d: global_wait_time = %lld\n"</span>,cpu, global_wait_time); +<a name="l00061"></a>00061 printf(<span class="stringliteral">"spu%d: global_busy_time = %lld\n"</span>,cpu, global_busy_time); +<a name="l00062"></a>00062 printf(<span class="stringliteral">"spu%d: busy_ratio = %g%%\n"</span>,cpu, +<a name="l00063"></a>00063 ((<span class="keywordtype">double</span>)global_busy_time)/((<span class="keywordtype">double</span>)(global_busy_time+global_wait_time))*100.0); +<a name="l00064"></a>00064 } +<a name="l00065"></a>00065 +<a name="l00066"></a>00066 <span class="keywordtype">void</span> +<a name="l00067"></a>00067 CellDmaManager::dma_wait(uint32 mask) +<a name="l00068"></a>00068 { +<a name="l00069"></a>00069 <span class="preprocessor">#ifdef SPU_PROFILE</span> +<a name="l00070"></a>00070 <span class="preprocessor"></span> start_dmawait_profile(); +<a name="l00071"></a>00071 <span class="preprocessor">#endif</span> +<a name="l00072"></a>00072 <span class="preprocessor"></span> mfc_write_tag_mask(1 << mask); +<a name="l00073"></a>00073 mfc_write_tag_update_all(); +<a name="l00074"></a>00074 mfc_read_tag_status(); +<a name="l00075"></a>00075 <span class="preprocessor">#ifdef SPU_PROFILE</span> +<a name="l00076"></a>00076 <span class="preprocessor"></span> end_dmawait_profile(); +<a name="l00077"></a>00077 <span class="preprocessor">#endif</span> +<a name="l00078"></a>00078 <span class="preprocessor"></span>} +<a name="l00079"></a>00079 +<a name="l00080"></a>00080 <span class="keywordtype">void</span> +<a name="l00081"></a>00081 CellDmaManager::mail_write(uint32 data) +<a name="l00082"></a>00082 { +<a name="l00083"></a>00083 spu_write_out_mbox(data); +<a name="l00084"></a>00084 } +<a name="l00085"></a>00085 +<a name="l00086"></a>00086 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> +<a name="l00087"></a>00087 CellDmaManager::mail_read(<span class="keywordtype">void</span>) +<a name="l00088"></a>00088 { +<a name="l00089"></a>00089 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mail = spu_read_in_mbox(); +<a name="l00090"></a>00090 <span class="keywordflow">return</span> mail; +<a name="l00091"></a>00091 } +<a name="l00092"></a>00092 +<a name="l00093"></a>00093 <span class="keywordtype">void</span> +<a name="l00094"></a>00094 CellDmaManager::dma_loadList(ListDataPtr list, <span class="keywordtype">void</span> *buff, uint32 mask) +<a name="l00095"></a>00095 { +<a name="l00096"></a>00096 mfc_getl(buff, 0, list->element, <span class="keyword">sizeof</span>(mfc_list_element_t)*list->length, +<a name="l00097"></a>00097 mask, 0, 0); +<a name="l00098"></a>00098 } +<a name="l00099"></a>00099 +<a name="l00100"></a>00100 <span class="keywordtype">void</span> +<a name="l00101"></a>00101 CellDmaManager::dma_storeList(ListDataPtr list, <span class="keywordtype">void</span> *buff, uint32 mask) +<a name="l00102"></a>00102 { +<a name="l00103"></a>00103 mfc_putl(buff, 0, list->element, <span class="keyword">sizeof</span>(mfc_list_element_t)*list->length, +<a name="l00104"></a>00104 mask, 0, 0); +<a name="l00105"></a>00105 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/CellDmaManager_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/CellDmaManager_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -62,7 +62,7 @@ <a name="l00042"></a>00042 <a name="l00043"></a>00043 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/CellHTaskInfo_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,57 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: CellHTaskInfo.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>CellHTaskInfo.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "CellHTaskInfo.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 <span class="keywordtype">int</span> +<a name="l00006"></a>00006 CellHTaskInfo::extend_pool(<span class="keywordtype">int</span> num) +<a name="l00007"></a>00007 { +<a name="l00008"></a>00008 HTaskPtr q = NULL; +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 q = (HTaskPtr)malloc(<span class="keyword">sizeof</span>(HTask)*(num+1)); +<a name="l00011"></a>00011 +<a name="l00012"></a>00012 <span class="keywordflow">if</span> (q == NULL) { +<a name="l00013"></a>00013 <span class="keywordflow">return</span> -1; +<a name="l00014"></a>00014 } +<a name="l00015"></a>00015 q->next = htaskPool; +<a name="l00016"></a>00016 htaskPool = q; +<a name="l00017"></a>00017 +<a name="l00018"></a>00018 <span class="comment">/* Connect all free queue in the pool */</span> +<a name="l00019"></a>00019 <span class="keywordflow">for</span> (q = htaskPool + 1; --num > 0; q++) { +<a name="l00020"></a>00020 q->next = q + 1; +<a name="l00021"></a>00021 posix_memalign((<span class="keywordtype">void</span>**)&q->inData, DEFAULT_ALIGNMENT, <span class="keyword">sizeof</span>(ListData)); +<a name="l00022"></a>00022 posix_memalign((<span class="keywordtype">void</span>**)&q->outData, DEFAULT_ALIGNMENT, <span class="keyword">sizeof</span>(ListData)); +<a name="l00023"></a>00023 } +<a name="l00024"></a>00024 q->next = freeHTask; +<a name="l00025"></a>00025 posix_memalign((<span class="keywordtype">void</span>**)&q->inData, DEFAULT_ALIGNMENT, <span class="keyword">sizeof</span>(ListData)); +<a name="l00026"></a>00026 posix_memalign((<span class="keywordtype">void</span>**)&q->outData, DEFAULT_ALIGNMENT, <span class="keyword">sizeof</span>(ListData)); +<a name="l00027"></a>00027 +<a name="l00028"></a>00028 freeHTask = htaskPool + 1; +<a name="l00029"></a>00029 +<a name="l00030"></a>00030 <span class="keywordflow">return</span> 0; +<a name="l00031"></a>00031 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/CellHTaskInfo_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/CellHTaskInfo_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -33,7 +33,7 @@ <a name="l00013"></a>00013 <a name="l00014"></a>00014 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/CellScheduler_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,77 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: CellScheduler.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>CellScheduler.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <malloc.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "CellScheduler.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "CellDmaManager.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "error.h"</span> +<a name="l00006"></a>00006 +<a name="l00007"></a>00007 <span class="comment">// 桼ץ</span> +<a name="l00008"></a>00008 <span class="comment">// ʤɡ̯͡</span> +<a name="l00009"></a>00009 <span class="keyword">extern</span> <span class="keywordtype">void</span> task_init(<span class="keywordtype">void</span>); +<a name="l00010"></a>00010 +<a name="l00011"></a>00011 <span class="keywordtype">void</span> +<a name="l00012"></a>00012 CellScheduler::init_impl(<span class="keywordtype">void</span>) +<a name="l00013"></a>00013 { +<a name="l00014"></a>00014 connector = <span class="keyword">new</span> CellDmaManager; +<a name="l00015"></a>00015 +<a name="l00016"></a>00016 mainMemNum = 0; +<a name="l00017"></a>00017 +<a name="l00018"></a>00018 task_init(); +<a name="l00019"></a>00019 } +<a name="l00020"></a>00020 +<a name="l00021"></a>00021 <span class="keywordtype">void</span>* +<a name="l00022"></a>00022 CellScheduler::allocate(<span class="keywordtype">int</span> size) +<a name="l00023"></a>00023 { +<a name="l00024"></a>00024 <span class="keywordflow">return</span> memalign(DEFAULT_ALIGNMENT, size); +<a name="l00025"></a>00025 } +<a name="l00026"></a>00026 +<a name="l00034"></a>00034 <span class="keywordtype">void</span> +<a name="l00035"></a>00035 CellScheduler::mainMem_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) +<a name="l00036"></a>00036 { +<a name="l00037"></a>00037 mainMemList[id] = NULL; +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 mainMemNum++; +<a name="l00040"></a>00040 mail_write(MY_SPE_COMMAND_MALLOC); +<a name="l00041"></a>00041 mail_write(<span class="keywordtype">id</span>); +<a name="l00042"></a>00042 mail_write(size); +<a name="l00043"></a>00043 } +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <span class="keywordtype">void</span> +<a name="l00046"></a>00046 CellScheduler::mainMem_wait(<span class="keywordtype">void</span>) +<a name="l00047"></a>00047 { +<a name="l00048"></a>00048 uint32 id; +<a name="l00049"></a>00049 uint32 addr; +<a name="l00050"></a>00050 +<a name="l00051"></a>00051 <span class="keywordflow">while</span> (mainMemNum > 0) { +<a name="l00052"></a>00052 <span class="keywordtype">id</span> = mail_read(); +<a name="l00053"></a>00053 addr = mail_read(); +<a name="l00054"></a>00054 +<a name="l00055"></a>00055 mainMemList[id] = (<span class="keywordtype">void</span>*)addr; +<a name="l00056"></a>00056 mainMemNum--; +<a name="l00057"></a>00057 } +<a name="l00058"></a>00058 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/CellScheduler_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/CellScheduler_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -45,7 +45,7 @@ <a name="l00025"></a>00025 <a name="l00026"></a>00026 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/CellTaskInfo_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/CellTaskInfo_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -41,7 +41,7 @@ <a name="l00021"></a>00021 <a name="l00022"></a>00022 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/CellTaskListInfo_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,59 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: CellTaskListInfo.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>CellTaskListInfo.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "CellTaskListInfo.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 <span class="preprocessor">#define NEXT_ADDR(addr, size) \</span> +<a name="l00006"></a>00006 <span class="preprocessor"> (TaskListPtr)((int)(addr) + (size))</span> +<a name="l00007"></a>00007 <span class="preprocessor"></span> +<a name="l00008"></a>00008 <span class="keywordtype">int</span> +<a name="l00009"></a>00009 CellTaskListInfo::extend_pool(<span class="keywordtype">int</span> num) +<a name="l00010"></a>00010 { +<a name="l00011"></a>00011 TaskListPtr q = NULL; +<a name="l00012"></a>00012 <span class="keywordtype">int</span> unit_size; +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 unit_size = (ROUND_UP_ALIGN(<span class="keyword">sizeof</span>(TaskList), DEFAULT_ALIGNMENT)); +<a name="l00015"></a>00015 posix_memalign((<span class="keywordtype">void</span>**)&q, DEFAULT_ALIGNMENT, unit_size*(num+1)); +<a name="l00016"></a>00016 +<a name="l00017"></a>00017 <span class="keywordflow">if</span> (q == NULL) { +<a name="l00018"></a>00018 <span class="keywordflow">return</span> -1; +<a name="l00019"></a>00019 } +<a name="l00020"></a>00020 +<a name="l00021"></a>00021 q->next = taskListPool; +<a name="l00022"></a>00022 taskListPool = q; +<a name="l00023"></a>00023 +<a name="l00024"></a>00024 <span class="comment">/* Connect all free pack_list in the pool */</span> +<a name="l00025"></a>00025 q = NEXT_ADDR(taskListPool, unit_size); <span class="comment">// q = taskListPool + 1;</span> +<a name="l00026"></a>00026 <span class="keywordflow">for</span> (; --num > 0; q = NEXT_ADDR(q, unit_size)) { +<a name="l00027"></a>00027 q->next = NEXT_ADDR(q, unit_size); <span class="comment">// q->next = q + 1;</span> +<a name="l00028"></a>00028 } +<a name="l00029"></a>00029 q->next = freeTaskList; +<a name="l00030"></a>00030 freeTaskList = NEXT_ADDR(taskListPool, unit_size); +<a name="l00031"></a>00031 +<a name="l00032"></a>00032 <span class="keywordflow">return</span> 0; +<a name="l00033"></a>00033 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/CellTaskListInfo_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/CellTaskListInfo_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -33,7 +33,7 @@ <a name="l00013"></a>00013 <a name="l00014"></a>00014 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/CellTaskManagerImpl_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,284 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: CellTaskManagerImpl.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>CellTaskManagerImpl.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include <string.h></span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "CellTaskManagerImpl.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "CellBufferManager.h"</span> +<a name="l00006"></a>00006 <span class="preprocessor">#include "PpeScheduler.h"</span> +<a name="l00007"></a>00007 <span class="preprocessor">#include "types.h"</span> +<a name="l00008"></a>00008 <span class="preprocessor">#include "error.h"</span> +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 CellTaskManagerImpl::~CellTaskManagerImpl(<span class="keywordtype">void</span>) +<a name="l00011"></a>00011 { +<a name="l00012"></a>00012 <span class="keyword">delete</span> speThreads; +<a name="l00013"></a>00013 <span class="keyword">delete</span> [] speTaskList; +<a name="l00014"></a>00014 <span class="keyword">delete</span> [] speTaskList_bg; +<a name="l00019"></a>00019 <span class="comment">// delete bufferManager;</span> +<a name="l00020"></a>00020 <span class="keyword">delete</span> [] flag_sendTaskList; +<a name="l00021"></a>00021 +<a name="l00022"></a>00022 <span class="keyword">delete</span> ppeManager; +<a name="l00023"></a>00023 } +<a name="l00024"></a>00024 +<a name="l00025"></a>00025 <span class="keywordtype">void</span> +<a name="l00026"></a>00026 CellTaskManagerImpl::init(<span class="keywordtype">void</span>) +<a name="l00027"></a>00027 { +<a name="l00028"></a>00028 bufferManager = <span class="keyword">new</span> CellBufferManager(machineNum); +<a name="l00029"></a>00029 bufferManager->init(); +<a name="l00030"></a>00030 +<a name="l00031"></a>00031 speThreads = <span class="keyword">new</span> SpeThreads(machineNum); +<a name="l00032"></a>00032 speThreads->init(); +<a name="l00033"></a>00033 +<a name="l00034"></a>00034 speTaskList = <span class="keyword">new</span> TaskListPtr[machineNum]; +<a name="l00035"></a>00035 speTaskList_bg = <span class="keyword">new</span> TaskListPtr[machineNum]; +<a name="l00036"></a>00036 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < machineNum; i++) { +<a name="l00037"></a>00037 speTaskList[i] = bufferManager->create_taskList(); +<a name="l00038"></a>00038 speTaskList_bg[i] = bufferManager->create_taskList(); +<a name="l00039"></a>00039 } +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 flag_sendTaskList = <span class="keyword">new</span> <span class="keywordtype">int</span>[machineNum]; +<a name="l00042"></a>00042 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < machineNum; i++) { +<a name="l00043"></a>00043 flag_sendTaskList[i] = 1; +<a name="l00044"></a>00044 } +<a name="l00045"></a>00045 +<a name="l00046"></a>00046 <span class="comment">// PPE ¦δ Manager</span> +<a name="l00047"></a>00047 ppeManager = <span class="keyword">new</span> FifoTaskManagerImpl(machineNum); +<a name="l00048"></a>00048 ppeManager->init(<span class="keyword">new</span> PpeScheduler, bufferManager); +<a name="l00049"></a>00049 } +<a name="l00050"></a>00050 +<a name="l00051"></a>00051 <span class="keywordtype">void</span> +<a name="l00052"></a>00052 CellTaskManagerImpl::append_activeTask(HTaskPtr task) +<a name="l00053"></a>00053 { +<a name="l00054"></a>00054 TaskQueuePtr q; +<a name="l00055"></a>00055 +<a name="l00056"></a>00056 q = bufferManager->create_taskQueue(task); +<a name="l00057"></a>00057 <span class="keywordflow">if</span> (task->cpu_type == CPU_PPE) { +<a name="l00058"></a>00058 ppeManager->append_activeTask(task); +<a name="l00059"></a>00059 } <span class="keywordflow">else</span> { +<a name="l00060"></a>00060 activeTaskQueue = TaskQueue::append(activeTaskQueue, q); +<a name="l00061"></a>00061 } +<a name="l00062"></a>00062 } +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 <span class="comment">// SPE_ANY ꤵƤ</span> +<a name="l00065"></a>00065 <span class="comment">// ȤĤĸƤ֤Ȥˤ롣</span> +<a name="l00066"></a>00066 <span class="comment">// ȤäƤ⤤ɤ</span> +<a name="l00067"></a>00067 <span class="keywordtype">int</span> cur_anySpeid = 0; +<a name="l00068"></a>00068 +<a name="l00076"></a>00076 <span class="keywordtype">void</span> +<a name="l00077"></a>00077 CellTaskManagerImpl::set_runTaskList(<span class="keywordtype">void</span>) +<a name="l00078"></a>00078 { +<a name="l00079"></a>00079 <span class="comment">// ...ľ</span> +<a name="l00080"></a>00080 TaskListPtr list; +<a name="l00081"></a>00081 TaskQueuePtr queue; +<a name="l00082"></a>00082 TaskQueuePtr d; +<a name="l00083"></a>00083 HTaskPtr htask; +<a name="l00084"></a>00084 TaskPtr task; +<a name="l00085"></a>00085 <span class="keywordtype">int</span> speid; +<a name="l00086"></a>00086 +<a name="l00087"></a>00087 queue = activeTaskQueue; +<a name="l00088"></a>00088 <span class="keywordflow">if</span> (queue == NULL) { +<a name="l00089"></a>00089 return ; +<a name="l00090"></a>00090 } +<a name="l00091"></a>00091 +<a name="l00092"></a>00092 <span class="keywordflow">while</span> (queue) { +<a name="l00093"></a>00093 htask = (HTaskPtr)queue->task; +<a name="l00094"></a>00094 d = queue; +<a name="l00095"></a>00095 queue = queue->next; +<a name="l00096"></a>00096 +<a name="l00097"></a>00097 if (htask->cpu_type == SPE_ANY) { +<a name="l00098"></a>00098 speid = cur_anySpeid++; +<a name="l00099"></a>00099 cur_anySpeid = (cur_anySpeid < machineNum) +<a name="l00100"></a>00100 ? cur_anySpeid : 0; +<a name="l00101"></a>00101 } <span class="keywordflow">else</span> { +<a name="l00102"></a>00102 <span class="comment">// -1 ƤΤ</span> +<a name="l00103"></a>00103 <span class="comment">// htask->cpu_type - CPU_SPE </span> +<a name="l00104"></a>00104 <span class="comment">// SPE0 = 1, SPE1 = 2, ... SPE5 = 6 äƤʤäƤΤ</span> +<a name="l00105"></a>00105 <span class="comment">// Ū (SPE0 = arr[0], SPE1 = arr[1]) ˤ뤿</span> +<a name="l00106"></a>00106 speid = htask->cpu_type - CPU_SPE - 1; +<a name="l00107"></a>00107 +<a name="l00108"></a>00108 <span class="comment">// SPU οʾ夬ꤵƤ</span> +<a name="l00109"></a>00109 <span class="comment">// Ȥꤢ MAX_USE_SPE_NUM (ºݤư SPE κ) </span> +<a name="l00110"></a>00110 <span class="comment">// ޤƤȤȤˤ롣</span> +<a name="l00111"></a>00111 <span class="comment">// ȽꤹǤʤ</span> +<a name="l00112"></a>00112 <span class="keywordflow">if</span> (speid >= machineNum) { +<a name="l00113"></a>00113 speid %= machineNum; +<a name="l00114"></a>00114 } +<a name="l00115"></a>00115 } +<a name="l00116"></a>00116 +<a name="l00117"></a>00117 list = speTaskList_bg[speid]; +<a name="l00118"></a>00118 +<a name="l00119"></a>00119 <span class="keywordflow">if</span> (list->length >= TASK_MAX_SIZE) { +<a name="l00120"></a>00120 TaskListPtr newList = bufferManager->create_taskList(); +<a name="l00121"></a>00121 newList = TaskListInfo::append(newList, speTaskList_bg[speid]); +<a name="l00122"></a>00122 speTaskList_bg[speid] = newList; +<a name="l00123"></a>00123 list = newList; +<a name="l00124"></a>00124 } +<a name="l00125"></a>00125 +<a name="l00126"></a>00126 task = &list->tasks[list->length++]; +<a name="l00127"></a>00127 <span class="preprocessor">#if 0</span> +<a name="l00128"></a>00128 <span class="preprocessor"></span> task->command = htask->command; +<a name="l00129"></a>00129 task->inData = htask->inData; +<a name="l00130"></a>00130 task->outData = htask->outData; +<a name="l00131"></a>00131 task->self = (<span class="keywordtype">unsigned</span> int)htask; +<a name="l00132"></a>00132 <span class="preprocessor">#else</span> +<a name="l00133"></a>00133 <span class="preprocessor"></span> memcpy(task, htask, <span class="keyword">sizeof</span>(Task)); +<a name="l00134"></a>00134 <span class="preprocessor">#endif</span> +<a name="l00135"></a>00135 <span class="preprocessor"></span> +<a name="l00136"></a>00136 bufferManager->free_taskQueue(d); +<a name="l00137"></a>00137 } +<a name="l00138"></a>00138 +<a name="l00139"></a>00139 activeTaskQueue = NULL; +<a name="l00140"></a>00140 } +<a name="l00141"></a>00141 +<a name="l00142"></a>00142 <span class="keywordtype">void</span> +<a name="l00143"></a>00143 CellTaskManagerImpl::run(<span class="keywordtype">void</span>) +<a name="l00144"></a>00144 { +<a name="l00145"></a>00145 TaskListPtr ppeTaskList = NULL; +<a name="l00146"></a>00146 MailQueuePtr ppeMail = NULL; +<a name="l00147"></a>00147 +<a name="l00148"></a>00148 <span class="comment">// PPE ¦ư TaskList Ǥ</span> +<a name="l00149"></a>00149 <span class="comment">// FifoTaskManagerImpl::run Ⱦ꤯礦褦</span> +<a name="l00150"></a>00150 <span class="comment">// ʤȤäƤޤ</span> +<a name="l00151"></a>00151 ppeTaskList = ppeManager->get_runTaskList(); +<a name="l00152"></a>00152 <span class="keywordflow">if</span> (!ppeTaskList) { +<a name="l00153"></a>00153 <span class="keywordflow">goto</span> cont; +<a name="l00154"></a>00154 } +<a name="l00155"></a>00155 +<a name="l00156"></a>00156 <span class="comment">// SPE Mailbox Check </span> +<a name="l00157"></a>00157 <span class="comment">// PPE ¦ schedule ȴ褿Ȥ˹Ԥ</span> +<a name="l00158"></a>00158 <span class="comment">// (speThreads Blocking Mailbox read </span> +<a name="l00159"></a>00159 <span class="comment">// ޥեȤȤäƤäƤ⤤Ϥ)</span> +<a name="l00160"></a>00160 <span class="keywordflow">do</span> { +<a name="l00161"></a>00161 ppeMail = ppeManager->schedule(ppeTaskList); +<a name="l00162"></a>00162 cont: +<a name="l00163"></a>00163 ppeTaskList = mail_check(ppeMail); +<a name="l00164"></a>00164 } <span class="keywordflow">while</span> (ppeTaskList); +<a name="l00165"></a>00165 } +<a name="l00166"></a>00166 TaskListPtr +<a name="l00177"></a>00177 CellTaskManagerImpl::mail_check(MailQueuePtr mail_list) +<a name="l00178"></a>00178 { +<a name="l00179"></a>00179 <span class="comment">// PPE Scheduler mail check</span> +<a name="l00180"></a>00180 ppeManager->mail_check(mail_list, &waitTaskQueue); +<a name="l00181"></a>00181 +<a name="l00182"></a>00182 <span class="keywordflow">do</span> { +<a name="l00183"></a>00183 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> data; +<a name="l00184"></a>00184 +<a name="l00185"></a>00185 <span class="comment">// SPE Scheduler mail check</span> +<a name="l00186"></a>00186 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> <span class="keywordtype">id</span> = 0; <span class="keywordtype">id</span> < machineNum; <span class="keywordtype">id</span>++) { +<a name="l00187"></a>00187 <span class="keywordflow">while</span> (speThreads->check_mail(<span class="keywordtype">id</span>, 1, &data)) { +<a name="l00188"></a>00188 +<a name="l00198"></a>00198 <span class="comment">// ̾ȤǤȷ褦 => MY_SPE_... Ȥʤ</span> +<a name="l00199"></a>00199 <span class="keywordflow">if</span> (data == MY_SPE_STATUS_READY) { +<a name="l00200"></a>00200 __debug_ppe(<span class="stringliteral">"[SPE %d] finish\n"</span>, <span class="keywordtype">id</span>); +<a name="l00201"></a>00201 flag_sendTaskList[id] = 1; +<a name="l00202"></a>00202 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (data == MY_SPE_COMMAND_MALLOC) { +<a name="l00203"></a>00203 __debug_ppe(<span class="stringliteral">"[PPE] MALLOC COMMAND from [SPE %d]\n"</span>, <span class="keywordtype">id</span>); +<a name="l00204"></a>00204 +<a name="l00209"></a>00209 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> alloc_info[3]; +<a name="l00210"></a>00210 <span class="keywordtype">int</span> alloc_size; +<a name="l00211"></a>00211 <span class="keywordtype">int</span> command; +<a name="l00212"></a>00212 +<a name="l00213"></a>00213 speThreads->get_mail(<span class="keywordtype">id</span>, 2, alloc_info); +<a name="l00214"></a>00214 command = alloc_info[0]; +<a name="l00215"></a>00215 alloc_size = alloc_info[1]; +<a name="l00216"></a>00216 +<a name="l00217"></a>00217 +<a name="l00218"></a>00218 alloc_info[1] = (<span class="keywordtype">unsigned</span> int)allocate(alloc_size); +<a name="l00219"></a>00219 <span class="comment">/*</span> +<a name="l00220"></a>00220 <span class="comment"> * allocate 줿ΰϺ SPE buffer ˥Ȥ³</span> +<a name="l00221"></a>00221 <span class="comment"> * Ǥ TaskList allocate(new) ϿƤ</span> +<a name="l00222"></a>00222 <span class="comment"> */</span> +<a name="l00223"></a>00223 +<a name="l00224"></a>00224 speThreads->add_output_tasklist(command, (<span class="keywordtype">void</span>*)alloc_info[1], alloc_size); +<a name="l00225"></a>00225 +<a name="l00226"></a>00226 speThreads->send_mail(<span class="keywordtype">id</span>, 2, alloc_info); +<a name="l00227"></a>00227 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (data > MY_SPE_NOP) { +<a name="l00228"></a>00228 __debug_ppe(<span class="stringliteral">"[PPE] recv from [SPE %d] : 0x%x\n"</span>, <span class="keywordtype">id</span>, data); +<a name="l00229"></a>00229 check_task_finish((HTaskPtr)data); +<a name="l00230"></a>00230 } +<a name="l00231"></a>00231 } +<a name="l00232"></a>00232 } +<a name="l00233"></a>00233 +<a name="l00234"></a>00234 <span class="comment">// ¸طƥ֤</span> +<a name="l00235"></a>00235 wakeup_waitTask(); +<a name="l00236"></a>00236 +<a name="l00237"></a>00237 <span class="comment">// SPE TaskList ν</span> +<a name="l00238"></a>00238 set_runTaskList(); +<a name="l00239"></a>00239 +<a name="l00240"></a>00240 <span class="comment">// TaskList Ԥ SPE TaskList </span> +<a name="l00241"></a>00241 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < machineNum; i++) { +<a name="l00242"></a>00242 <span class="keywordflow">if</span> (flag_sendTaskList[i] == 1 && speTaskList_bg[i]->length >= 1 ) { +<a name="l00243"></a>00243 send_taskList(i); +<a name="l00244"></a>00244 } +<a name="l00245"></a>00245 } +<a name="l00246"></a>00246 +<a name="l00247"></a>00247 <span class="comment">// ߤ FifoTaskManager λͤǤ</span> +<a name="l00248"></a>00248 <span class="comment">// PPE Ǽ¹Ԥ륿̵ʤнλ</span> +<a name="l00249"></a>00249 <span class="comment">// Ǥꡢξ⤷ SPE ˥ĤäƤƤ</span> +<a name="l00250"></a>00250 <span class="comment">// ᥤ롼פȴƥץཪλȤʤäƤޤΤ</span> +<a name="l00251"></a>00251 <span class="comment">// ǥȥåפƤޤ</span> +<a name="l00252"></a>00252 } <span class="keywordflow">while</span> (!ppeManager->activeTaskQueue && waitTaskQueue); +<a name="l00253"></a>00253 +<a name="l00254"></a>00254 <span class="keywordflow">return</span> ppeManager->get_runTaskList(); +<a name="l00255"></a>00255 } +<a name="l00256"></a>00256 +<a name="l00266"></a>00266 <span class="keywordtype">void</span> +<a name="l00267"></a>00267 CellTaskManagerImpl::send_taskList(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) +<a name="l00268"></a>00268 { +<a name="l00269"></a>00269 TaskListPtr tmp; +<a name="l00270"></a>00270 +<a name="l00271"></a>00271 tmp = speTaskList[id]; +<a name="l00272"></a>00272 speTaskList[id] = speTaskList_bg[id]; +<a name="l00273"></a>00273 speTaskList_bg[id] = tmp; +<a name="l00274"></a>00274 +<a name="l00275"></a>00275 bufferManager->clear_taskList(speTaskList_bg[<span class="keywordtype">id</span>]); +<a name="l00276"></a>00276 +<a name="l00277"></a>00277 speThreads->send_mail(<span class="keywordtype">id</span>, 1, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *)&speTaskList[<span class="keywordtype">id</span>]); +<a name="l00278"></a>00278 flag_sendTaskList[id] = 0; +<a name="l00279"></a>00279 } +<a name="l00280"></a>00280 +<a name="l00281"></a>00281 +<a name="l00282"></a>00282 <span class="keywordtype">void</span>* +<a name="l00283"></a>00283 CellTaskManagerImpl::allocate(<span class="keywordtype">int</span> size) +<a name="l00284"></a>00284 { +<a name="l00285"></a>00285 <span class="keywordtype">void</span> *buff; +<a name="l00286"></a>00286 +<a name="l00287"></a>00287 posix_memalign(&buff, DEFAULT_ALIGNMENT, size); +<a name="l00288"></a>00288 +<a name="l00289"></a>00289 <span class="comment">// bzero ϥȤ⤤ΤǤꤿʤ</span> +<a name="l00290"></a>00290 bzero(buff, size); +<a name="l00291"></a>00291 +<a name="l00292"></a>00292 <span class="keywordflow">return</span> buff; +<a name="l00293"></a>00293 } +<a name="l00294"></a>00294 +<a name="l00295"></a>00295 <span class="preprocessor">#ifdef __CERIUM_CELL__</span> +<a name="l00296"></a>00296 <span class="preprocessor"></span>TaskManagerImpl* +<a name="l00297"></a>00297 create_impl(<span class="keywordtype">int</span> num) +<a name="l00298"></a>00298 { +<a name="l00299"></a>00299 <span class="keywordflow">return</span> <span class="keyword">new</span> CellTaskManagerImpl(num); +<a name="l00300"></a>00300 } +<a name="l00301"></a>00301 <span class="preprocessor">#endif // __CERIUM_CELL</span> +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/CellTaskManagerImpl_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/CellTaskManagerImpl_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -72,7 +72,7 @@ <a name="l00052"></a>00052 <span class="preprocessor"></span> <a name="l00053"></a>00053 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2SchedExit_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,40 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedExit.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedExit.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SchedExit.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "error.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 SchedTaskBase* +<a name="l00006"></a>00006 SchedExit::next(Scheduler *m, SchedTaskBase *p) +<a name="l00007"></a>00007 { +<a name="l00008"></a>00008 <span class="keyword">delete</span> p; +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 m->show_dma_wait(); +<a name="l00011"></a>00011 __debug(<span class="stringliteral">"SchedExit::next()\n"</span>); +<a name="l00012"></a>00012 +<a name="l00013"></a>00013 <span class="keywordflow">return</span> NULL; +<a name="l00014"></a>00014 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2SchedMail_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,51 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedMail.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedMail.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "SchedMail.h"</span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SchedTaskList.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedExit.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "error.h"</span> +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 SchedMail::SchedMail(Scheduler *sched) +<a name="l00007"></a>00007 { +<a name="l00008"></a>00008 scheduler = sched; +<a name="l00009"></a>00009 } +<a name="l00010"></a>00010 +<a name="l00011"></a>00011 SchedTaskBase* +<a name="l00012"></a>00012 SchedMail::next(Scheduler *m, SchedTaskBase *p) +<a name="l00013"></a>00013 { +<a name="l00014"></a>00014 <span class="keyword">delete</span> p; +<a name="l00015"></a>00015 +<a name="l00016"></a>00016 params_addr = scheduler->mail_read(); +<a name="l00017"></a>00017 +<a name="l00018"></a>00018 __debug(<span class="stringliteral">"[SchedMail:%s]\n"</span>, __FUNCTION__); +<a name="l00019"></a>00019 +<a name="l00020"></a>00020 <span class="keywordflow">if</span> ((<span class="keywordtype">int</span>)params_addr == MY_SPE_COMMAND_EXIT) { +<a name="l00021"></a>00021 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedExit(); +<a name="l00022"></a>00022 } <span class="keywordflow">else</span> { +<a name="l00023"></a>00023 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedTaskList(params_addr, m); +<a name="l00024"></a>00024 } +<a name="l00025"></a>00025 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2SchedNop2Ready_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,64 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedNop2Ready.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedNop2Ready.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SchedNop2Ready.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedTaskList.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "SchedMail.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "error.h"</span> +<a name="l00006"></a>00006 +<a name="l00007"></a>00007 SchedNop2Ready::SchedNop2Ready(Scheduler *cn) +<a name="l00008"></a>00008 { +<a name="l00009"></a>00009 scheduler = cn; +<a name="l00010"></a>00010 } +<a name="l00011"></a>00011 +<a name="l00012"></a>00012 <span class="keywordtype">void</span> +<a name="l00013"></a>00013 SchedNop2Ready::exec(<span class="keywordtype">void</span>) +<a name="l00014"></a>00014 { +<a name="l00015"></a>00015 __debug(<span class="stringliteral">"[SchedNop2Ready:%s]\n"</span>, __FUNCTION__); +<a name="l00016"></a>00016 +<a name="l00017"></a>00017 <span class="comment">//scheduler->mail_write(MY_SPE_STATUS_READY);</span> +<a name="l00018"></a>00018 } +<a name="l00019"></a>00019 +<a name="l00020"></a>00020 SchedTaskBase* +<a name="l00021"></a>00021 SchedNop2Ready::next(Scheduler *m, SchedTaskBase *p) +<a name="l00022"></a>00022 { +<a name="l00023"></a>00023 SchedTaskBase *nextSched; +<a name="l00024"></a>00024 +<a name="l00025"></a>00025 __debug(<span class="stringliteral">"[SchedNop2Ready:%s]\n"</span>, __FUNCTION__); +<a name="l00026"></a>00026 +<a name="l00027"></a>00027 <span class="keyword">delete</span> p; +<a name="l00028"></a>00028 +<a name="l00029"></a>00029 nextSched = scheduler->get_nextRenewTaskList(); +<a name="l00030"></a>00030 +<a name="l00031"></a>00031 <span class="comment">// RenewTask </span> +<a name="l00032"></a>00032 <span class="keywordflow">if</span> (nextSched) { +<a name="l00033"></a>00033 <span class="keywordflow">return</span> nextSched; +<a name="l00034"></a>00034 } <span class="keywordflow">else</span> { +<a name="l00035"></a>00035 scheduler->mail_write(MY_SPE_STATUS_READY); +<a name="l00036"></a>00036 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedMail(scheduler); +<a name="l00037"></a>00037 } +<a name="l00038"></a>00038 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2SchedNop_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,40 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedNop.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedNop.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SchedNop.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedMail.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "error.h"</span> +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 SchedTaskBase* +<a name="l00007"></a>00007 SchedNop::next(Scheduler *m, SchedTaskBase *p) +<a name="l00008"></a>00008 { +<a name="l00009"></a>00009 __debug(<span class="stringliteral">"[SPE] SchedNop::next()"</span>); +<a name="l00010"></a>00010 +<a name="l00011"></a>00011 <span class="keyword">delete</span> p; +<a name="l00012"></a>00012 +<a name="l00013"></a>00013 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedMail(m); +<a name="l00014"></a>00014 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2SchedTaskList_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,101 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedTaskList.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedTaskList.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <string.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedTaskList.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "SchedTask.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "SchedNop2Ready.h"</span> +<a name="l00006"></a>00006 <span class="preprocessor">#include "DmaManager.h"</span> +<a name="l00007"></a>00007 <span class="preprocessor">#include "error.h"</span> +<a name="l00008"></a>00008 +<a name="l00018"></a>00018 SchedTaskList* +<a name="l00019"></a>00019 createSchedTaskList(uint32 next_list, Scheduler* scheduler, <span class="keywordtype">int</span> renew_flag) +<a name="l00020"></a>00020 { +<a name="l00021"></a>00021 SchedTaskList* sched = <span class="keyword">new</span> SchedTaskList(next_list, scheduler); +<a name="l00022"></a>00022 sched->flag_renewTaskList = renew_flag; +<a name="l00023"></a>00023 <span class="keywordflow">return</span> sched; +<a name="l00024"></a>00024 } +<a name="l00025"></a>00025 +<a name="l00026"></a>00026 SchedTaskList::SchedTaskList(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> addr, Scheduler *sched) +<a name="l00027"></a>00027 { +<a name="l00028"></a>00028 params_addr = addr; +<a name="l00029"></a>00029 list = NULL; +<a name="l00030"></a>00030 scheduler = sched; +<a name="l00031"></a>00031 +<a name="l00032"></a>00032 flag_renewTaskList = 0; +<a name="l00033"></a>00033 } +<a name="l00034"></a>00034 +<a name="l00035"></a>00035 +<a name="l00036"></a>00036 <span class="keywordtype">void</span> +<a name="l00037"></a>00037 SchedTaskList::read(<span class="keywordtype">void</span>) +<a name="l00038"></a>00038 { +<a name="l00039"></a>00039 __debug(<span class="stringliteral">"[SchedTaskList:%s]\n"</span>, __FUNCTION__); +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 <span class="keywordflow">if</span> (flag_renewTaskList == SCHED_TASKLIST_NORMAL) { +<a name="l00042"></a>00042 list = scheduler->get_curListBuf(); +<a name="l00043"></a>00043 scheduler->dma_load(list, params_addr, +<a name="l00044"></a>00044 <span class="keyword">sizeof</span>(TaskList), DMA_READ_TASKLIST); +<a name="l00045"></a>00045 } <span class="keywordflow">else</span> { +<a name="l00046"></a>00046 list = (TaskListPtr)params_addr; +<a name="l00047"></a>00047 } +<a name="l00048"></a>00048 } +<a name="l00049"></a>00049 +<a name="l00050"></a>00050 SchedTaskBase* +<a name="l00051"></a>00051 SchedTaskList::next(Scheduler *m, SchedTaskBase *p) +<a name="l00052"></a>00052 { +<a name="l00053"></a>00053 SchedTaskBase *nextSched; +<a name="l00054"></a>00054 +<a name="l00055"></a>00055 __debug(<span class="stringliteral">"[SchedTaskList:%s]\n"</span>, __FUNCTION__); +<a name="l00056"></a>00056 +<a name="l00057"></a>00057 <span class="keyword">delete</span> p; +<a name="l00058"></a>00058 +<a name="l00059"></a>00059 scheduler->dma_wait(DMA_READ_TASKLIST); +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 <span class="keywordflow">if</span> (list->length < 1) { +<a name="l00062"></a>00062 nextSched = <span class="keyword">new</span> SchedNop2Ready(scheduler); +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 <span class="keywordflow">if</span> (flag_renewTaskList == SCHED_TASKLIST_RENEW) { +<a name="l00065"></a>00065 free(list); +<a name="l00066"></a>00066 } +<a name="l00067"></a>00067 +<a name="l00068"></a>00068 } <span class="keywordflow">else</span> { +<a name="l00069"></a>00069 TaskPtr nextTask = &list->tasks[0]; +<a name="l00070"></a>00070 nextSched = createSchedTask(nextTask); +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="keywordflow">if</span> (flag_renewTaskList == SCHED_TASKLIST_RENEW) { +<a name="l00073"></a>00073 ((SchedTask*)nextSched)->__setRenew(); +<a name="l00074"></a>00074 } +<a name="l00075"></a>00075 +<a name="l00076"></a>00076 ((SchedTask*)nextSched)->__init__(list, nextTask, 1, +<a name="l00077"></a>00077 scheduler->get_curReadBuf(), +<a name="l00078"></a>00078 scheduler->get_curWriteBuf(), +<a name="l00079"></a>00079 scheduler); +<a name="l00080"></a>00080 } +<a name="l00081"></a>00081 +<a name="l00082"></a>00082 <span class="keywordflow">return</span> nextSched; +<a name="l00083"></a>00083 } +<a name="l00084"></a>00084 +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2SchedTask_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,480 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedTask.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedTask.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <string.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedTask.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "SchedTaskList.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "SchedNop2Ready.h"</span> +<a name="l00006"></a>00006 <span class="preprocessor">#include "DmaManager.h"</span> +<a name="l00007"></a>00007 <span class="preprocessor">#include "error.h"</span> +<a name="l00008"></a>00008 <span class="preprocessor">#include "TaskManager.h"</span> +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 <span class="keyword">extern</span> Scheduler::TaskObject task_list[MAX_TASK_OBJECT]; +<a name="l00011"></a>00011 +<a name="l00012"></a>00012 <span class="comment">//#define NO_PIPELINE </span> +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 SchedTask* +<a name="l00015"></a>00015 createSchedTask(TaskPtr task) +<a name="l00016"></a>00016 { +<a name="l00017"></a>00017 <span class="keywordflow">return</span> task_list[task->command](); +<a name="l00018"></a>00018 } +<a name="l00019"></a>00019 +<a name="l00020"></a>00020 SchedTask::SchedTask(<span class="keywordtype">void</span>) +<a name="l00021"></a>00021 { +<a name="l00022"></a>00022 __list = NULL; +<a name="l00023"></a>00023 __task = NULL; +<a name="l00024"></a>00024 __inListData = NULL; +<a name="l00025"></a>00025 __outListData = NULL; +<a name="l00026"></a>00026 __readbuf = NULL; +<a name="l00027"></a>00027 __writebuf = NULL; +<a name="l00028"></a>00028 __scheduler = NULL; +<a name="l00029"></a>00029 __taskGroup = NULL; +<a name="l00030"></a>00030 __renew_flag = 0; +<a name="l00031"></a>00031 __cur_index = 0; +<a name="l00032"></a>00032 __flag_renewTask = SCHED_TASK_NORMAL; +<a name="l00033"></a>00033 +<a name="l00034"></a>00034 ex_init = &SchedTask::ex_init_normal; +<a name="l00035"></a>00035 ex_read = &SchedTask::ex_read_normal; +<a name="l00036"></a>00036 ex_exec = &SchedTask::ex_exec_normal; +<a name="l00037"></a>00037 ex_write = &SchedTask::ex_write_normal; +<a name="l00038"></a>00038 ex_next = &SchedTask::ex_next_normal; +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 run_func = &SchedTask::run; +<a name="l00041"></a>00041 } +<a name="l00042"></a>00042 +<a name="l00050"></a>00050 SchedTask::~SchedTask(<span class="keywordtype">void</span>) +<a name="l00051"></a>00051 { +<a name="l00052"></a>00052 <span class="keywordflow">if</span> (__flag_renewTask == SCHED_TASK_RENEW) { +<a name="l00053"></a>00053 free(__inListData); +<a name="l00054"></a>00054 free(__outListData); +<a name="l00055"></a>00055 +<a name="l00064"></a>00064 free(__list); +<a name="l00065"></a>00065 } +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keyword">delete</span> smanager; +<a name="l00068"></a>00068 } +<a name="l00069"></a>00069 +<a name="l00073"></a>00073 <span class="keywordtype">void</span> +<a name="l00074"></a>00074 SchedTask::__setRenew(<span class="keywordtype">void</span>) +<a name="l00075"></a>00075 { +<a name="l00076"></a>00076 __flag_renewTask = SCHED_TASK_RENEW; +<a name="l00077"></a>00077 +<a name="l00078"></a>00078 ex_init = &SchedTask::ex_init_renew; +<a name="l00079"></a>00079 ex_read = &SchedTask::ex_read_renew; +<a name="l00080"></a>00080 ex_exec = &SchedTask::ex_exec_renew; +<a name="l00081"></a>00081 ex_write = &SchedTask::ex_write_renew; +<a name="l00082"></a>00082 ex_next = &SchedTask::ex_next_renew; +<a name="l00083"></a>00083 } +<a name="l00084"></a>00084 +<a name="l00085"></a>00085 <span class="keywordtype">void</span> +<a name="l00086"></a>00086 SchedTask::__init__(TaskListPtr _list, TaskPtr _task, <span class="keywordtype">int</span> index, +<a name="l00087"></a>00087 ListDataPtr rbuf, ListDataPtr wbuf, Scheduler* sc) +<a name="l00088"></a>00088 { +<a name="l00089"></a>00089 __list = _list; +<a name="l00090"></a>00090 __task = _task; +<a name="l00091"></a>00091 __inListData = rbuf; +<a name="l00092"></a>00092 __outListData = wbuf; +<a name="l00093"></a>00093 __scheduler = sc; +<a name="l00094"></a>00094 __cur_index = index; +<a name="l00095"></a>00095 +<a name="l00096"></a>00096 smanager = <span class="keyword">new</span> STaskManager(<span class="keyword">this</span>); +<a name="l00097"></a>00097 +<a name="l00098"></a>00098 __scheduler->mainMem_wait(); +<a name="l00099"></a>00099 +<a name="l00100"></a>00100 (this->*ex_init)(); +<a name="l00101"></a>00101 } +<a name="l00102"></a>00102 +<a name="l00106"></a>00106 <span class="keywordtype">void</span> +<a name="l00107"></a>00107 SchedTask::ex_init_normal(<span class="keywordtype">void</span>) +<a name="l00108"></a>00108 { +<a name="l00109"></a>00109 __scheduler->dma_load(__inListData, (uint32)__task->inData, +<a name="l00110"></a>00110 <span class="keyword">sizeof</span>(ListData), DMA_READ_IN_LIST); +<a name="l00111"></a>00111 __scheduler->dma_load(__outListData, (uint32)__task->outData, +<a name="l00112"></a>00112 <span class="keyword">sizeof</span>(ListData), DMA_READ_OUT_LIST); +<a name="l00113"></a>00113 <span class="preprocessor">#if defined(NO_PIPELINE)</span> +<a name="l00114"></a>00114 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_READ_IN_LIST); +<a name="l00115"></a>00115 __scheduler->dma_wait(DMA_READ_OUT_LIST); +<a name="l00116"></a>00116 <span class="preprocessor">#endif</span> +<a name="l00117"></a>00117 <span class="preprocessor"></span> +<a name="l00118"></a>00118 __taskGroup = <span class="keyword">new</span> TaskGroup; +<a name="l00119"></a>00119 __taskGroup->command = __task->self; +<a name="l00120"></a>00120 } +<a name="l00121"></a>00121 +<a name="l00127"></a>00127 <span class="keywordtype">void</span> +<a name="l00128"></a>00128 SchedTask::ex_init_renew(<span class="keywordtype">void</span>) +<a name="l00129"></a>00129 { +<a name="l00130"></a>00130 __inListData = __task->inData; +<a name="l00131"></a>00131 __outListData = __task->outData; +<a name="l00132"></a>00132 __taskGroup = (TaskGroupPtr)__task->self; +<a name="l00133"></a>00133 } +<a name="l00134"></a>00134 +<a name="l00144"></a>00144 <span class="keywordtype">void</span> +<a name="l00145"></a>00145 SchedTask::read(<span class="keywordtype">void</span>) +<a name="l00146"></a>00146 { +<a name="l00147"></a>00147 __debug(<span class="stringliteral">"[SchedTask:%s]\n"</span>, __FUNCTION__); +<a name="l00148"></a>00148 +<a name="l00149"></a>00149 <span class="preprocessor">#if !defined(NO_PIPELINE)</span> +<a name="l00150"></a>00150 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_READ_IN_LIST); +<a name="l00151"></a>00151 __scheduler->dma_wait(DMA_READ_OUT_LIST); +<a name="l00152"></a>00152 <span class="preprocessor">#endif</span> +<a name="l00153"></a>00153 <span class="preprocessor"></span> +<a name="l00154"></a>00154 __writebuf = __scheduler->allocate(__outListData->size); +<a name="l00155"></a>00155 +<a name="l00156"></a>00156 <span class="comment">// ɤǡĤʤ̵</span> +<a name="l00157"></a>00157 <span class="keywordflow">if</span> (__inListData->length == 0) <span class="keywordflow">return</span>; +<a name="l00158"></a>00158 +<a name="l00159"></a>00159 <span class="comment">// load Input Data</span> +<a name="l00160"></a>00160 __readbuf = __scheduler->allocate(__inListData->size); +<a name="l00161"></a>00161 __scheduler->dma_loadList(__inListData, __readbuf, DMA_READ); +<a name="l00162"></a>00162 +<a name="l00163"></a>00163 <span class="preprocessor">#if defined(NO_PIPELINE)</span> +<a name="l00164"></a>00164 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_READ); +<a name="l00165"></a>00165 <span class="preprocessor">#endif</span> +<a name="l00166"></a>00166 <span class="preprocessor"></span> +<a name="l00167"></a>00167 (this->*ex_read)(); +<a name="l00168"></a>00168 } +<a name="l00169"></a>00169 +<a name="l00170"></a>00170 <span class="keywordtype">void</span> +<a name="l00171"></a>00171 SchedTask::exec(<span class="keywordtype">void</span>) +<a name="l00172"></a>00172 { +<a name="l00173"></a>00173 __debug(<span class="stringliteral">"[SchedTask:%s]\n"</span>, __FUNCTION__); +<a name="l00174"></a>00174 +<a name="l00175"></a>00175 <span class="preprocessor">#if !defined(NO_PIPELINE)</span> +<a name="l00176"></a>00176 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_READ); +<a name="l00177"></a>00177 <span class="preprocessor">#endif</span> +<a name="l00178"></a>00178 <span class="preprocessor"></span> +<a name="l00179"></a>00179 <span class="comment">//run(__readbuf, __writebuf);</span> +<a name="l00180"></a>00180 (this->*run_func)(__readbuf, __writebuf); +<a name="l00181"></a>00181 +<a name="l00182"></a>00182 free(__readbuf); +<a name="l00183"></a>00183 +<a name="l00184"></a>00184 <span class="keywordflow">if</span> (__taskGroup->status() != 0) { +<a name="l00185"></a>00185 __task->self = __taskGroup->command; +<a name="l00186"></a>00186 <span class="keyword">delete</span> __taskGroup; +<a name="l00187"></a>00187 __taskGroup = NULL; +<a name="l00188"></a>00188 } +<a name="l00189"></a>00189 +<a name="l00190"></a>00190 +<a name="l00191"></a>00191 <span class="comment">// ΰ褬ʤ̵</span> +<a name="l00192"></a>00192 <span class="keywordflow">if</span> (__outListData->length > 0) { +<a name="l00193"></a>00193 __scheduler->dma_storeList(__outListData, __writebuf, DMA_WRITE); +<a name="l00194"></a>00194 +<a name="l00195"></a>00195 <span class="preprocessor">#if defined(NO_PIPELINE)</span> +<a name="l00196"></a>00196 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_WRITE); +<a name="l00197"></a>00197 free(__writebuf); +<a name="l00198"></a>00198 <span class="preprocessor">#endif</span> +<a name="l00199"></a>00199 <span class="preprocessor"></span> } +<a name="l00200"></a>00200 +<a name="l00201"></a>00201 (this->*ex_exec)(); +<a name="l00202"></a>00202 } +<a name="l00203"></a>00203 +<a name="l00204"></a>00204 <span class="keywordtype">void</span> +<a name="l00205"></a>00205 SchedTask::write(<span class="keywordtype">void</span>) +<a name="l00206"></a>00206 { +<a name="l00207"></a>00207 __debug(<span class="stringliteral">"[SchedTask:%s]\n"</span>, __FUNCTION__); +<a name="l00208"></a>00208 +<a name="l00209"></a>00209 <span class="preprocessor">#if !defined(NO_PIPELINE)</span> +<a name="l00210"></a>00210 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_WRITE); +<a name="l00211"></a>00211 free(__writebuf); +<a name="l00212"></a>00212 <span class="preprocessor">#endif</span> +<a name="l00213"></a>00213 <span class="preprocessor"></span> +<a name="l00214"></a>00214 <span class="keywordflow">if</span> (__task->self == MY_SPE_NOP) <span class="keywordflow">return</span>; +<a name="l00215"></a>00215 +<a name="l00216"></a>00216 (this->*ex_write)(); +<a name="l00217"></a>00217 } +<a name="l00218"></a>00218 +<a name="l00222"></a>00222 <span class="keywordtype">void</span> +<a name="l00223"></a>00223 SchedTask::ex_read_normal(<span class="keywordtype">void</span>) +<a name="l00224"></a>00224 { +<a name="l00225"></a>00225 } +<a name="l00226"></a>00226 +<a name="l00230"></a>00230 <span class="keywordtype">void</span> +<a name="l00231"></a>00231 SchedTask::ex_read_renew(<span class="keywordtype">void</span>) +<a name="l00232"></a>00232 { +<a name="l00233"></a>00233 } +<a name="l00234"></a>00234 +<a name="l00238"></a>00238 <span class="keywordtype">void</span> +<a name="l00239"></a>00239 SchedTask::ex_exec_normal(<span class="keywordtype">void</span>) +<a name="l00240"></a>00240 { +<a name="l00241"></a>00241 } +<a name="l00242"></a>00242 +<a name="l00246"></a>00246 <span class="keywordtype">void</span> +<a name="l00247"></a>00247 SchedTask::ex_exec_renew(<span class="keywordtype">void</span>) +<a name="l00248"></a>00248 { +<a name="l00249"></a>00249 } +<a name="l00250"></a>00250 +<a name="l00251"></a>00251 +<a name="l00252"></a>00252 +<a name="l00260"></a>00260 <span class="keywordtype">void</span> +<a name="l00261"></a>00261 SchedTask::ex_write_normal(<span class="keywordtype">void</span>) +<a name="l00262"></a>00262 { +<a name="l00267"></a>00267 <span class="keywordflow">if</span> (__renew_flag == 0) { +<a name="l00268"></a>00268 __scheduler->mail_write(__task->self); +<a name="l00269"></a>00269 } +<a name="l00270"></a>00270 } +<a name="l00271"></a>00271 +<a name="l00284"></a>00284 <span class="keywordtype">void</span> +<a name="l00285"></a>00285 SchedTask::ex_write_renew(<span class="keywordtype">void</span>) +<a name="l00286"></a>00286 { +<a name="l00287"></a>00287 uint32 cmd; +<a name="l00288"></a>00288 +<a name="l00289"></a>00289 __taskGroup->remove(__task); +<a name="l00290"></a>00290 cmd = __taskGroup->status(); +<a name="l00291"></a>00291 +<a name="l00292"></a>00292 <span class="comment">// Ǻ줿ƤΥλ</span> +<a name="l00293"></a>00293 <span class="keywordflow">if</span> (cmd != 0) { +<a name="l00294"></a>00294 <span class="keyword">delete</span> __taskGroup; +<a name="l00295"></a>00295 __scheduler->mail_write(cmd); +<a name="l00296"></a>00296 } +<a name="l00297"></a>00297 } +<a name="l00298"></a>00298 +<a name="l00299"></a>00299 SchedTaskBase* +<a name="l00300"></a>00300 SchedTask::next(Scheduler *m, SchedTaskBase *p) +<a name="l00301"></a>00301 { +<a name="l00302"></a>00302 __debug(<span class="stringliteral">"[SchedTask:%s]\n"</span>, __FUNCTION__); +<a name="l00303"></a>00303 +<a name="l00304"></a>00304 <span class="keyword">delete</span> p; +<a name="l00305"></a>00305 +<a name="l00306"></a>00306 <span class="keywordflow">return</span> (this->*ex_next)(); +<a name="l00307"></a>00307 } +<a name="l00308"></a>00308 +<a name="l00309"></a>00309 SchedTaskBase* +<a name="l00310"></a>00310 SchedTask::ex_next_normal(<span class="keywordtype">void</span>) +<a name="l00311"></a>00311 { +<a name="l00312"></a>00312 <span class="keywordflow">if</span> (__cur_index < __list->length) { +<a name="l00313"></a>00313 SchedTaskBase *nextSched; +<a name="l00314"></a>00314 +<a name="l00315"></a>00315 nextSched = __scheduler->get_nextRenewTaskList(); +<a name="l00316"></a>00316 +<a name="l00317"></a>00317 <span class="comment">// RenewTask </span> +<a name="l00318"></a>00318 <span class="keywordflow">if</span> (nextSched) { +<a name="l00319"></a>00319 __scheduler->set_backupTaskList(__list); +<a name="l00320"></a>00320 __scheduler->set_backupTaskListIndex(__cur_index); +<a name="l00321"></a>00321 <span class="keywordflow">return</span> nextSched; +<a name="l00322"></a>00322 } <span class="keywordflow">else</span> { +<a name="l00323"></a>00323 TaskPtr nextTask = &__list->tasks[__cur_index++]; +<a name="l00324"></a>00324 nextSched = createSchedTask(nextTask); +<a name="l00325"></a>00325 ((SchedTask*)nextSched)->__init__(__list, nextTask, __cur_index, +<a name="l00326"></a>00326 __scheduler->get_curReadBuf(), +<a name="l00327"></a>00327 __scheduler->get_curWriteBuf(), +<a name="l00328"></a>00328 __scheduler); +<a name="l00329"></a>00329 <span class="keywordflow">return</span> nextSched; +<a name="l00330"></a>00330 } +<a name="l00331"></a>00331 } <span class="keywordflow">else</span> { +<a name="l00332"></a>00332 uint32 nextList = (uint32)__list->next; +<a name="l00333"></a>00333 +<a name="l00334"></a>00334 if (nextList == 0) { +<a name="l00335"></a>00335 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedNop2Ready(__scheduler); +<a name="l00336"></a>00336 } <span class="keywordflow">else</span> { +<a name="l00337"></a>00337 <span class="keywordflow">return</span> createSchedTaskList(nextList, __scheduler, +<a name="l00338"></a>00338 SCHED_TASKLIST_NORMAL); +<a name="l00339"></a>00339 } +<a name="l00340"></a>00340 } +<a name="l00341"></a>00341 } +<a name="l00342"></a>00342 +<a name="l00346"></a>00346 SchedTaskBase* +<a name="l00347"></a>00347 SchedTask::ex_next_renew(<span class="keywordtype">void</span>) +<a name="l00348"></a>00348 { +<a name="l00349"></a>00349 TaskPtr nextTask; +<a name="l00350"></a>00350 SchedTask *nextSched; +<a name="l00351"></a>00351 +<a name="l00352"></a>00352 <span class="keywordflow">if</span> (__cur_index < __list->length) { +<a name="l00353"></a>00353 nextTask = &__list->tasks[__cur_index++]; +<a name="l00354"></a>00354 nextSched = createSchedTask(nextTask); +<a name="l00355"></a>00355 +<a name="l00356"></a>00356 <span class="comment">// RenewTaskList ¹ʤΤ</span> +<a name="l00357"></a>00357 nextSched->__setRenew(); +<a name="l00358"></a>00358 nextSched->__init__(__list, nextTask, __cur_index, +<a name="l00359"></a>00359 __scheduler->get_curReadBuf(), +<a name="l00360"></a>00360 __scheduler->get_curWriteBuf(), +<a name="l00361"></a>00361 __scheduler); +<a name="l00362"></a>00362 +<a name="l00366"></a>00366 __list = NULL; +<a name="l00367"></a>00367 <span class="keywordflow">return</span> nextSched; +<a name="l00368"></a>00368 } <span class="keywordflow">else</span> { +<a name="l00369"></a>00369 SchedTaskBase *nextList; +<a name="l00370"></a>00370 +<a name="l00371"></a>00371 nextList = __scheduler->get_nextRenewTaskList(); +<a name="l00372"></a>00372 +<a name="l00373"></a>00373 <span class="keywordflow">if</span> (nextList) { +<a name="l00374"></a>00374 <span class="keywordflow">return</span> nextList; +<a name="l00375"></a>00375 } <span class="keywordflow">else</span> { +<a name="l00376"></a>00376 TaskListPtr nextList = __scheduler->get_backupTaskList(); +<a name="l00377"></a>00377 +<a name="l00378"></a>00378 <span class="comment">// Ǥ TaskList </span> +<a name="l00379"></a>00379 <span class="keywordflow">if</span> (nextList) { +<a name="l00380"></a>00380 __cur_index = __scheduler->get_backupTaskListIndex(); +<a name="l00381"></a>00381 +<a name="l00382"></a>00382 nextTask = &nextList->tasks[__cur_index++]; +<a name="l00383"></a>00383 nextSched = createSchedTask(nextTask); +<a name="l00384"></a>00384 +<a name="l00385"></a>00385 nextSched->__init__(nextList, nextTask, __cur_index, +<a name="l00386"></a>00386 __scheduler->get_curReadBuf(), +<a name="l00387"></a>00387 __scheduler->get_curWriteBuf(), +<a name="l00388"></a>00388 __scheduler); +<a name="l00389"></a>00389 <span class="keywordflow">return</span> nextSched; +<a name="l00390"></a>00390 } <span class="keywordflow">else</span> { +<a name="l00391"></a>00391 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedNop2Ready(__scheduler); +<a name="l00392"></a>00392 } +<a name="l00393"></a>00393 } +<a name="l00394"></a>00394 } +<a name="l00395"></a>00395 } +<a name="l00396"></a>00396 +<a name="l00397"></a>00397 <span class="keywordtype">int</span> +<a name="l00398"></a>00398 SchedTask::get_cpuid(<span class="keywordtype">void</span>) +<a name="l00399"></a>00399 { +<a name="l00400"></a>00400 <span class="keywordflow">return</span> __scheduler->id; +<a name="l00401"></a>00401 } +<a name="l00402"></a>00402 +<a name="l00407"></a>00407 <span class="keywordtype">void</span>* +<a name="l00408"></a>00408 SchedTask::get_input(<span class="keywordtype">void</span> *buff, <span class="keywordtype">int</span> index) +<a name="l00409"></a>00409 { +<a name="l00410"></a>00410 <span class="keywordflow">if</span> (buff != NULL) { +<a name="l00411"></a>00411 <span class="keywordflow">return</span> (<span class="keywordtype">void</span>*)((int)buff + __inListData->bound[index]); +<a name="l00412"></a>00412 } <span class="keywordflow">else</span> { +<a name="l00413"></a>00413 <span class="keywordflow">return</span> NULL; +<a name="l00414"></a>00414 } +<a name="l00415"></a>00415 } +<a name="l00416"></a>00416 +<a name="l00420"></a>00420 uint32 +<a name="l00421"></a>00421 SchedTask::get_inputAddr(<span class="keywordtype">int</span> index) +<a name="l00422"></a>00422 { +<a name="l00423"></a>00423 <span class="keywordflow">return</span> __inListData->element[index].addr; +<a name="l00424"></a>00424 } +<a name="l00425"></a>00425 +<a name="l00429"></a>00429 <span class="keywordtype">int</span> +<a name="l00430"></a>00430 SchedTask::get_inputSize(<span class="keywordtype">int</span> index) +<a name="l00431"></a>00431 { +<a name="l00432"></a>00432 <span class="keywordflow">return</span> __inListData->element[index].size; +<a name="l00433"></a>00433 } +<a name="l00434"></a>00434 +<a name="l00438"></a>00438 <span class="keywordtype">void</span>* +<a name="l00439"></a>00439 SchedTask::get_output(<span class="keywordtype">void</span> *buff, <span class="keywordtype">int</span> index) +<a name="l00440"></a>00440 { +<a name="l00441"></a>00441 <span class="keywordflow">if</span> (buff != NULL) { +<a name="l00442"></a>00442 <span class="keywordflow">return</span> (<span class="keywordtype">void</span>*)((int)buff + __outListData->bound[index]); +<a name="l00443"></a>00443 } <span class="keywordflow">else</span> { +<a name="l00444"></a>00444 <span class="keywordflow">return</span> NULL; +<a name="l00445"></a>00445 } +<a name="l00446"></a>00446 } +<a name="l00447"></a>00447 +<a name="l00451"></a>00451 uint32 +<a name="l00452"></a>00452 SchedTask::get_outputAddr(<span class="keywordtype">int</span> index) +<a name="l00453"></a>00453 { +<a name="l00454"></a>00454 <span class="keywordflow">return</span> __outListData->element[index].addr; +<a name="l00455"></a>00455 } +<a name="l00456"></a>00456 +<a name="l00460"></a>00460 <span class="keywordtype">int</span> +<a name="l00461"></a>00461 SchedTask::get_outputSize(<span class="keywordtype">int</span> index) +<a name="l00462"></a>00462 { +<a name="l00463"></a>00463 <span class="keywordflow">return</span> __outListData->element[index].size; +<a name="l00464"></a>00464 } +<a name="l00465"></a>00465 +<a name="l00466"></a>00466 <span class="keywordtype">int</span> +<a name="l00467"></a>00467 SchedTask::get_param(<span class="keywordtype">int</span> index) +<a name="l00468"></a>00468 { +<a name="l00469"></a>00469 <span class="keywordflow">return</span> __task->param[index]; +<a name="l00470"></a>00470 } +<a name="l00471"></a>00471 +<a name="l00472"></a>00472 TaskPtr +<a name="l00473"></a>00473 SchedTask::create_task(<span class="keywordtype">int</span> cmd) +<a name="l00474"></a>00474 { +<a name="l00475"></a>00475 TaskListPtr taskList = __scheduler->get_renewListBuf(); +<a name="l00476"></a>00476 TaskPtr p = &taskList->tasks[taskList->length++]; +<a name="l00477"></a>00477 p->command = cmd; +<a name="l00478"></a>00478 +<a name="l00479"></a>00479 p->inData = (ListData*)__scheduler->allocate(<span class="keyword">sizeof</span>(ListData)); +<a name="l00480"></a>00480 p->outData = (ListData*)__scheduler->allocate(<span class="keyword">sizeof</span>(ListData)); +<a name="l00481"></a>00481 +<a name="l00482"></a>00482 p->inData->clear(); +<a name="l00483"></a>00483 p->outData->clear(); +<a name="l00484"></a>00484 +<a name="l00485"></a>00485 p->self = MY_SPE_NOP; +<a name="l00486"></a>00486 p->param_size = 0; +<a name="l00487"></a>00487 +<a name="l00488"></a>00488 <span class="keywordflow">return</span> p; +<a name="l00489"></a>00489 } +<a name="l00490"></a>00490 +<a name="l00497"></a>00497 <span class="keywordtype">void</span> +<a name="l00498"></a>00498 SchedTask::wait_task(TaskPtr waitTask) +<a name="l00499"></a>00499 { +<a name="l00500"></a>00500 waitTask->self = (uint32)__taskGroup; +<a name="l00501"></a>00501 +<a name="l00502"></a>00502 __scheduler->add_groupTask(__taskGroup, waitTask); +<a name="l00503"></a>00503 +<a name="l00504"></a>00504 __renew_flag++; +<a name="l00505"></a>00505 } +<a name="l00506"></a>00506 +<a name="l00507"></a>00507 <span class="keywordtype">void</span>* +<a name="l00508"></a>00508 SchedTask::global_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) { +<a name="l00509"></a>00509 <span class="keywordflow">return</span> __scheduler->global_alloc(<span class="keywordtype">id</span>, size); +<a name="l00510"></a>00510 } +<a name="l00511"></a>00511 +<a name="l00512"></a>00512 <span class="keywordtype">void</span>* +<a name="l00513"></a>00513 SchedTask::global_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) { +<a name="l00514"></a>00514 <span class="keywordflow">return</span> __scheduler->global_get(<span class="keywordtype">id</span>); +<a name="l00515"></a>00515 } +<a name="l00516"></a>00516 +<a name="l00517"></a>00517 <span class="keywordtype">void</span> +<a name="l00518"></a>00518 SchedTask::global_free(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) { +<a name="l00519"></a>00519 __scheduler->global_free(<span class="keywordtype">id</span>); +<a name="l00520"></a>00520 } +<a name="l00521"></a>00521 +<a name="l00522"></a>00522 <span class="keywordtype">void</span> +<a name="l00523"></a>00523 SchedTask::mainMem_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) { +<a name="l00524"></a>00524 __scheduler->mainMem_alloc(<span class="keywordtype">id</span>, size); +<a name="l00525"></a>00525 } +<a name="l00526"></a>00526 +<a name="l00527"></a>00527 <span class="keywordtype">void</span> +<a name="l00528"></a>00528 SchedTask::mainMem_wait(<span class="keywordtype">void</span>) { +<a name="l00529"></a>00529 __scheduler->mainMem_wait(); +<a name="l00530"></a>00530 } +<a name="l00531"></a>00531 +<a name="l00532"></a>00532 <span class="keywordtype">void</span>* +<a name="l00533"></a>00533 SchedTask::mainMem_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) { +<a name="l00534"></a>00534 <span class="keywordflow">return</span> __scheduler->mainMem_get(<span class="keywordtype">id</span>); +<a name="l00535"></a>00535 } +<a name="l00536"></a>00536 +<a name="l00537"></a>00537 <span class="keywordtype">void</span>* +<a name="l00538"></a>00538 SchedTask::allocate(<span class="keywordtype">int</span> size) { +<a name="l00539"></a>00539 <span class="keywordflow">return</span> __scheduler->allocate(size); +<a name="l00540"></a>00540 } +<a name="l00541"></a>00541 +<a name="l00542"></a>00542 <span class="keywordtype">void</span> +<a name="l00543"></a>00543 SchedTask::dma_load(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) { +<a name="l00544"></a>00544 __scheduler->dma_load(buf, addr, size, mask); +<a name="l00545"></a>00545 } +<a name="l00546"></a>00546 +<a name="l00547"></a>00547 <span class="keywordtype">void</span> +<a name="l00548"></a>00548 SchedTask::dma_store(<span class="keywordtype">void</span> *buf,uint32 addr, uint32 size, uint32 mask) { +<a name="l00549"></a>00549 __scheduler->dma_store(buf, addr, size, mask); +<a name="l00550"></a>00550 } +<a name="l00551"></a>00551 +<a name="l00552"></a>00552 <span class="keywordtype">void</span> +<a name="l00553"></a>00553 SchedTask::dma_wait(uint32 mask) { +<a name="l00554"></a>00554 __scheduler->dma_wait(mask); +<a name="l00555"></a>00555 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2Scheduler_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,304 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: Scheduler.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>Scheduler.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "Scheduler.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "SchedNop.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "error.h"</span> +<a name="l00006"></a>00006 +<a name="l00007"></a>00007 Scheduler::TaskObject task_list[MAX_TASK_OBJECT]; +<a name="l00008"></a>00008 +<a name="l00009"></a>00009 Scheduler::~Scheduler(<span class="keywordtype">void</span>) +<a name="l00010"></a>00010 { +<a name="l00011"></a>00011 <span class="keyword">delete</span> connector; +<a name="l00012"></a>00012 } +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 <span class="keywordtype">void</span> +<a name="l00015"></a>00015 Scheduler::init(<span class="keywordtype">void</span>) +<a name="l00016"></a>00016 { +<a name="l00017"></a>00017 init_impl(); +<a name="l00018"></a>00018 +<a name="l00019"></a>00019 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 2; i++) { +<a name="l00020"></a>00020 buff_taskList[i] = (TaskListPtr)allocate(<span class="keyword">sizeof</span>(TaskList)); +<a name="l00021"></a>00021 buff_inListData[i] = (ListDataPtr)allocate(<span class="keyword">sizeof</span>(ListData)); +<a name="l00022"></a>00022 buff_outListData[i] = (ListDataPtr)allocate(<span class="keyword">sizeof</span>(ListData)); +<a name="l00023"></a>00023 } +<a name="l00024"></a>00024 +<a name="l00025"></a>00025 buffFlag_taskList = 0; +<a name="l00026"></a>00026 buffFlag_inListData = 0; +<a name="l00027"></a>00027 buffFlag_outListData = 0; +<a name="l00028"></a>00028 flag_renewTaskList = 0; +<a name="l00029"></a>00029 +<a name="l00030"></a>00030 <span class="comment">// bzero Ǥ⤤</span> +<a name="l00031"></a>00031 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < MAX_GLOBAL_AREA; i++) { +<a name="l00032"></a>00032 globalList[i] = NULL; +<a name="l00033"></a>00033 } +<a name="l00034"></a>00034 +<a name="l00035"></a>00035 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < MAX_MAINMEM_AREA; i++) { +<a name="l00036"></a>00036 mainMemList[i] = NULL; +<a name="l00037"></a>00037 } +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 taskGroup = <span class="keyword">new</span> TaskGroup; +<a name="l00041"></a>00041 renewTop_taskList = NULL; +<a name="l00042"></a>00042 renewCur_taskList = NULL; +<a name="l00043"></a>00043 } +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <span class="keywordtype">void</span> +<a name="l00046"></a>00046 Scheduler::run(<span class="keywordtype">void</span>) +<a name="l00047"></a>00047 { +<a name="l00048"></a>00048 SchedTaskBase* taskTmp; +<a name="l00049"></a>00049 +<a name="l00050"></a>00050 task1 = <span class="keyword">new</span> SchedNop(); +<a name="l00051"></a>00051 task2 = <span class="keyword">new</span> SchedNop(); +<a name="l00052"></a>00052 task3 = <span class="keyword">new</span> SchedNop(); +<a name="l00053"></a>00053 +<a name="l00054"></a>00054 <span class="comment">// main loop</span> +<a name="l00055"></a>00055 <span class="keywordflow">do</span> { +<a name="l00056"></a>00056 __debug(<span class="stringliteral">"----------\n"</span>); +<a name="l00057"></a>00057 task3->write(); +<a name="l00058"></a>00058 task2->exec(); +<a name="l00059"></a>00059 task1->read(); +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 taskTmp = task3; +<a name="l00062"></a>00062 task3 = task2; +<a name="l00063"></a>00063 task2 = task1; +<a name="l00064"></a>00064 task1 = task1->next(<span class="keyword">this</span>, taskTmp); +<a name="l00065"></a>00065 } <span class="keywordflow">while</span> (task1); +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keyword">delete</span> task3; +<a name="l00068"></a>00068 <span class="keyword">delete</span> task2; +<a name="l00069"></a>00069 } +<a name="l00070"></a>00070 +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="keywordtype">void</span> +<a name="l00073"></a>00073 Scheduler::finish(<span class="keywordtype">void</span>) +<a name="l00074"></a>00074 { +<a name="l00075"></a>00075 free(buff_taskList[0]); +<a name="l00076"></a>00076 free(buff_taskList[1]); +<a name="l00077"></a>00077 free(buff_inListData[0]); +<a name="l00078"></a>00078 free(buff_inListData[1]); +<a name="l00079"></a>00079 free(buff_outListData[0]); +<a name="l00080"></a>00080 free(buff_outListData[1]); +<a name="l00081"></a>00081 } +<a name="l00082"></a>00082 +<a name="l00087"></a>00087 TaskListPtr +<a name="l00088"></a>00088 Scheduler::get_curListBuf(<span class="keywordtype">void</span>) +<a name="l00089"></a>00089 { +<a name="l00090"></a>00090 buffFlag_taskList ^= 1; +<a name="l00091"></a>00091 +<a name="l00092"></a>00092 <span class="keywordflow">return</span> buff_taskList[buffFlag_taskList]; +<a name="l00093"></a>00093 } +<a name="l00094"></a>00094 +<a name="l00095"></a>00095 +<a name="l00100"></a>00100 ListDataPtr +<a name="l00101"></a>00101 Scheduler::get_curWriteBuf(<span class="keywordtype">void</span>) +<a name="l00102"></a>00102 { +<a name="l00103"></a>00103 buffFlag_outListData ^= 1; +<a name="l00104"></a>00104 <span class="keywordflow">return</span> buff_outListData[buffFlag_outListData]; +<a name="l00105"></a>00105 } +<a name="l00106"></a>00106 +<a name="l00107"></a>00107 +<a name="l00108"></a>00108 ListDataPtr +<a name="l00109"></a>00109 Scheduler::get_curReadBuf(<span class="keywordtype">void</span>) +<a name="l00110"></a>00110 { +<a name="l00111"></a>00111 buffFlag_inListData ^= 1; +<a name="l00112"></a>00112 <span class="keywordflow">return</span> buff_inListData[buffFlag_inListData]; +<a name="l00113"></a>00113 } +<a name="l00114"></a>00114 +<a name="l00124"></a>00124 TaskListPtr +<a name="l00125"></a>00125 Scheduler::get_renewListBuf(<span class="keywordtype">void</span>) +<a name="l00126"></a>00126 { +<a name="l00127"></a>00127 <span class="keywordflow">if</span> (renewCur_taskList && renewCur_taskList->length < TASK_MAX_SIZE) { +<a name="l00128"></a>00128 <span class="keywordflow">return</span> renewCur_taskList; +<a name="l00129"></a>00129 } <span class="keywordflow">else</span> { +<a name="l00130"></a>00130 TaskListPtr newList = (TaskListPtr)allocate(<span class="keyword">sizeof</span>(TaskList)); +<a name="l00131"></a>00131 newList->length = 0; +<a name="l00132"></a>00132 newList->next = NULL; +<a name="l00133"></a>00133 renewTop_taskList = TaskList::append(renewTop_taskList, newList); +<a name="l00134"></a>00134 renewCur_taskList = newList; +<a name="l00135"></a>00135 <span class="keywordflow">return</span> newList; +<a name="l00136"></a>00136 } +<a name="l00137"></a>00137 } +<a name="l00138"></a>00138 +<a name="l00147"></a>00147 SchedTaskList* +<a name="l00148"></a>00148 Scheduler::get_nextRenewTaskList(<span class="keywordtype">void</span>) +<a name="l00149"></a>00149 { +<a name="l00150"></a>00150 <span class="keywordflow">if</span> (renewTop_taskList) { +<a name="l00151"></a>00151 TaskListPtr list = renewTop_taskList; +<a name="l00152"></a>00152 renewTop_taskList = renewTop_taskList->next; +<a name="l00153"></a>00153 renewCur_taskList = NULL; +<a name="l00154"></a>00154 +<a name="l00155"></a>00155 list->next = NULL; +<a name="l00156"></a>00156 SchedTaskList *sched +<a name="l00157"></a>00157 = createSchedTaskList((uint32)list, <span class="keyword">this</span>, SCHED_TASKLIST_RENEW); +<a name="l00158"></a>00158 <span class="keywordflow">return</span> sched; +<a name="l00159"></a>00159 } <span class="keywordflow">else</span> { +<a name="l00160"></a>00160 <span class="keywordflow">return</span> NULL; +<a name="l00161"></a>00161 } +<a name="l00162"></a>00162 } +<a name="l00163"></a>00163 +<a name="l00164"></a>00164 <span class="keywordtype">void</span> +<a name="l00165"></a>00165 Scheduler::set_backupTaskList(TaskListPtr cur_taskList) +<a name="l00166"></a>00166 { +<a name="l00167"></a>00167 bak_curTaskList = cur_taskList; +<a name="l00168"></a>00168 } +<a name="l00169"></a>00169 +<a name="l00170"></a>00170 <span class="keywordtype">void</span> +<a name="l00171"></a>00171 Scheduler::set_backupTaskListIndex(<span class="keywordtype">int</span> cur_index) +<a name="l00172"></a>00172 { +<a name="l00173"></a>00173 bakIndex_taskList = cur_index; +<a name="l00174"></a>00174 } +<a name="l00175"></a>00175 +<a name="l00182"></a>00182 TaskListPtr +<a name="l00183"></a>00183 Scheduler::get_backupTaskList(<span class="keywordtype">void</span>) +<a name="l00184"></a>00184 { +<a name="l00185"></a>00185 TaskListPtr ret = bak_curTaskList; +<a name="l00186"></a>00186 +<a name="l00187"></a>00187 bak_curTaskList = NULL; +<a name="l00188"></a>00188 <span class="keywordflow">return</span> ret; +<a name="l00189"></a>00189 } +<a name="l00190"></a>00190 +<a name="l00191"></a>00191 <span class="keywordtype">int</span> +<a name="l00192"></a>00192 Scheduler::get_backupTaskListIndex(<span class="keywordtype">void</span>) +<a name="l00193"></a>00193 { +<a name="l00194"></a>00194 <span class="keywordtype">int</span> ret = bakIndex_taskList; +<a name="l00195"></a>00195 +<a name="l00196"></a>00196 bakIndex_taskList = 0; +<a name="l00197"></a>00197 <span class="keywordflow">return</span> ret; +<a name="l00198"></a>00198 } +<a name="l00199"></a>00199 +<a name="l00200"></a>00200 <span class="keywordtype">void</span> +<a name="l00201"></a>00201 Scheduler::dma_load(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) +<a name="l00202"></a>00202 { +<a name="l00203"></a>00203 connector->dma_load(buf, addr, size, mask); +<a name="l00204"></a>00204 } +<a name="l00205"></a>00205 +<a name="l00206"></a>00206 <span class="keywordtype">void</span> +<a name="l00207"></a>00207 Scheduler::dma_store(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) +<a name="l00208"></a>00208 { +<a name="l00209"></a>00209 connector->dma_store(buf, addr, size, mask); +<a name="l00210"></a>00210 } +<a name="l00211"></a>00211 +<a name="l00212"></a>00212 <span class="keywordtype">void</span> +<a name="l00213"></a>00213 Scheduler::dma_wait(uint32 mask) +<a name="l00214"></a>00214 { +<a name="l00215"></a>00215 connector->dma_wait(mask); +<a name="l00216"></a>00216 } +<a name="l00217"></a>00217 +<a name="l00218"></a>00218 <span class="keywordtype">void</span> +<a name="l00219"></a>00219 Scheduler::dma_loadList(ListDataPtr list, <span class="keywordtype">void</span> *buff, uint32 mask) +<a name="l00220"></a>00220 { +<a name="l00221"></a>00221 connector->dma_loadList(list, buff, mask); +<a name="l00222"></a>00222 } +<a name="l00223"></a>00223 +<a name="l00224"></a>00224 +<a name="l00225"></a>00225 <span class="keywordtype">void</span> +<a name="l00226"></a>00226 Scheduler::dma_storeList(ListDataPtr list, <span class="keywordtype">void</span> *buff, uint32 mask) +<a name="l00227"></a>00227 { +<a name="l00228"></a>00228 <span class="keywordflow">return</span> connector->dma_storeList(list, buff, mask); +<a name="l00229"></a>00229 } +<a name="l00230"></a>00230 +<a name="l00231"></a>00231 <span class="keywordtype">void</span> +<a name="l00232"></a>00232 Scheduler::mail_write(uint32 data) +<a name="l00233"></a>00233 { +<a name="l00234"></a>00234 connector->mail_write(data); +<a name="l00235"></a>00235 } +<a name="l00236"></a>00236 +<a name="l00237"></a>00237 uint32 +<a name="l00238"></a>00238 Scheduler::mail_read(<span class="keywordtype">void</span>) +<a name="l00239"></a>00239 { +<a name="l00240"></a>00240 <span class="keywordflow">return</span> connector->mail_read(); +<a name="l00241"></a>00241 } +<a name="l00242"></a>00242 +<a name="l00243"></a>00243 TaskGroupPtr +<a name="l00244"></a>00244 Scheduler::set_groupTask(uint32 command) +<a name="l00245"></a>00245 { +<a name="l00246"></a>00246 TaskGroupPtr ret = taskGroup; +<a name="l00247"></a>00247 +<a name="l00248"></a>00248 reload_groupTask(); +<a name="l00249"></a>00249 +<a name="l00250"></a>00250 ret->command = command; +<a name="l00251"></a>00251 <span class="keywordflow">return</span> ret; +<a name="l00252"></a>00252 } +<a name="l00253"></a>00253 +<a name="l00254"></a>00254 <span class="keywordtype">void</span> +<a name="l00255"></a>00255 Scheduler::add_groupTask(TaskGroupPtr group, TaskPtr task) +<a name="l00256"></a>00256 { +<a name="l00257"></a>00257 group->add(task); +<a name="l00258"></a>00258 } +<a name="l00259"></a>00259 +<a name="l00260"></a>00260 <span class="keywordtype">void</span> +<a name="l00261"></a>00261 Scheduler::remove_groupTask(TaskGroupPtr group, TaskPtr task) +<a name="l00262"></a>00262 { +<a name="l00263"></a>00263 group->remove(task); +<a name="l00264"></a>00264 } +<a name="l00265"></a>00265 +<a name="l00266"></a>00266 <span class="keywordtype">void</span> +<a name="l00267"></a>00267 Scheduler::reload_groupTask(<span class="keywordtype">void</span>) +<a name="l00268"></a>00268 { +<a name="l00269"></a>00269 taskGroup = <span class="keyword">new</span> TaskGroup; +<a name="l00270"></a>00270 } +<a name="l00271"></a>00271 +<a name="l00272"></a>00272 uint32 +<a name="l00273"></a>00273 Scheduler::status_groupTask(TaskGroupPtr group) +<a name="l00274"></a>00274 { +<a name="l00275"></a>00275 <span class="keywordflow">return</span> group->status(); +<a name="l00276"></a>00276 } +<a name="l00277"></a>00277 +<a name="l00278"></a>00278 <span class="keywordtype">void</span>* +<a name="l00279"></a>00279 Scheduler::global_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) +<a name="l00280"></a>00280 { +<a name="l00281"></a>00281 globalList[id] = allocate(size); +<a name="l00282"></a>00282 <span class="keywordflow">return</span> globalList[id]; +<a name="l00283"></a>00283 } +<a name="l00284"></a>00284 +<a name="l00285"></a>00285 <span class="keywordtype">void</span>* +<a name="l00286"></a>00286 Scheduler::global_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) +<a name="l00287"></a>00287 { +<a name="l00288"></a>00288 <span class="keywordflow">return</span> globalList[id]; +<a name="l00289"></a>00289 } +<a name="l00290"></a>00290 +<a name="l00291"></a>00291 <span class="keywordtype">void</span> +<a name="l00292"></a>00292 Scheduler::global_free(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) +<a name="l00293"></a>00293 { +<a name="l00294"></a>00294 free(globalList[<span class="keywordtype">id</span>]); +<a name="l00295"></a>00295 globalList[id] = NULL; +<a name="l00296"></a>00296 } +<a name="l00297"></a>00297 +<a name="l00302"></a>00302 <span class="keywordtype">void</span>* +<a name="l00303"></a>00303 Scheduler::mainMem_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) +<a name="l00304"></a>00304 { +<a name="l00305"></a>00305 <span class="keywordflow">return</span> mainMemList[id]; +<a name="l00306"></a>00306 } +<a name="l00307"></a>00307 +<a name="l00308"></a>00308 +<a name="l00313"></a>00313 <span class="keywordtype">void</span> +<a name="l00314"></a>00314 register_task(<span class="keywordtype">int</span> cmd, Scheduler::TaskObject task) +<a name="l00315"></a>00315 { +<a name="l00316"></a>00316 task_list[cmd] = task; +<a name="l00317"></a>00317 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2TaskGroup_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,69 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskGroup.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskGroup.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "TaskGroup.h"</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="keywordtype">void</span> +<a name="l00004"></a>00004 TaskGroup::add(TaskPtr add_task) { +<a name="l00005"></a>00005 TaskQueuePtr q = <span class="keyword">new</span> TaskQueue(add_task); +<a name="l00006"></a>00006 group = TaskQueue::append(group, q); +<a name="l00007"></a>00007 } +<a name="l00008"></a>00008 +<a name="l00009"></a>00009 <span class="keywordtype">void</span> +<a name="l00010"></a>00010 TaskGroup::remove(TaskPtr delete_task) { +<a name="l00011"></a>00011 TaskQueuePtr p = group; +<a name="l00012"></a>00012 TaskQueuePtr p1; +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 <span class="keywordflow">if</span> (p == NULL) <span class="keywordflow">return</span>; +<a name="l00015"></a>00015 +<a name="l00016"></a>00016 <span class="keywordflow">if</span> (p->task == delete_task) { +<a name="l00017"></a>00017 group = group->next; +<a name="l00018"></a>00018 <span class="keyword">delete</span> p; +<a name="l00019"></a>00019 } <span class="keywordflow">else</span> { +<a name="l00020"></a>00020 p1 = p->next; +<a name="l00021"></a>00021 <span class="keywordflow">while</span> (p1 && p1->task != delete_task) { +<a name="l00022"></a>00022 p1 = p1->next; +<a name="l00023"></a>00023 p = p->next; +<a name="l00024"></a>00024 } +<a name="l00025"></a>00025 <span class="keywordflow">if</span> (p1) { +<a name="l00026"></a>00026 p->next = p1->next; +<a name="l00027"></a>00027 <span class="keyword">delete</span> p1; +<a name="l00028"></a>00028 } +<a name="l00029"></a>00029 } +<a name="l00030"></a>00030 } +<a name="l00031"></a>00031 +<a name="l00038"></a>00038 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> +<a name="l00039"></a>00039 TaskGroup::status(<span class="keywordtype">void</span>) { +<a name="l00046"></a>00046 <span class="preprocessor">#if 1</span> +<a name="l00047"></a>00047 <span class="preprocessor"></span> <span class="keywordflow">return</span> (group == NULL) * command; +<a name="l00048"></a>00048 <span class="preprocessor">#else</span> +<a name="l00049"></a>00049 <span class="preprocessor"></span> <span class="keywordflow">if</span> (group.empty()) { +<a name="l00050"></a>00050 <span class="keywordflow">return</span> command; +<a name="l00051"></a>00051 } <span class="keywordflow">else</span> { +<a name="l00052"></a>00052 <span class="keywordflow">return</span> 0; +<a name="l00053"></a>00053 } +<a name="l00054"></a>00054 <span class="preprocessor">#endif</span> +<a name="l00055"></a>00055 <span class="preprocessor"></span>} +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2TaskList_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,42 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskList.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskList.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "TaskList.h"</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 TaskListPtr +<a name="l00004"></a>00004 TaskList::append(TaskListPtr list, TaskListPtr q) +<a name="l00005"></a>00005 { +<a name="l00006"></a>00006 TaskListPtr p = list; +<a name="l00007"></a>00007 +<a name="l00008"></a>00008 <span class="keywordflow">if</span> (!p) { +<a name="l00009"></a>00009 <span class="keywordflow">return</span> q; +<a name="l00010"></a>00010 } <span class="keywordflow">else</span> { +<a name="l00011"></a>00011 <span class="keywordflow">while</span> (p->next) p = p->next; +<a name="l00012"></a>00012 p->next = q; +<a name="l00013"></a>00013 <span class="keywordflow">return</span> list; +<a name="l00014"></a>00014 } +<a name="l00015"></a>00015 } +<a name="l00016"></a>00016 +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2TaskQueue_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,47 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskQueue.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskQueue.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "TaskQueue.h"</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 TaskQueue::TaskQueue(TaskPtr q) +<a name="l00004"></a>00004 { +<a name="l00005"></a>00005 task = q; +<a name="l00006"></a>00006 next = NULL; +<a name="l00007"></a>00007 } +<a name="l00008"></a>00008 +<a name="l00009"></a>00009 TaskQueuePtr +<a name="l00010"></a>00010 TaskQueue::append(TaskQueuePtr list, TaskQueuePtr q) +<a name="l00011"></a>00011 { +<a name="l00012"></a>00012 TaskQueuePtr p = list; +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 <span class="keywordflow">if</span> (!p) { +<a name="l00015"></a>00015 <span class="keywordflow">return</span> q; +<a name="l00016"></a>00016 } <span class="keywordflow">else</span> { +<a name="l00017"></a>00017 <span class="keywordflow">while</span>(p->next) p = p->next; +<a name="l00018"></a>00018 p->next = q; +<a name="l00019"></a>00019 <span class="keywordflow">return</span> list; +<a name="l00020"></a>00020 } +<a name="l00021"></a>00021 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2Task_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,69 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: Task.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>Task.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "Task.h"</span> +<a name="l00002"></a>00002 +<a name="l00011"></a>00011 <span class="keywordtype">int</span> +<a name="l00012"></a>00012 Task::add_inData_t(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> addr, <span class="keywordtype">int</span> size) +<a name="l00013"></a>00013 { +<a name="l00014"></a>00014 <span class="keywordflow">return</span> add_data(this->inData, addr, size); +<a name="l00015"></a>00015 } +<a name="l00016"></a>00016 +<a name="l00017"></a>00017 <span class="keywordtype">int</span> +<a name="l00018"></a>00018 Task::add_outData_t(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> addr, <span class="keywordtype">int</span> size) +<a name="l00019"></a>00019 { +<a name="l00020"></a>00020 <span class="keywordflow">return</span> add_data(this->outData, addr, size); +<a name="l00021"></a>00021 } +<a name="l00022"></a>00022 +<a name="l00031"></a>00031 <span class="keywordtype">int</span> +<a name="l00032"></a>00032 Task::add_param(<span class="keywordtype">int</span> _param) +<a name="l00033"></a>00033 { +<a name="l00034"></a>00034 <span class="keywordflow">if</span> (param_size >= MAX_PARAMS) <span class="keywordflow">return</span> -1; +<a name="l00035"></a>00035 +<a name="l00036"></a>00036 this->param[param_size++] = _param; +<a name="l00037"></a>00037 <span class="keywordflow">return</span> 0; +<a name="l00038"></a>00038 } +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 <span class="comment">/*</span> +<a name="l00041"></a>00041 <span class="comment"> * 顼λ -1 ֤äƤȤ</span> +<a name="l00042"></a>00042 <span class="comment"> * perror ߤˤۤ狼䤹ʡ</span> +<a name="l00043"></a>00043 <span class="comment"> */</span> +<a name="l00044"></a>00044 <span class="keywordtype">int</span> +<a name="l00045"></a>00045 Task::add_data(ListDataPtr list, uint32 addr, <span class="keywordtype">int</span> size) +<a name="l00046"></a>00046 { +<a name="l00047"></a>00047 <span class="keywordflow">if</span> (list->length >= MAX_LIST_DMA_SIZE) <span class="keywordflow">return</span> -1; +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 list->bound[list->length] = list->size; +<a name="l00050"></a>00050 +<a name="l00051"></a>00051 <span class="comment">// size Ǥ¤٤</span> +<a name="l00052"></a>00052 list->size += size; +<a name="l00053"></a>00053 +<a name="l00054"></a>00054 ListElementPtr elm = &list->element[list->length++]; +<a name="l00055"></a>00055 elm->addr = addr; +<a name="l00056"></a>00056 elm->size = size; +<a name="l00057"></a>00057 +<a name="l00058"></a>00058 <span class="keywordflow">return</span> 0; +<a name="l00059"></a>00059 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Cell_2spe_2main_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,63 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: main.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>main.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "CellScheduler.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "spu_mfcio.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "error.h"</span> +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 <span class="keyword">extern</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> _end[]; +<a name="l00007"></a>00007 +<a name="l00008"></a>00008 <span class="keywordtype">int</span> +<a name="l00009"></a>00009 main(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> speid, +<a name="l00010"></a>00010 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> argc, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> argv) +<a name="l00011"></a>00011 { +<a name="l00012"></a>00012 CellScheduler *manager; +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 <span class="comment">//const unsigned ls_size = (unsigned)&argc;</span> +<a name="l00015"></a>00015 <span class="comment">//unsigned code_size = (unsigned)&_end;</span> +<a name="l00016"></a>00016 <span class="comment">//unsigned heap_size = ls_size - code_size;</span> +<a name="l00017"></a>00017 +<a name="l00018"></a>00018 __debug(<span class="stringliteral">" ls_size:%10d bytes\n"</span>, ls_size); +<a name="l00019"></a>00019 __debug(<span class="stringliteral">"code_size:%10d bytes\n"</span>, code_size); +<a name="l00020"></a>00020 __debug(<span class="stringliteral">"heap_size:%10d bytes\n"</span>, heap_size); +<a name="l00021"></a>00021 +<a name="l00022"></a>00022 manager = <span class="keyword">new</span> CellScheduler(); +<a name="l00023"></a>00023 manager->init(); +<a name="l00024"></a>00024 manager->id = (int)argc; +<a name="l00025"></a>00025 +<a name="l00026"></a>00026 spu_write_decrementer(0x7FFFFFFFU); +<a name="l00027"></a>00027 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> prof = spu_read_decrementer(); +<a name="l00028"></a>00028 manager->run(); +<a name="l00029"></a>00029 +<a name="l00030"></a>00030 prof -= spu_read_decrementer(); +<a name="l00031"></a>00031 +<a name="l00032"></a>00032 <span class="comment">//printf("%f\n", prof/79800000.0f*1000.0f);</span> +<a name="l00033"></a>00033 +<a name="l00034"></a>00034 manager->finish(); +<a name="l00035"></a>00035 +<a name="l00036"></a>00036 <span class="keywordflow">return</span> 0; +<a name="l00037"></a>00037 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/CreatePolygonFromSceneGraph_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/CreatePolygonFromSceneGraph_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -34,7 +34,7 @@ <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/CreatePolygonPack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/CreatePolygonPack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -41,7 +41,7 @@ <a name="l00021"></a>00021 <a name="l00022"></a>00022 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/DmaBuffer_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,92 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: DmaBuffer.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>DmaBuffer.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "types.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "DmaBuffer.h"</span> +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 <span class="preprocessor">#define ALIGN_DOWN(v, align) ((v)&(-align))</span> +<a name="l00007"></a>00007 <span class="preprocessor"></span><span class="preprocessor">#define ALIGN_UP(v, align) ALIGN_DOWN((v)+((align)-1), align)</span> +<a name="l00008"></a>00008 <span class="preprocessor"></span> +<a name="l00009"></a>00009 <span class="keywordtype">void</span>* +<a name="l00010"></a>00010 new_align(<span class="keywordtype">int</span> alignment, <span class="keywordtype">int</span> size) +<a name="l00011"></a>00011 { +<a name="l00012"></a>00012 <span class="keywordtype">char</span> *nonalign; +<a name="l00013"></a>00013 <span class="keywordtype">char</span> *align; +<a name="l00014"></a>00014 +<a name="l00015"></a>00015 nonalign = <span class="keyword">new</span> <span class="keywordtype">char</span>[size + <span class="keyword">sizeof</span>(<span class="keywordtype">void</span>*) + alignment - 1]; +<a name="l00016"></a>00016 align = (<span class="keywordtype">char</span>*)(ALIGN_UP((<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)nonalign+<span class="keyword">sizeof</span>(<span class="keywordtype">void</span>*),alignment)); +<a name="l00017"></a>00017 *((<span class="keywordtype">void</span>**)align - 1) = (<span class="keywordtype">void</span>*)nonalign; +<a name="l00018"></a>00018 +<a name="l00019"></a>00019 <span class="keywordflow">return</span> align; +<a name="l00020"></a>00020 } +<a name="l00021"></a>00021 +<a name="l00022"></a>00022 <span class="keywordtype">void</span> +<a name="l00023"></a>00023 free_align(<span class="keywordtype">void</span> *ptr) +<a name="l00024"></a>00024 { +<a name="l00025"></a>00025 <span class="keywordtype">char</span> *real; +<a name="l00026"></a>00026 +<a name="l00027"></a>00027 <span class="keywordflow">if</span> (ptr != NULL) { +<a name="l00028"></a>00028 real = (<span class="keywordtype">char</span>*)(*((<span class="keywordtype">void</span>**)(ptr)-1)); +<a name="l00029"></a>00029 <span class="keyword">delete</span> real; +<a name="l00030"></a>00030 } +<a name="l00031"></a>00031 } +<a name="l00032"></a>00032 +<a name="l00033"></a>00033 DmaBuffer::DmaBuffer(<span class="keywordtype">int</span> size) +<a name="l00034"></a>00034 { +<a name="l00035"></a>00035 buffer[0] = malloc(size); +<a name="l00036"></a>00036 buffer[1] = malloc(size); +<a name="l00037"></a>00037 +<a name="l00038"></a>00038 <span class="comment">//posix_memalign(&buffer[0], DEFAULT_ALIGNMENT, size);</span> +<a name="l00039"></a>00039 <span class="comment">//posix_memalign(&buffer[1], DEFAULT_ALIGNMENT, size);</span> +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 <span class="comment">//buffer[0] = new_align(DEFAULT_ALIGNMENT, size);</span> +<a name="l00042"></a>00042 <span class="comment">//buffer[1] = new_align(DEFAULT_ALIGNMENT, size);</span> +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 flag = 0; +<a name="l00045"></a>00045 } +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 DmaBuffer::~DmaBuffer(<span class="keywordtype">void</span>) +<a name="l00048"></a>00048 { +<a name="l00049"></a>00049 <span class="comment">//free(buffer[0]);</span> +<a name="l00050"></a>00050 <span class="comment">//free(buffer[1]);</span> +<a name="l00051"></a>00051 free_align(buffer[0]); +<a name="l00052"></a>00052 free_align(buffer[1]); +<a name="l00053"></a>00053 } +<a name="l00054"></a>00054 +<a name="l00055"></a>00055 <span class="keywordtype">void</span> +<a name="l00056"></a>00056 DmaBuffer::swap_buffer(<span class="keywordtype">void</span>) +<a name="l00057"></a>00057 { +<a name="l00058"></a>00058 flag ^= 1; +<a name="l00059"></a>00059 } +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 <span class="keywordtype">void</span> +<a name="l00062"></a>00062 DmaBuffer::get_buffer(<span class="keywordtype">void</span> *_dst) +<a name="l00063"></a>00063 { +<a name="l00064"></a>00064 <span class="keywordtype">void</span> **dst = (<span class="keywordtype">void</span>**)_dst; +<a name="l00065"></a>00065 *dst = buffer[flag]; +<a name="l00066"></a>00066 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/DmaBuffer_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/DmaBuffer_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -44,7 +44,7 @@ <a name="l00024"></a>00024 <a name="l00025"></a>00025 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/DmaManager_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/DmaManager_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -64,7 +64,7 @@ <a name="l00044"></a>00044 <a name="l00045"></a>00045 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/FifoDmaManager_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,135 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: FifoDmaManager.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>FifoDmaManager.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include <string.h></span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "FifoDmaManager.h"</span> +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 <span class="keywordtype">void</span> +<a name="l00007"></a>00007 FifoDmaManager::dma_load(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) +<a name="l00008"></a>00008 { +<a name="l00009"></a>00009 <span class="keywordflow">if</span> (size == 0) <span class="keywordflow">return</span>; +<a name="l00010"></a>00010 memcpy(buf, (<span class="keywordtype">void</span>*)addr, size); +<a name="l00011"></a>00011 } +<a name="l00012"></a>00012 +<a name="l00013"></a>00013 <span class="keywordtype">void</span> +<a name="l00014"></a>00014 FifoDmaManager::dma_store(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) +<a name="l00015"></a>00015 { +<a name="l00016"></a>00016 <span class="keywordflow">if</span> (size == 0) <span class="keywordflow">return</span>; +<a name="l00017"></a>00017 memcpy((<span class="keywordtype">void</span>*)addr, buf, size); +<a name="l00018"></a>00018 } +<a name="l00019"></a>00019 +<a name="l00023"></a>00023 <span class="keywordtype">void</span> +<a name="l00024"></a>00024 FifoDmaManager::dma_wait(uint32 mask) +<a name="l00025"></a>00025 { +<a name="l00026"></a>00026 <span class="comment">//spu_writech(MFC_WrTagMask, 1 << mask);</span> +<a name="l00027"></a>00027 <span class="comment">//spu_mfcstat(MFC_TAG_UPDATE_ALL);</span> +<a name="l00028"></a>00028 } +<a name="l00029"></a>00029 +<a name="l00030"></a>00030 <span class="keywordtype">void</span> +<a name="l00031"></a>00031 FifoDmaManager::mail_write(uint32 data) +<a name="l00032"></a>00032 { +<a name="l00033"></a>00033 mail_sendQueue +<a name="l00034"></a>00034 = MailManager::append_mailQueue(mail_sendQueue, +<a name="l00035"></a>00035 mailManager->create(data)); +<a name="l00036"></a>00036 } +<a name="l00037"></a>00037 +<a name="l00038"></a>00038 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> +<a name="l00039"></a>00039 FifoDmaManager::mail_read(<span class="keywordtype">void</span>) +<a name="l00040"></a>00040 { +<a name="l00041"></a>00041 MailQueuePtr q; +<a name="l00042"></a>00042 uint32 ret; +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 q = mail_recvQueue; +<a name="l00045"></a>00045 +<a name="l00046"></a>00046 <span class="keywordflow">if</span> (q == NULL) { +<a name="l00047"></a>00047 <span class="keywordflow">return</span> 0; <span class="comment">// error ͤȽǤǤʤʡ</span> +<a name="l00048"></a>00048 } +<a name="l00049"></a>00049 +<a name="l00050"></a>00050 mail_recvQueue = mail_recvQueue->next; +<a name="l00051"></a>00051 +<a name="l00052"></a>00052 ret = q->data; +<a name="l00053"></a>00053 mailManager->free(q); +<a name="l00054"></a>00054 +<a name="l00055"></a>00055 <span class="keywordflow">return</span> ret; +<a name="l00056"></a>00056 } +<a name="l00057"></a>00057 +<a name="l00058"></a>00058 <span class="keywordtype">void</span> +<a name="l00059"></a>00059 FifoDmaManager::dma_loadList(ListDataPtr list, <span class="keywordtype">void</span> *buff, uint32 mask) +<a name="l00060"></a>00060 { +<a name="l00061"></a>00061 <span class="keywordtype">int</span> list_size = list->length; +<a name="l00062"></a>00062 <span class="keywordtype">int</span> bound; +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 bound = (int)(buff); +<a name="l00065"></a>00065 +<a name="l00066"></a>00066 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < list_size; i++) { +<a name="l00067"></a>00067 ListElementPtr elm = &list->element[i]; +<a name="l00068"></a>00068 memcpy((<span class="keywordtype">void</span>*)bound, (<span class="keywordtype">void</span>*)elm->addr, elm->size); +<a name="l00069"></a>00069 bound += elm->size; +<a name="l00070"></a>00070 } +<a name="l00071"></a>00071 } +<a name="l00072"></a>00072 +<a name="l00073"></a>00073 <span class="preprocessor">#if 0</span> +<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="keywordtype">void</span>* +<a name="l00075"></a>00075 FifoDmaManager::dma_loadList(ListDataPtr list, <span class="keywordtype">void</span> *buff, uint32 mask) +<a name="l00076"></a>00076 { +<a name="l00077"></a>00077 <span class="keywordtype">void</span> **buffList; +<a name="l00078"></a>00078 <span class="keywordtype">int</span> bound; +<a name="l00079"></a>00079 +<a name="l00080"></a>00080 dma_wait(mask); +<a name="l00081"></a>00081 +<a name="l00082"></a>00082 <span class="keywordflow">if</span> (list->length == 1) { +<a name="l00083"></a>00083 <span class="keywordflow">return</span> buff; +<a name="l00084"></a>00084 } +<a name="l00085"></a>00085 +<a name="l00086"></a>00086 bound = (int)buff; +<a name="l00087"></a>00087 buffList = (<span class="keywordtype">void</span>**)malloc(list->length); +<a name="l00088"></a>00088 buffList[0] = (<span class="keywordtype">void</span>*)bound; +<a name="l00089"></a>00089 +<a name="l00090"></a>00090 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i < list->length; i++) { +<a name="l00091"></a>00091 bound += list->element[i-1].size; +<a name="l00092"></a>00092 buffList[i] = (<span class="keywordtype">void</span>*)(bound); +<a name="l00093"></a>00093 } +<a name="l00094"></a>00094 +<a name="l00095"></a>00095 <span class="keywordflow">return</span> (<span class="keywordtype">void</span>*)buffList; +<a name="l00096"></a>00096 } +<a name="l00097"></a>00097 <span class="preprocessor">#endif</span> +<a name="l00098"></a>00098 <span class="preprocessor"></span> +<a name="l00099"></a>00099 <span class="keywordtype">void</span> +<a name="l00100"></a>00100 FifoDmaManager::dma_storeList(ListDataPtr list, <span class="keywordtype">void</span> *buff, uint32 mask) +<a name="l00101"></a>00101 { +<a name="l00102"></a>00102 <span class="keywordtype">int</span> list_size = list->length; +<a name="l00103"></a>00103 <span class="keywordtype">int</span> bound; +<a name="l00104"></a>00104 +<a name="l00105"></a>00105 bound = (int)(buff); +<a name="l00106"></a>00106 +<a name="l00107"></a>00107 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < list_size; i++) { +<a name="l00108"></a>00108 ListElementPtr elm = &list->element[i]; +<a name="l00109"></a>00109 memcpy((<span class="keywordtype">void</span>*)elm->addr, (<span class="keywordtype">void</span>*)bound, elm->size); +<a name="l00110"></a>00110 bound += elm->size; +<a name="l00111"></a>00111 } +<a name="l00112"></a>00112 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/FifoDmaManager_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/FifoDmaManager_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -57,7 +57,7 @@ <a name="l00037"></a>00037 <a name="l00038"></a>00038 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/FifoTaskManagerImpl_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,215 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: FifoTaskManagerImpl.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>FifoTaskManagerImpl.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include <string.h></span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "FifoTaskManagerImpl.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "types.h"</span> +<a name="l00006"></a>00006 <span class="preprocessor">#include "error.h"</span> +<a name="l00007"></a>00007 +<a name="l00008"></a>00008 FifoTaskManagerImpl::~FifoTaskManagerImpl(<span class="keywordtype">void</span>) +<a name="l00009"></a>00009 { +<a name="l00010"></a>00010 <span class="keyword">delete</span> mailManager; +<a name="l00011"></a>00011 <span class="keyword">delete</span> scheduler; +<a name="l00012"></a>00012 <span class="keyword">delete</span> bufferManager; +<a name="l00013"></a>00013 } +<a name="l00014"></a>00014 +<a name="l00020"></a>00020 <span class="keywordtype">void</span> +<a name="l00021"></a>00021 FifoTaskManagerImpl::init(<span class="keywordtype">void</span>) +<a name="l00022"></a>00022 { +<a name="l00023"></a>00023 mailManager = <span class="keyword">new</span> MailManager(); +<a name="l00024"></a>00024 mailManager->init(20); +<a name="l00025"></a>00025 +<a name="l00026"></a>00026 scheduler = <span class="keyword">new</span> MainScheduler(); +<a name="l00027"></a>00027 scheduler->init(); +<a name="l00028"></a>00028 scheduler->set_mailManager(mailManager); +<a name="l00029"></a>00029 scheduler->id = 0; +<a name="l00030"></a>00030 +<a name="l00031"></a>00031 bufferManager = <span class="keyword">new</span> <a class="code" href="classBufferManager.html">BufferManager</a>; +<a name="l00032"></a>00032 bufferManager->init(); +<a name="l00033"></a>00033 +<a name="l00034"></a>00034 mainTaskList = bufferManager->create_taskList(); +<a name="l00035"></a>00035 } +<a name="l00036"></a>00036 +<a name="l00043"></a>00043 <span class="keywordtype">void</span> +<a name="l00044"></a>00044 FifoTaskManagerImpl::init(MainScheduler *_sched, <a class="code" href="classBufferManager.html">BufferManager</a> *buff) +<a name="l00045"></a>00045 { +<a name="l00046"></a>00046 mailManager = <span class="keyword">new</span> MailManager(); +<a name="l00047"></a>00047 mailManager->init(20); +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 <span class="comment">//scheduler = new MainScheduler();</span> +<a name="l00050"></a>00050 scheduler = _sched; +<a name="l00051"></a>00051 scheduler->init(); +<a name="l00052"></a>00052 scheduler->set_mailManager(mailManager); +<a name="l00053"></a>00053 +<a name="l00054"></a>00054 bufferManager = buff; +<a name="l00055"></a>00055 +<a name="l00056"></a>00056 mainTaskList = bufferManager-><a class="code" href="classBufferManager.html#9dd8ede25545cff6ab9e1bb6936967d1">create_taskList</a>(); +<a name="l00057"></a>00057 } +<a name="l00058"></a>00058 +<a name="l00067"></a>00067 TaskListPtr +<a name="l00068"></a>00068 FifoTaskManagerImpl::get_runTaskList(<span class="keywordtype">void</span>) +<a name="l00069"></a>00069 { +<a name="l00070"></a>00070 TaskListPtr list, list_top; +<a name="l00071"></a>00071 TaskQueuePtr queue; +<a name="l00072"></a>00072 TaskQueuePtr d; +<a name="l00073"></a>00073 HTaskPtr htask; <span class="comment">// HTask (PPE ˤ)</span> +<a name="l00074"></a>00074 TaskPtr task; <span class="comment">// Task (SPE Task)</span> +<a name="l00075"></a>00075 +<a name="l00076"></a>00076 queue = activeTaskQueue; +<a name="l00077"></a>00077 <span class="keywordflow">if</span> (queue == NULL) { +<a name="l00078"></a>00078 <span class="keywordflow">return</span> NULL; +<a name="l00079"></a>00079 } +<a name="l00080"></a>00080 +<a name="l00081"></a>00081 <span class="comment">// PPE ¦Ǽ¹Ԥ TaskList</span> +<a name="l00082"></a>00082 list_top = mainTaskList; +<a name="l00083"></a>00083 +<a name="l00084"></a>00084 <span class="comment">// list_top->clear() Ȥ⤷</span> +<a name="l00085"></a>00085 list_top = bufferManager->clear_taskList(list_top); +<a name="l00086"></a>00086 list = list_top; +<a name="l00087"></a>00087 +<a name="l00088"></a>00088 <span class="keywordflow">while</span> (queue) { +<a name="l00089"></a>00089 htask = (HTaskPtr)queue->task; +<a name="l00090"></a>00090 d = queue; +<a name="l00091"></a>00091 queue = queue->next; +<a name="l00092"></a>00092 +<a name="l00093"></a>00093 task = &list->tasks[list->length++]; +<a name="l00094"></a>00094 +<a name="l00095"></a>00095 #<span class="keywordflow">if</span> 0 +<a name="l00096"></a>00096 task->command = htask->command; +<a name="l00097"></a>00097 task->inData = htask->inData; +<a name="l00098"></a>00098 task->outData = htask->outData; +<a name="l00099"></a>00099 task->self = (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)htask; +<a name="l00100"></a>00100 <span class="preprocessor">#else</span> +<a name="l00101"></a>00101 <span class="preprocessor"></span> memcpy(task, htask, <span class="keyword">sizeof</span>(Task)); +<a name="l00102"></a>00102 <span class="preprocessor">#endif</span> +<a name="l00103"></a>00103 <span class="preprocessor"></span> +<a name="l00104"></a>00104 <span class="keywordflow">if</span> (list->length >= TASK_MAX_SIZE) { +<a name="l00105"></a>00105 TaskListPtr newList = bufferManager->create_taskList(); +<a name="l00106"></a>00106 list_top = TaskListInfo::append(list_top, newList); +<a name="l00107"></a>00107 list = newList; +<a name="l00108"></a>00108 } +<a name="l00109"></a>00109 +<a name="l00110"></a>00110 bufferManager->free_taskQueue(d); +<a name="l00111"></a>00111 } +<a name="l00112"></a>00112 +<a name="l00113"></a>00113 activeTaskQueue = NULL; +<a name="l00114"></a>00114 mainTaskList = list_top; +<a name="l00115"></a>00115 +<a name="l00116"></a>00116 <span class="keywordflow">return</span> list_top; +<a name="l00117"></a>00117 } +<a name="l00118"></a>00118 +<a name="l00119"></a>00119 +<a name="l00120"></a>00120 <span class="keywordtype">void</span> +<a name="l00121"></a>00121 FifoTaskManagerImpl::run(<span class="keywordtype">void</span>) +<a name="l00122"></a>00122 { +<a name="l00123"></a>00123 TaskListPtr list; +<a name="l00124"></a>00124 MailQueuePtr mail; +<a name="l00125"></a>00125 +<a name="l00126"></a>00126 list = get_runTaskList(); +<a name="l00127"></a>00127 +<a name="l00128"></a>00128 <span class="keywordflow">do</span> { +<a name="l00129"></a>00129 <span class="comment">// list ¹Ԥ</span> +<a name="l00130"></a>00130 mail = schedule(list); +<a name="l00131"></a>00131 +<a name="l00132"></a>00132 <span class="comment">// mail ˤϡppe scheduler mail </span> +<a name="l00133"></a>00133 mail_check(mail); +<a name="l00134"></a>00134 +<a name="l00135"></a>00135 <span class="comment">// ¸طΤϼ¹Բǽ塼</span> +<a name="l00136"></a>00136 wakeup_waitTask(); +<a name="l00137"></a>00137 list = get_runTaskList(); +<a name="l00138"></a>00138 } <span class="keywordflow">while</span> (list); +<a name="l00139"></a>00139 } +<a name="l00140"></a>00140 +<a name="l00147"></a>00147 MailQueuePtr +<a name="l00148"></a>00148 FifoTaskManagerImpl::schedule(TaskListPtr list) +<a name="l00149"></a>00149 { +<a name="l00150"></a>00150 MailQueuePtr list_mail; <span class="comment">// task list</span> +<a name="l00151"></a>00151 MailQueuePtr sentinel; <span class="comment">// ʼ</span> +<a name="l00152"></a>00152 MailQueuePtr in_mail_list = NULL; +<a name="l00153"></a>00153 MailQueuePtr out_mail_list = NULL; +<a name="l00154"></a>00154 +<a name="l00155"></a>00155 <span class="comment">// TaskList Υɥ쥹</span> +<a name="l00156"></a>00156 list_mail = mailManager->create((<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)list); +<a name="l00157"></a>00157 in_mail_list = MailManager::append_mailQueue(in_mail_list, list_mail); +<a name="l00158"></a>00158 +<a name="l00159"></a>00159 <span class="comment">// EXIT_COMMAND (ʼŪʰ̣)</span> +<a name="l00160"></a>00160 sentinel = mailManager->create(MY_SPE_COMMAND_EXIT); +<a name="l00161"></a>00161 in_mail_list = MailManager::append_mailQueue(in_mail_list, sentinel); +<a name="l00162"></a>00162 +<a name="l00163"></a>00163 <span class="comment">// scheduler ϼä˼¹Ԥ</span> +<a name="l00164"></a>00164 scheduler->send_mailList(in_mail_list); +<a name="l00165"></a>00165 scheduler->run(); +<a name="l00166"></a>00166 out_mail_list = scheduler->recv_mailList(); +<a name="l00167"></a>00167 +<a name="l00168"></a>00168 <span class="keywordflow">return</span> out_mail_list; +<a name="l00169"></a>00169 } +<a name="l00170"></a>00170 +<a name="l00181"></a>00181 <span class="keywordtype">void</span> +<a name="l00182"></a>00182 FifoTaskManagerImpl::mail_check(MailQueuePtr mail_list) +<a name="l00183"></a>00183 { +<a name="l00184"></a>00184 MailQueuePtr q = mail_list; +<a name="l00185"></a>00185 MailQueuePtr d; +<a name="l00186"></a>00186 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> data; +<a name="l00187"></a>00187 +<a name="l00188"></a>00188 <span class="keywordflow">while</span> (q) { +<a name="l00189"></a>00189 data = q->data; +<a name="l00190"></a>00190 +<a name="l00200"></a>00200 <span class="keywordflow">if</span> (data == MY_SPE_STATUS_READY) { +<a name="l00201"></a>00201 __debug_ppe(<span class="stringliteral">"mail_check(): Task List finish\n"</span>); +<a name="l00202"></a>00202 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (data > MY_SPE_NOP) { +<a name="l00203"></a>00203 __debug_ppe(<span class="stringliteral">"mail_check(): recv from 0x%x\n"</span>, data); +<a name="l00204"></a>00204 check_task_finish((HTaskPtr)data); +<a name="l00205"></a>00205 } +<a name="l00206"></a>00206 +<a name="l00207"></a>00207 d = q; +<a name="l00208"></a>00208 q = q->next; +<a name="l00209"></a>00209 +<a name="l00210"></a>00210 mailManager->free(d); +<a name="l00211"></a>00211 } +<a name="l00212"></a>00212 } +<a name="l00213"></a>00213 +<a name="l00214"></a>00214 <span class="keywordtype">void</span> +<a name="l00215"></a>00215 FifoTaskManagerImpl::mail_check(MailQueuePtr mail_list, TaskQueuePtr *wait) +<a name="l00216"></a>00216 { +<a name="l00217"></a>00217 waitTaskQueue = *wait; +<a name="l00218"></a>00218 mail_check(mail_list); +<a name="l00219"></a>00219 } +<a name="l00220"></a>00220 +<a name="l00221"></a>00221 <span class="keywordtype">void</span>* +<a name="l00222"></a>00222 FifoTaskManagerImpl::allocate(<span class="keywordtype">int</span> size) +<a name="l00223"></a>00223 { +<a name="l00224"></a>00224 <span class="keywordflow">return</span> malloc(size); +<a name="l00225"></a>00225 } +<a name="l00226"></a>00226 +<a name="l00232"></a>00232 <span class="preprocessor">#ifdef __CERIUM_FIFO__</span> +<a name="l00233"></a>00233 <span class="preprocessor"></span>TaskManagerImpl* +<a name="l00234"></a>00234 create_impl(<span class="keywordtype">int</span> num) +<a name="l00235"></a>00235 { +<a name="l00236"></a>00236 <span class="keywordflow">return</span> <span class="keyword">new</span> FifoTaskManagerImpl(); +<a name="l00237"></a>00237 } +<a name="l00238"></a>00238 <span class="preprocessor">#endif // __CERIUM_FIFO__</span> +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/FifoTaskManagerImpl_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/FifoTaskManagerImpl_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -45,7 +45,7 @@ <a name="l00025"></a>00025 <span class="comment">/* functions */</span> <a name="l00026"></a>00026 <span class="comment">// call by system</span> <a name="l00027"></a>00027 <span class="keywordtype">void</span> init(<span class="keywordtype">void</span>); -<a name="l00028"></a>00028 <span class="keywordtype">void</span> init(MainScheduler*, BufferManager*); +<a name="l00028"></a>00028 <span class="keywordtype">void</span> init(MainScheduler*, <a class="code" href="classBufferManager.html">BufferManager</a>*); <a name="l00029"></a>00029 <span class="keywordtype">void</span> run(<span class="keywordtype">void</span>); <a name="l00030"></a>00030 <span class="keywordtype">void</span> mail_check(MailQueuePtr mail_list); <a name="l00031"></a>00031 <span class="keywordtype">void</span> mail_check(MailQueuePtr mail_list, TaskQueuePtr *waitQueue); @@ -64,7 +64,7 @@ <a name="l00044"></a>00044 <a name="l00045"></a>00045 <span class="preprocessor">#endif </span><span class="comment">/* INCLUDED_FIFO_TASK_MANAGER_IMPL */</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Finish_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,36 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: Finish.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>Finish.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "Finish.h"</span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SysTask.h"</span> +<a name="l00003"></a>00003 +<a name="l00004"></a>00004 SchedDefineTask(Finish); +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 <span class="keywordtype">int</span> +<a name="l00007"></a>00007 Finish::run(<span class="keywordtype">void</span> *rbuf, <span class="keywordtype">void</span> *wbuf) +<a name="l00008"></a>00008 { +<a name="l00009"></a>00009 <span class="keywordflow">return</span> 0; +<a name="l00010"></a>00010 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/Finish_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Finish_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -34,7 +34,7 @@ <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/HTaskInfo_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,127 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: HTaskInfo.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>HTaskInfo.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "TaskManagerImpl.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "HTaskInfo.h"</span> +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 HTaskInfo::HTaskInfo(<span class="keywordtype">void</span>) +<a name="l00007"></a>00007 :htaskPool(NULL), freeHTask(NULL) {} +<a name="l00008"></a>00008 +<a name="l00009"></a>00009 HTaskInfo::~HTaskInfo(<span class="keywordtype">void</span>) { destroy(); } +<a name="l00010"></a>00010 +<a name="l00011"></a>00011 <span class="keywordtype">int</span> +<a name="l00012"></a>00012 HTaskInfo::init(<span class="keywordtype">int</span> num) +<a name="l00013"></a>00013 { +<a name="l00014"></a>00014 <span class="keywordflow">if</span> (htaskPool == NULL) { +<a name="l00015"></a>00015 <span class="keywordflow">return</span> extend_pool(num); +<a name="l00016"></a>00016 } +<a name="l00017"></a>00017 <span class="keywordflow">return</span> 0; +<a name="l00018"></a>00018 } +<a name="l00019"></a>00019 +<a name="l00024"></a>00024 <span class="keywordtype">int</span> +<a name="l00025"></a>00025 HTaskInfo::extend_pool(<span class="keywordtype">int</span> num) +<a name="l00026"></a>00026 { +<a name="l00027"></a>00027 HTaskPtr q = NULL; +<a name="l00028"></a>00028 +<a name="l00029"></a>00029 q = (HTaskPtr)malloc(<span class="keyword">sizeof</span>(HTask)*(num+1)); +<a name="l00030"></a>00030 +<a name="l00031"></a>00031 <span class="keywordflow">if</span> (q == NULL) { +<a name="l00032"></a>00032 <span class="keywordflow">return</span> -1; +<a name="l00033"></a>00033 } +<a name="l00034"></a>00034 q->next = htaskPool; +<a name="l00035"></a>00035 htaskPool = q; +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="comment">/* Connect all free queue in the pool */</span> +<a name="l00038"></a>00038 <span class="keywordflow">for</span> (q = htaskPool + 1; --num > 0; q++) { +<a name="l00039"></a>00039 q->next = q + 1; +<a name="l00040"></a>00040 q->inData = (ListDataPtr)malloc(<span class="keyword">sizeof</span>(ListData)); +<a name="l00041"></a>00041 q->outData = (ListDataPtr)malloc(<span class="keyword">sizeof</span>(ListData)); +<a name="l00042"></a>00042 } +<a name="l00043"></a>00043 q->next = freeHTask; +<a name="l00044"></a>00044 q->inData = (ListDataPtr)malloc(<span class="keyword">sizeof</span>(ListData)); +<a name="l00045"></a>00045 q->outData = (ListDataPtr)malloc(<span class="keyword">sizeof</span>(ListData)); +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 freeHTask = htaskPool + 1; +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 <span class="keywordflow">return</span> 0; +<a name="l00050"></a>00050 } +<a name="l00051"></a>00051 +<a name="l00057"></a>00057 HTaskPtr +<a name="l00058"></a>00058 HTaskInfo::create(<span class="keywordtype">int</span> cmd) +<a name="l00059"></a>00059 { +<a name="l00060"></a>00060 HTaskPtr q; +<a name="l00061"></a>00061 +<a name="l00062"></a>00062 <span class="keywordflow">if</span> (freeHTask == NULL) { +<a name="l00063"></a>00063 extend_pool(100); +<a name="l00064"></a>00064 } +<a name="l00065"></a>00065 +<a name="l00066"></a>00066 q = freeHTask; +<a name="l00067"></a>00067 freeHTask = freeHTask->next; +<a name="l00068"></a>00068 +<a name="l00069"></a>00069 q->command = cmd; +<a name="l00070"></a>00070 q->inData->clear(); +<a name="l00071"></a>00071 q->outData->clear(); +<a name="l00072"></a>00072 q->self = (<span class="keywordtype">unsigned</span> int)q; +<a name="l00073"></a>00073 q->param_size = 0; +<a name="l00074"></a>00074 +<a name="l00075"></a>00075 q->wait_me = NULL; +<a name="l00076"></a>00076 q->wait_i = NULL; +<a name="l00077"></a>00077 q->post_func = NULL; +<a name="l00078"></a>00078 q->mimpl = NULL; +<a name="l00079"></a>00079 q->cpu_type = CPU_PPE; +<a name="l00080"></a>00080 +<a name="l00081"></a>00081 <span class="keywordflow">return</span> q; +<a name="l00082"></a>00082 } +<a name="l00083"></a>00083 +<a name="l00084"></a>00084 <span class="keywordtype">void</span> +<a name="l00085"></a>00085 HTaskInfo::free(HTaskPtr q) +<a name="l00086"></a>00086 { +<a name="l00087"></a>00087 q->next = freeHTask; +<a name="l00088"></a>00088 freeHTask = q; +<a name="l00089"></a>00089 } +<a name="l00090"></a>00090 +<a name="l00091"></a>00091 <span class="keywordtype">void</span> +<a name="l00092"></a>00092 HTaskInfo::destroy(<span class="keywordtype">void</span>) +<a name="l00093"></a>00093 { +<a name="l00094"></a>00094 HTaskPtr q, tmp; +<a name="l00095"></a>00095 +<a name="l00096"></a>00096 <span class="preprocessor">#if 1</span> +<a name="l00097"></a>00097 <span class="preprocessor"></span> q = htaskPool; +<a name="l00098"></a>00098 <span class="keywordflow">while</span> (q) { +<a name="l00099"></a>00099 tmp = q->next; +<a name="l00100"></a>00100 free(q); +<a name="l00101"></a>00101 q = tmp; +<a name="l00102"></a>00102 } +<a name="l00103"></a>00103 <span class="preprocessor">#else</span> +<a name="l00104"></a>00104 <span class="preprocessor"></span> <span class="keywordflow">for</span> (q = htaskPool; q; q = q->next) { +<a name="l00105"></a>00105 free(q); +<a name="l00106"></a>00106 } +<a name="l00107"></a>00107 <span class="preprocessor">#endif</span> +<a name="l00108"></a>00108 <span class="preprocessor"></span> +<a name="l00109"></a>00109 freeHTask = htaskPool = NULL; +<a name="l00110"></a>00110 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/HTaskInfo_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/HTaskInfo_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -50,7 +50,7 @@ <a name="l00030"></a>00030 <a name="l00031"></a>00031 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/HTask_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,55 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: HTask.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>HTask.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "HTask.h"</span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "ListData.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "TaskManagerImpl.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 +<a name="l00016"></a>00016 <span class="keywordtype">void</span> +<a name="l00017"></a>00017 HTask::spawn(<span class="keywordtype">void</span>) +<a name="l00018"></a>00018 { +<a name="l00019"></a>00019 mimpl->spawn_task(<span class="keyword">this</span>); +<a name="l00020"></a>00020 } +<a name="l00021"></a>00021 +<a name="l00022"></a>00022 <span class="keywordtype">void</span> +<a name="l00023"></a>00023 HTask::set_depend(HTaskPtr master) +<a name="l00024"></a>00024 { +<a name="l00025"></a>00025 mimpl->set_task_depend(master, <span class="keyword">this</span>); +<a name="l00026"></a>00026 } +<a name="l00027"></a>00027 +<a name="l00028"></a>00028 <span class="keywordtype">void</span> +<a name="l00029"></a>00029 HTask::set_cpu(CPU_TYPE type) +<a name="l00030"></a>00030 { +<a name="l00031"></a>00031 mimpl->set_task_cpu(<span class="keyword">this</span>, type); +<a name="l00032"></a>00032 } +<a name="l00033"></a>00033 +<a name="l00034"></a>00034 <span class="keywordtype">void</span> +<a name="l00035"></a>00035 HTask::set_post(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span> *), <span class="keywordtype">void</span> *arg) +<a name="l00036"></a>00036 { +<a name="l00037"></a>00037 this->post_func = func; +<a name="l00038"></a>00038 this->post_arg = arg; +<a name="l00039"></a>00039 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/HTask_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/HTask_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -63,7 +63,7 @@ <a name="l00043"></a>00043 <a name="l00044"></a>00044 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/Joystick_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Joystick_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -40,7 +40,7 @@ <a name="l00020"></a>00020 <a name="l00021"></a>00021 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/Keyboard_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Keyboard_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -32,7 +32,7 @@ <a name="l00012"></a>00012 <a name="l00013"></a>00013 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/ListData_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/ListData_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -57,7 +57,7 @@ <a name="l00037"></a>00037 <a name="l00038"></a>00038 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/LongCube_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/LongCube_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>LongCube.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define LongCube scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/MailManager_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,126 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: MailManager.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>MailManager.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "MailManager.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 MailManager::MailManager(<span class="keywordtype">void</span>) +<a name="l00006"></a>00006 :mailQueuePool(NULL), freeMailQueue(NULL) {} +<a name="l00007"></a>00007 +<a name="l00008"></a>00008 MailManager::~MailManager(<span class="keywordtype">void</span>) { destroy(); } +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 <span class="keywordtype">int</span> +<a name="l00011"></a>00011 MailManager::init(<span class="keywordtype">int</span> num) +<a name="l00012"></a>00012 { +<a name="l00013"></a>00013 <span class="keywordflow">if</span> (!mailQueuePool) { +<a name="l00014"></a>00014 <span class="keywordflow">return</span> extend_pool(num); +<a name="l00015"></a>00015 } +<a name="l00016"></a>00016 <span class="keywordflow">return</span> 0; +<a name="l00017"></a>00017 } +<a name="l00018"></a>00018 +<a name="l00019"></a>00019 <span class="keywordtype">int</span> +<a name="l00020"></a>00020 MailManager::extend_pool(<span class="keywordtype">int</span> num) +<a name="l00021"></a>00021 { +<a name="l00022"></a>00022 MailQueuePtr q; +<a name="l00023"></a>00023 +<a name="l00024"></a>00024 q = (MailQueuePtr)malloc(<span class="keyword">sizeof</span>(MailQueue)*(num+1)); +<a name="l00025"></a>00025 +<a name="l00026"></a>00026 <span class="keywordflow">if</span> (q == NULL) { +<a name="l00027"></a>00027 <span class="keywordflow">return</span> -1; +<a name="l00028"></a>00028 } +<a name="l00029"></a>00029 q->next = mailQueuePool; +<a name="l00030"></a>00030 mailQueuePool = q; +<a name="l00031"></a>00031 +<a name="l00032"></a>00032 <span class="comment">/* Connect all free queue in the pool */</span> +<a name="l00033"></a>00033 <span class="keywordflow">for</span> (q = mailQueuePool + 1; --num > 0; q++) { +<a name="l00034"></a>00034 q->next = q + 1; +<a name="l00035"></a>00035 } +<a name="l00036"></a>00036 q->next = freeMailQueue; +<a name="l00037"></a>00037 freeMailQueue = mailQueuePool + 1; +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="keywordflow">return</span> 0; +<a name="l00040"></a>00040 } +<a name="l00041"></a>00041 +<a name="l00042"></a>00042 MailQueuePtr +<a name="l00043"></a>00043 MailManager::create(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> data) +<a name="l00044"></a>00044 { +<a name="l00045"></a>00045 MailQueuePtr q; +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <span class="keywordflow">if</span> (!freeMailQueue) { +<a name="l00048"></a>00048 extend_pool(30); +<a name="l00049"></a>00049 } +<a name="l00050"></a>00050 q = freeMailQueue; +<a name="l00051"></a>00051 freeMailQueue = freeMailQueue->next; +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 q->data = data; +<a name="l00054"></a>00054 q->next = NULL; +<a name="l00055"></a>00055 +<a name="l00056"></a>00056 <span class="keywordflow">return</span> q; +<a name="l00057"></a>00057 } +<a name="l00058"></a>00058 +<a name="l00059"></a>00059 <span class="keywordtype">void</span> +<a name="l00060"></a>00060 MailManager::free(MailQueuePtr q) +<a name="l00061"></a>00061 { +<a name="l00062"></a>00062 q->next = freeMailQueue; +<a name="l00063"></a>00063 freeMailQueue = q; +<a name="l00064"></a>00064 } +<a name="l00065"></a>00065 +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keywordtype">void</span> +<a name="l00068"></a>00068 MailManager::destroy(<span class="keywordtype">void</span>) +<a name="l00069"></a>00069 { +<a name="l00070"></a>00070 MailQueuePtr q; +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="preprocessor">#if 0</span> +<a name="l00073"></a>00073 <span class="preprocessor"></span> <span class="keywordflow">for</span> (q = mailQueuePool; q; q = q->next) { +<a name="l00074"></a>00074 free(q); +<a name="l00075"></a>00075 } +<a name="l00076"></a>00076 <span class="preprocessor">#else</span> +<a name="l00077"></a>00077 <span class="preprocessor"></span> q = mailQueuePool; +<a name="l00078"></a>00078 <span class="keywordflow">while</span> (q) { +<a name="l00079"></a>00079 MailQueuePtr tmp = q->next; +<a name="l00080"></a>00080 free(q); +<a name="l00081"></a>00081 q = tmp; +<a name="l00082"></a>00082 } +<a name="l00083"></a>00083 <span class="preprocessor">#endif</span> +<a name="l00084"></a>00084 <span class="preprocessor"></span> freeMailQueue = mailQueuePool = NULL; +<a name="l00085"></a>00085 } +<a name="l00086"></a>00086 +<a name="l00087"></a>00087 +<a name="l00088"></a>00088 MailQueuePtr +<a name="l00089"></a>00089 MailManager::append_mailQueue(MailQueuePtr list, MailQueuePtr q) +<a name="l00090"></a>00090 { +<a name="l00091"></a>00091 MailQueuePtr p = list; +<a name="l00092"></a>00092 +<a name="l00093"></a>00093 <span class="keywordflow">if</span> (p == NULL) { +<a name="l00094"></a>00094 <span class="keywordflow">return</span> q; +<a name="l00095"></a>00095 } <span class="keywordflow">else</span> { +<a name="l00096"></a>00096 <span class="keywordflow">while</span>(p->next) p = p->next; +<a name="l00097"></a>00097 p->next = q; +<a name="l00098"></a>00098 <span class="keywordflow">return</span> list; +<a name="l00099"></a>00099 } +<a name="l00100"></a>00100 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/MailManager_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/MailManager_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -50,7 +50,7 @@ <a name="l00030"></a>00030 <a name="l00031"></a>00031 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/MainScheduler_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,82 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: MainScheduler.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>MainScheduler.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <string.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "MainScheduler.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "FifoDmaManager.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "error.h"</span> +<a name="l00006"></a>00006 +<a name="l00007"></a>00007 <span class="keywordtype">void</span> +<a name="l00008"></a>00008 MainScheduler::init_impl(<span class="keywordtype">void</span>) +<a name="l00009"></a>00009 { +<a name="l00010"></a>00010 connector = <span class="keyword">new</span> FifoDmaManager(); +<a name="l00011"></a>00011 } +<a name="l00012"></a>00012 +<a name="l00013"></a>00013 <span class="keywordtype">void</span> +<a name="l00014"></a>00014 MainScheduler::set_mailManager(MailManager *m) +<a name="l00015"></a>00015 { +<a name="l00016"></a>00016 ((FifoDmaManager*)connector)->mailManager = m; +<a name="l00017"></a>00017 } +<a name="l00018"></a>00018 +<a name="l00023"></a>00023 <span class="keywordtype">void</span> +<a name="l00024"></a>00024 MainScheduler::send_mailList(MailQueuePtr mail_list) +<a name="l00025"></a>00025 { +<a name="l00026"></a>00026 ((FifoDmaManager*)connector)->mail_recvQueue = mail_list; +<a name="l00027"></a>00027 ((FifoDmaManager*)connector)->mail_sendQueue = NULL; +<a name="l00028"></a>00028 } +<a name="l00029"></a>00029 +<a name="l00034"></a>00034 MailQueuePtr +<a name="l00035"></a>00035 MainScheduler::recv_mailList(<span class="keywordtype">void</span>) +<a name="l00036"></a>00036 { +<a name="l00037"></a>00037 <span class="keywordflow">return</span> ((FifoDmaManager*)connector)->mail_sendQueue; +<a name="l00038"></a>00038 } +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 <span class="keywordtype">void</span>* +<a name="l00042"></a>00042 MainScheduler::allocate(<span class="keywordtype">int</span> size) +<a name="l00043"></a>00043 { +<a name="l00044"></a>00044 <span class="keywordtype">void</span> *ptr = malloc(size); +<a name="l00045"></a>00045 bzero(ptr, size); +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <span class="keywordflow">return</span> ptr; +<a name="l00048"></a>00048 } +<a name="l00049"></a>00049 +<a name="l00050"></a>00050 +<a name="l00055"></a>00055 <span class="keywordtype">void</span> +<a name="l00056"></a>00056 MainScheduler::mainMem_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) +<a name="l00057"></a>00057 { +<a name="l00058"></a>00058 mainMemList[id] = allocate(size); +<a name="l00059"></a>00059 } +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 <span class="preprocessor">#if 0</span> +<a name="l00062"></a>00062 <span class="preprocessor"></span> +<a name="l00065"></a>00065 <span class="keywordtype">void</span> +<a name="l00066"></a>00066 MainScheduler::mainMem_wait(<span class="keywordtype">void</span>) +<a name="l00067"></a>00067 { +<a name="l00068"></a>00068 <span class="comment">// ⤷ͤ</span> +<a name="l00069"></a>00069 } +<a name="l00070"></a>00070 <span class="preprocessor">#endif</span> +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/MainScheduler_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/MainScheduler_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -44,7 +44,7 @@ <a name="l00024"></a>00024 <a name="l00025"></a>00025 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/Pad_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Pad_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -55,7 +55,7 @@ <a name="l00035"></a>00035 <span class="preprocessor"></span> <a name="l00036"></a>00036 <span class="keyword">extern</span> Pad *create_controller(<span class="keywordtype">void</span>); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/PpeScheduler_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,40 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: PpeScheduler.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>PpeScheduler.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <string.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "PpeScheduler.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 <span class="keywordtype">void</span>* +<a name="l00006"></a>00006 PpeScheduler::allocate(<span class="keywordtype">int</span> size) +<a name="l00007"></a>00007 { +<a name="l00008"></a>00008 <span class="keywordtype">void</span> *buff; +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 posix_memalign(&buff, DEFAULT_ALIGNMENT, size); +<a name="l00011"></a>00011 bzero(buff, size); +<a name="l00012"></a>00012 +<a name="l00013"></a>00013 <span class="keywordflow">return</span> buff; +<a name="l00014"></a>00014 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/PpeScheduler_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/PpeScheduler_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -32,7 +32,7 @@ <a name="l00012"></a>00012 <a name="l00013"></a>00013 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Random_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,74 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: Random.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>Random.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include <sys/time.h></span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "Random.h"</span> +<a name="l00005"></a>00005 +<a name="l00009"></a>00009 Random::Random(<span class="keywordtype">void</span>) +<a name="l00010"></a>00010 { +<a name="l00011"></a>00011 reset(); +<a name="l00012"></a>00012 } +<a name="l00013"></a>00013 +<a name="l00017"></a>00017 Random::Random(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed) +<a name="l00018"></a>00018 { +<a name="l00019"></a>00019 srandom(seed); +<a name="l00020"></a>00020 } +<a name="l00021"></a>00021 +<a name="l00022"></a>00022 <span class="keywordtype">void</span> +<a name="l00023"></a>00023 Random::reset(<span class="keywordtype">void</span>) +<a name="l00024"></a>00024 { +<a name="l00025"></a>00025 FILE *fp; +<a name="l00026"></a>00026 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed; +<a name="l00027"></a>00027 <span class="keyword">struct </span>timeval tv; +<a name="l00028"></a>00028 +<a name="l00029"></a>00029 fp = fopen(<span class="stringliteral">"/dev/urandom"</span>, <span class="stringliteral">"r"</span>); +<a name="l00030"></a>00030 <span class="keywordflow">if</span> (!fp) fp = fopen(<span class="stringliteral">"/dev/random"</span>, <span class="stringliteral">"r"</span>); +<a name="l00031"></a>00031 +<a name="l00032"></a>00032 <span class="keywordflow">if</span> (fp) { +<a name="l00033"></a>00033 <span class="keywordtype">int</span> res = fread(&seed, <span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>), 1, fp); +<a name="l00034"></a>00034 <span class="keywordflow">if</span> (res != <span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)) { +<a name="l00035"></a>00035 fclose(fp); +<a name="l00036"></a>00036 fp = NULL; +<a name="l00037"></a>00037 } +<a name="l00038"></a>00038 } +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 <span class="keywordflow">if</span> (!fp) { +<a name="l00041"></a>00041 gettimeofday(&tv, NULL); +<a name="l00042"></a>00042 seed = (tv.tv_sec ^ tv.tv_usec); +<a name="l00043"></a>00043 } <span class="keywordflow">else</span> { +<a name="l00044"></a>00044 fclose(fp); +<a name="l00045"></a>00045 } +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 srandom(seed); +<a name="l00048"></a>00048 } +<a name="l00049"></a>00049 +<a name="l00050"></a>00050 <span class="keywordtype">int</span> +<a name="l00051"></a>00051 Random::getData(<span class="keywordtype">void</span>) +<a name="l00052"></a>00052 { +<a name="l00053"></a>00053 <span class="keywordflow">return</span> random(); +<a name="l00054"></a>00054 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/Random_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Random_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -34,7 +34,7 @@ <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SGList_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SGList_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,94 +39,174 @@ <a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define Venus005 10</span> <a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define Venus009 11</span> <a name="l00021"></a>00021 <span class="preprocessor"></span> -<a name="l00022"></a>00022 <span class="comment">/* xml_file/blast.xml */</span> -<a name="l00023"></a>00023 <span class="preprocessor">#define BLAST8 12</span> -<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define BLAST7 13</span> -<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define BLAST6 14</span> -<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define BLAST5 15</span> -<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define BLAST4 16</span> -<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define BLAST3 17</span> -<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define BLAST2 18</span> -<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define BLAST1 19</span> -<a name="l00031"></a>00031 <span class="preprocessor"></span> -<a name="l00032"></a>00032 <span class="comment">/* xml_file/boss1.xml */</span> -<a name="l00033"></a>00033 <span class="preprocessor">#define BOSS1 20</span> -<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define BOSS1_L 21</span> -<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define BOSS1_R 22</span> -<a name="l00036"></a>00036 <span class="preprocessor"></span> -<a name="l00037"></a>00037 <span class="comment">/* xml_file/cube.xml */</span> -<a name="l00038"></a>00038 <span class="preprocessor">#define Cube 23</span> -<a name="l00039"></a>00039 <span class="preprocessor"></span> -<a name="l00040"></a>00040 <span class="comment">/* xml_file/cube_big.xml */</span> -<a name="l00041"></a>00041 <span class="preprocessor">#define BigCube 24</span> -<a name="l00042"></a>00042 <span class="preprocessor"></span> -<a name="l00043"></a>00043 <span class="comment">/* xml_file/cube_split.xml */</span> -<a name="l00044"></a>00044 <span class="preprocessor">#define Plane 25</span> -<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define SmallCube 26</span> -<a name="l00046"></a>00046 <span class="preprocessor"></span> -<a name="l00047"></a>00047 <span class="comment">/* xml_file/direction.xml */</span> -<a name="l00048"></a>00048 <span class="preprocessor">#define Diry 27</span> -<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define Dirz 28</span> -<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define Dirx 29</span> -<a name="l00051"></a>00051 <span class="preprocessor"></span> -<a name="l00052"></a>00052 <span class="comment">/* xml_file/ieboss.xml */</span> -<a name="l00053"></a>00053 <span class="preprocessor">#define IEBOSS 30</span> -<a name="l00054"></a>00054 <span class="preprocessor"></span> -<a name="l00055"></a>00055 <span class="comment">/* xml_file/iejiki.xml */</span> -<a name="l00056"></a>00056 <span class="preprocessor">#define IEJIKI 31</span> -<a name="l00057"></a>00057 <span class="preprocessor"></span> -<a name="l00058"></a>00058 <span class="comment">/* xml_file/ietama.xml */</span> -<a name="l00059"></a>00059 <span class="preprocessor">#define IETAMA 32</span> -<a name="l00060"></a>00060 <span class="preprocessor"></span> -<a name="l00061"></a>00061 <span class="comment">/* xml_file/mcube.xml */</span> -<a name="l00062"></a>00062 <span class="preprocessor">#define MCUBE_BACK 33</span> -<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define MCUBE 34</span> -<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define BIGMCUBE 35</span> -<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#define CUBE 36</span> -<a name="l00066"></a>00066 <span class="preprocessor"></span> -<a name="l00067"></a>00067 <span class="comment">/* xml_file/p_shot.xml */</span> -<a name="l00068"></a>00068 <span class="preprocessor">#define P_SHOT1 37</span> -<a name="l00069"></a>00069 <span class="preprocessor"></span> -<a name="l00070"></a>00070 <span class="comment">/* xml_file/panel_1024.xml */</span> -<a name="l00071"></a>00071 <span class="preprocessor">#define PANEL_1024 38</span> -<a name="l00072"></a>00072 <span class="preprocessor"></span> -<a name="l00073"></a>00073 <span class="comment">/* xml_file/panel_2048.xml */</span> -<a name="l00074"></a>00074 <span class="preprocessor">#define PANEL_2048 39</span> -<a name="l00075"></a>00075 <span class="preprocessor"></span> -<a name="l00076"></a>00076 <span class="comment">/* xml_file/panel_512.xml */</span> -<a name="l00077"></a>00077 <span class="preprocessor">#define PANEL_512 40</span> -<a name="l00078"></a>00078 <span class="preprocessor"></span> -<a name="l00079"></a>00079 <span class="comment">/* xml_file/player.xml */</span> -<a name="l00080"></a>00080 <span class="preprocessor">#define PLAYER 41</span> -<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_L 42</span> -<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_LL 43</span> -<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_R 44</span> -<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_RR 45</span> -<a name="l00085"></a>00085 <span class="preprocessor"></span> -<a name="l00086"></a>00086 <span class="comment">/* xml_file/sphere.xml */</span> -<a name="l00087"></a>00087 <span class="preprocessor">#define Sphere 46</span> -<a name="l00088"></a>00088 <span class="preprocessor"></span> -<a name="l00089"></a>00089 <span class="comment">/* xml_file/sphere_big.xml */</span> -<a name="l00090"></a>00090 <span class="preprocessor">#define BigSphere 47</span> -<a name="l00091"></a>00091 <span class="preprocessor"></span> -<a name="l00092"></a>00092 <span class="comment">/* xml_file/universe.xml */</span> -<a name="l00093"></a>00093 <span class="preprocessor">#define Earth 48</span> -<a name="l00094"></a>00094 <span class="preprocessor"></span><span class="preprocessor">#define Moon 49</span> -<a name="l00095"></a>00095 <span class="preprocessor"></span> -<a name="l00096"></a>00096 <span class="preprocessor">#define BACK 50</span> -<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="preprocessor">#define BULEBULLET 51</span> -<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#define E_PLANE 52</span> -<a name="l00099"></a>00099 <span class="preprocessor"></span><span class="preprocessor">#define IDLE 53</span> -<a name="l00100"></a>00100 <span class="preprocessor"></span> -<a name="l00101"></a>00101 <span class="comment">/* Number of Scene */</span> -<a name="l00102"></a>00102 <span class="preprocessor">#define SGLIST_LENGTH 54</span> -<a name="l00103"></a>00103 <span class="preprocessor"></span> -<a name="l00104"></a>00104 <span class="comment">/* Scene Table */</span> -<a name="l00105"></a>00105 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *sglist_table[SGLIST_LENGTH]; -<a name="l00106"></a>00106 -<a name="l00107"></a>00107 <span class="preprocessor">#endif</span> +<a name="l00022"></a>00022 <<<<<<< /home/teacher/kono/src/Cerium/TaskManager/Test/test_render/SGList.h +<a name="l00023"></a>00023 <span class="comment">/* ../xml_file/blast.xml */</span> +<a name="l00024"></a>00024 <span class="preprocessor">#define BLAST8 12</span> +<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define BLAST7 13</span> +<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define BLAST6 14</span> +<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define BLAST5 15</span> +<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define BLAST4 16</span> +<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define BLAST3 17</span> +<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define BLAST2 18</span> +<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define BLAST1 19</span> +<a name="l00032"></a>00032 <span class="preprocessor"></span> +<a name="l00033"></a>00033 <span class="comment">/* ../xml_file/boss1.xml */</span> +<a name="l00034"></a>00034 <span class="preprocessor">#define BOSS1 20</span> +<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define BOSS1_L 21</span> +<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define BOSS1_R 22</span> +<a name="l00037"></a>00037 <span class="preprocessor"></span> +<a name="l00038"></a>00038 <span class="comment">/* ../xml_file/cube.xml */</span> +<a name="l00039"></a>00039 <span class="preprocessor">#define Cube 23</span> +<a name="l00040"></a>00040 <span class="preprocessor"></span> +<a name="l00041"></a>00041 <span class="comment">/* ../xml_file/cube_big.xml */</span> +<a name="l00042"></a>00042 <span class="preprocessor">#define BigCube 24</span> +<a name="l00043"></a>00043 <span class="preprocessor"></span> +<a name="l00044"></a>00044 <span class="comment">/* ../xml_file/cube_split.xml */</span> +<a name="l00045"></a>00045 <span class="preprocessor">#define Plane 25</span> +<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define SmallCube 26</span> +<a name="l00047"></a>00047 <span class="preprocessor"></span> +<a name="l00048"></a>00048 <span class="comment">/* ../xml_file/direction.xml */</span> +<a name="l00049"></a>00049 <span class="preprocessor">#define Diry 27</span> +<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define Dirz 28</span> +<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define Dirx 29</span> +<a name="l00052"></a>00052 <span class="preprocessor"></span> +<a name="l00053"></a>00053 <span class="comment">/* ../xml_file/ieboss.xml */</span> +<a name="l00054"></a>00054 <span class="preprocessor">#define IEBOSS 30</span> +<a name="l00055"></a>00055 <span class="preprocessor"></span> +<a name="l00056"></a>00056 <span class="comment">/* ../xml_file/iejiki.xml */</span> +<a name="l00057"></a>00057 <span class="preprocessor">#define IEJIKI 31</span> +<a name="l00058"></a>00058 <span class="preprocessor"></span> +<a name="l00059"></a>00059 <span class="comment">/* ../xml_file/ietama.xml */</span> +<a name="l00060"></a>00060 <span class="preprocessor">#define IETAMA 32</span> +<a name="l00061"></a>00061 <span class="preprocessor"></span> +<a name="l00062"></a>00062 <span class="comment">/* ../xml_file/mcube.xml */</span> +<a name="l00063"></a>00063 <span class="preprocessor">#define MCUBE_BACK 33</span> +<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define MCUBE 34</span> +<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#define BIGMCUBE 35</span> +<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define CUBE 36</span> +<a name="l00067"></a>00067 <span class="preprocessor"></span> +<a name="l00068"></a>00068 <span class="comment">/* ../xml_file/p_shot.xml */</span> +<a name="l00069"></a>00069 <span class="preprocessor">#define P_SHOT1 37</span> +<a name="l00070"></a>00070 <span class="preprocessor"></span> +<a name="l00071"></a>00071 <span class="comment">/* ../xml_file/panel_1024.xml */</span> +<a name="l00072"></a>00072 <span class="preprocessor">#define PANEL_1024 38</span> +<a name="l00073"></a>00073 <span class="preprocessor"></span> +<a name="l00074"></a>00074 <span class="comment">/* ../xml_file/panel_2048.xml */</span> +<a name="l00075"></a>00075 <span class="preprocessor">#define PANEL_2048 39</span> +<a name="l00076"></a>00076 <span class="preprocessor"></span> +<a name="l00077"></a>00077 <span class="comment">/* ../xml_file/panel_512.xml */</span> +<a name="l00078"></a>00078 <span class="preprocessor">#define PANEL_512 40</span> +<a name="l00079"></a>00079 <span class="preprocessor"></span> +<a name="l00080"></a>00080 <span class="comment">/* ../xml_file/player.xml */</span> +<a name="l00081"></a>00081 <span class="preprocessor">#define PLAYER 41</span> +<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_L 42</span> +<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_LL 43</span> +<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_R 44</span> +<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_RR 45</span> +<a name="l00086"></a>00086 <span class="preprocessor"></span> +<a name="l00087"></a>00087 <span class="comment">/* ../xml_file/sphere.xml */</span> +<a name="l00088"></a>00088 <span class="preprocessor">#define Sphere 46</span> +<a name="l00089"></a>00089 <span class="preprocessor"></span> +<a name="l00090"></a>00090 <span class="comment">/* ../xml_file/sphere_big.xml */</span> +<a name="l00091"></a>00091 <span class="preprocessor">#define BigSphere 47</span> +<a name="l00092"></a>00092 <span class="preprocessor"></span> +<a name="l00093"></a>00093 <span class="comment">/* ../xml_file/universe.xml */</span> +<a name="l00094"></a>00094 <span class="preprocessor">#define Earth 48</span> +<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="preprocessor">#define Moon 49</span> +<a name="l00096"></a>00096 <span class="preprocessor"></span>======= +<a name="l00097"></a>00097 <span class="comment">/* xml_file/blast.xml */</span> +<a name="l00098"></a>00098 <span class="preprocessor">#define BLAST8 12</span> +<a name="l00099"></a>00099 <span class="preprocessor"></span><span class="preprocessor">#define BLAST7 13</span> +<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor">#define BLAST6 14</span> +<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="preprocessor">#define BLAST5 15</span> +<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor">#define BLAST4 16</span> +<a name="l00103"></a>00103 <span class="preprocessor"></span><span class="preprocessor">#define BLAST3 17</span> +<a name="l00104"></a>00104 <span class="preprocessor"></span><span class="preprocessor">#define BLAST2 18</span> +<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#define BLAST1 19</span> +<a name="l00106"></a>00106 <span class="preprocessor"></span> +<a name="l00107"></a>00107 <span class="comment">/* xml_file/boss1.xml */</span> +<a name="l00108"></a>00108 <span class="preprocessor">#define BOSS1 20</span> +<a name="l00109"></a>00109 <span class="preprocessor"></span><span class="preprocessor">#define BOSS1_L 21</span> +<a name="l00110"></a>00110 <span class="preprocessor"></span><span class="preprocessor">#define BOSS1_R 22</span> +<a name="l00111"></a>00111 <span class="preprocessor"></span> +<a name="l00112"></a>00112 <span class="comment">/* xml_file/cube.xml */</span> +<a name="l00113"></a>00113 <span class="preprocessor">#define Cube 23</span> +<a name="l00114"></a>00114 <span class="preprocessor"></span> +<a name="l00115"></a>00115 <span class="comment">/* xml_file/cube_big.xml */</span> +<a name="l00116"></a>00116 <span class="preprocessor">#define BigCube 24</span> +<a name="l00117"></a>00117 <span class="preprocessor"></span> +<a name="l00118"></a>00118 <span class="comment">/* xml_file/cube_split.xml */</span> +<a name="l00119"></a>00119 <span class="preprocessor">#define Plane 25</span> +<a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor">#define SmallCube 26</span> +<a name="l00121"></a>00121 <span class="preprocessor"></span> +<a name="l00122"></a>00122 <span class="comment">/* xml_file/direction.xml */</span> +<a name="l00123"></a>00123 <span class="preprocessor">#define Diry 27</span> +<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#define Dirz 28</span> +<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor">#define Dirx 29</span> +<a name="l00126"></a>00126 <span class="preprocessor"></span> +<a name="l00127"></a>00127 <span class="comment">/* xml_file/ieboss.xml */</span> +<a name="l00128"></a>00128 <span class="preprocessor">#define IEBOSS 30</span> +<a name="l00129"></a>00129 <span class="preprocessor"></span> +<a name="l00130"></a>00130 <span class="comment">/* xml_file/iejiki.xml */</span> +<a name="l00131"></a>00131 <span class="preprocessor">#define IEJIKI 31</span> +<a name="l00132"></a>00132 <span class="preprocessor"></span> +<a name="l00133"></a>00133 <span class="comment">/* xml_file/ietama.xml */</span> +<a name="l00134"></a>00134 <span class="preprocessor">#define IETAMA 32</span> +<a name="l00135"></a>00135 <span class="preprocessor"></span> +<a name="l00136"></a>00136 <span class="comment">/* xml_file/mcube.xml */</span> +<a name="l00137"></a>00137 <span class="preprocessor">#define MCUBE_BACK 33</span> +<a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor">#define MCUBE 34</span> +<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor">#define BIGMCUBE 35</span> +<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#define CUBE 36</span> +<a name="l00141"></a>00141 <span class="preprocessor"></span> +<a name="l00142"></a>00142 <span class="comment">/* xml_file/p_shot.xml */</span> +<a name="l00143"></a>00143 <span class="preprocessor">#define P_SHOT1 37</span> +<a name="l00144"></a>00144 <span class="preprocessor"></span> +<a name="l00145"></a>00145 <span class="comment">/* xml_file/panel_1024.xml */</span> +<a name="l00146"></a>00146 <span class="preprocessor">#define PANEL_1024 38</span> +<a name="l00147"></a>00147 <span class="preprocessor"></span> +<a name="l00148"></a>00148 <span class="comment">/* xml_file/panel_2048.xml */</span> +<a name="l00149"></a>00149 <span class="preprocessor">#define PANEL_2048 39</span> +<a name="l00150"></a>00150 <span class="preprocessor"></span> +<a name="l00151"></a>00151 <span class="comment">/* xml_file/panel_512.xml */</span> +<a name="l00152"></a>00152 <span class="preprocessor">#define PANEL_512 40</span> +<a name="l00153"></a>00153 <span class="preprocessor"></span> +<a name="l00154"></a>00154 <span class="comment">/* xml_file/player.xml */</span> +<a name="l00155"></a>00155 <span class="preprocessor">#define PLAYER 41</span> +<a name="l00156"></a>00156 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_L 42</span> +<a name="l00157"></a>00157 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_LL 43</span> +<a name="l00158"></a>00158 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_R 44</span> +<a name="l00159"></a>00159 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_RR 45</span> +<a name="l00160"></a>00160 <span class="preprocessor"></span> +<a name="l00161"></a>00161 <span class="comment">/* xml_file/sphere.xml */</span> +<a name="l00162"></a>00162 <span class="preprocessor">#define Sphere 46</span> +<a name="l00163"></a>00163 <span class="preprocessor"></span> +<a name="l00164"></a>00164 <span class="comment">/* xml_file/sphere_big.xml */</span> +<a name="l00165"></a>00165 <span class="preprocessor">#define BigSphere 47</span> +<a name="l00166"></a>00166 <span class="preprocessor"></span> +<a name="l00167"></a>00167 <span class="comment">/* xml_file/universe.xml */</span> +<a name="l00168"></a>00168 <span class="preprocessor">#define Earth 48</span> +<a name="l00169"></a>00169 <span class="preprocessor"></span><span class="preprocessor">#define Moon 49</span> +<a name="l00170"></a>00170 <span class="preprocessor"></span> +<a name="l00171"></a>00171 <span class="preprocessor">#define BACK 50</span> +<a name="l00172"></a>00172 <span class="preprocessor"></span><span class="preprocessor">#define BULEBULLET 51</span> +<a name="l00173"></a>00173 <span class="preprocessor"></span><span class="preprocessor">#define E_PLANE 52</span> +<a name="l00174"></a>00174 <span class="preprocessor"></span><span class="preprocessor">#define IDLE 53</span> +<a name="l00175"></a>00175 <span class="preprocessor"></span>>>>>>>> /tmp/SGList.h~other.pqznY4 +<a name="l00176"></a>00176 +<a name="l00177"></a>00177 <span class="comment">/* Number of Scene */</span> +<a name="l00178"></a>00178 <<<<<<< /home/teacher/kono/src/Cerium/TaskManager/Test/test_render/SGList.h +<a name="l00179"></a>00179 <span class="preprocessor">#define SGLIST_LENGTH 50</span> +<a name="l00180"></a>00180 <span class="preprocessor"></span>======= +<a name="l00181"></a>00181 <span class="preprocessor">#define SGLIST_LENGTH 54</span> +<a name="l00182"></a>00182 <span class="preprocessor"></span>>>>>>>> /tmp/SGList.h~other.pqznY4 +<a name="l00183"></a>00183 +<a name="l00184"></a>00184 <span class="comment">/* Scene Table */</span> +<a name="l00185"></a>00185 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *sglist_table[SGLIST_LENGTH]; +<a name="l00186"></a>00186 +<a name="l00187"></a>00187 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SceneGraphArray_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SceneGraphArray_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -55,7 +55,7 @@ <a name="l00044"></a>00044 <span class="preprocessor"></span> <a name="l00045"></a>00045 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SceneGraphIterator_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SceneGraphIterator_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -46,7 +46,7 @@ <a name="l00026"></a>00026 <a name="l00027"></a>00027 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SceneGraphRoot_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SceneGraphRoot_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -102,7 +102,7 @@ <a name="l00085"></a>00085 <span class="preprocessor"></span> <a name="l00086"></a>00086 <span class="keyword">extern</span> SceneGraphRootPtr sgroot; </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SceneGraph_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SceneGraph_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -122,7 +122,7 @@ <a name="l00102"></a>00102 <span class="comment">// 描画用 (同じオブジェクトが複数ある) Tree</span> <a name="l00103"></a>00103 <span class="keyword">extern</span> SceneGraphPtr scene_graph_view; </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SchedExit_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SchedExit_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -42,7 +42,7 @@ <a name="l00022"></a>00022 <a name="l00023"></a>00023 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SchedMail_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SchedMail_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -58,7 +58,7 @@ <a name="l00038"></a>00038 <a name="l00039"></a>00039 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SchedNop2Ready_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SchedNop2Ready_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -61,7 +61,7 @@ <a name="l00041"></a>00041 <a name="l00042"></a>00042 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SchedNop_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SchedNop_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -45,7 +45,7 @@ <a name="l00025"></a>00025 <a name="l00026"></a>00026 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SchedTaskBase_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SchedTaskBase_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -51,7 +51,7 @@ <a name="l00031"></a>00031 <a name="l00032"></a>00032 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SchedTaskList_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SchedTaskList_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -69,7 +69,7 @@ <a name="l00049"></a>00049 <span class="preprocessor"></span> <a name="l00050"></a>00050 <span class="keyword">extern</span> SchedTaskList* createSchedTaskList(uint32, Scheduler*, <span class="keywordtype">int</span>); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SchedTask_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SchedTask_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -250,7 +250,7 @@ <a name="l00244"></a>00244 <span class="preprocessor"></span> <a name="l00245"></a>00245 <span class="keyword">extern</span> SchedTask* createSchedTask(TaskPtr); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/Scheduler_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Scheduler_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -101,84 +101,86 @@ <a name="l00110"></a>00110 <span class="keywordtype">void</span>* mainMemList[MAX_MAINMEM_AREA]; <a name="l00111"></a>00111 <a name="l00112"></a>00112 <span class="comment">// Task Object Table</span> -<a name="l00113"></a>00113 <span class="keyword">typedef</span> SchedTask* (*TaskObject)(void); -<a name="l00114"></a>00114 -<a name="l00115"></a>00115 DmaManager* connector; +<a name="l00113"></a>00113 <span class="comment">// this is named TaskObject but it is not an object.</span> +<a name="l00114"></a>00114 <span class="comment">// It is a pointer to an object creation function</span> +<a name="l00115"></a>00115 <span class="keyword">typedef</span> SchedTask* (*TaskObject)(void); <a name="l00116"></a>00116 -<a name="l00117"></a>00117 <span class="comment">// Pipeline Stage</span> -<a name="l00118"></a>00118 SchedTaskBase* task1; -<a name="l00119"></a>00119 SchedTaskBase* task2; -<a name="l00120"></a>00120 SchedTaskBase* task3; -<a name="l00121"></a>00121 -<a name="l00122"></a>00122 <span class="comment">/* functions */</span> -<a name="l00123"></a>00123 <span class="keywordtype">void</span> init(<span class="keywordtype">void</span>); -<a name="l00124"></a>00124 <span class="keywordtype">void</span> run(<span class="keywordtype">void</span>); -<a name="l00125"></a>00125 <span class="keyword">virtual</span> <span class="keywordtype">void</span> init_impl(<span class="keywordtype">void</span>) {}; -<a name="l00126"></a>00126 <span class="keywordtype">void</span> finish(<span class="keywordtype">void</span>); -<a name="l00127"></a>00127 -<a name="l00128"></a>00128 TaskListPtr get_curListBuf(<span class="keywordtype">void</span>); -<a name="l00129"></a>00129 ListDataPtr get_curReadBuf(<span class="keywordtype">void</span>); -<a name="l00130"></a>00130 ListDataPtr get_curWriteBuf(<span class="keywordtype">void</span>); -<a name="l00131"></a>00131 TaskListPtr get_renewListBuf(<span class="keywordtype">void</span>); -<a name="l00132"></a>00132 -<a name="l00133"></a>00133 <span class="keywordtype">void</span> set_backupTaskList(TaskListPtr cur_taskList); -<a name="l00134"></a>00134 <span class="keywordtype">void</span> set_backupTaskListIndex(<span class="keywordtype">int</span> cur_index); -<a name="l00135"></a>00135 SchedTaskList* get_nextRenewTaskList(<span class="keywordtype">void</span>); -<a name="l00136"></a>00136 TaskListPtr get_backupTaskList(<span class="keywordtype">void</span>); -<a name="l00137"></a>00137 <span class="keywordtype">int</span> get_backupTaskListIndex(<span class="keywordtype">void</span>); -<a name="l00138"></a>00138 -<a name="l00139"></a>00139 <span class="comment">// ʤ̾Ѥ</span> -<a name="l00140"></a>00140 <span class="comment">/* TaskGroup */</span> -<a name="l00141"></a>00141 TaskGroupPtr set_groupTask(uint32 command); -<a name="l00142"></a>00142 <span class="keywordtype">void</span> add_groupTask(TaskGroupPtr group, TaskPtr task); -<a name="l00143"></a>00143 <span class="keywordtype">void</span> remove_groupTask(TaskGroupPtr group, TaskPtr task); -<a name="l00144"></a>00144 <span class="keywordtype">void</span> reload_groupTask(<span class="keywordtype">void</span>); -<a name="l00145"></a>00145 uint32 status_groupTask(TaskGroupPtr group); -<a name="l00146"></a>00146 -<a name="l00147"></a>00147 <span class="comment">/* GlobalMemory */</span> -<a name="l00148"></a>00148 <span class="keywordtype">void</span>* global_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size); -<a name="l00149"></a>00149 <span class="keywordtype">void</span>* global_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>); -<a name="l00150"></a>00150 <span class="keywordtype">void</span> global_free(<span class="keywordtype">int</span> <span class="keywordtype">id</span>); -<a name="l00151"></a>00151 -<a name="l00152"></a>00152 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *allocate(<span class="keywordtype">int</span> size) { <span class="keywordflow">return</span> NULL; }; -<a name="l00153"></a>00153 -<a name="l00154"></a>00154 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mainMem_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) {}; -<a name="l00155"></a>00155 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mainMem_wait(<span class="keywordtype">void</span>) {}; -<a name="l00156"></a>00156 <span class="keywordtype">void</span> *mainMem_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>); -<a name="l00157"></a>00157 -<a name="l00158"></a>00158 <span class="comment">/* DMA Transfer */</span> -<a name="l00159"></a>00159 <span class="keywordtype">void</span> dma_load(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask); -<a name="l00160"></a>00160 <span class="keywordtype">void</span> dma_store(<span class="keywordtype">void</span> *buf,uint32 addr, uint32 size, uint32 mask); -<a name="l00161"></a>00161 <span class="keywordtype">void</span> dma_wait(uint32 mask); -<a name="l00162"></a>00162 <span class="keywordtype">void</span> show_dma_wait() { connector->show_dma_wait(<span class="keywordtype">id</span>); }; -<a name="l00163"></a>00163 <span class="keywordtype">void</span> mail_write(uint32 data); -<a name="l00164"></a>00164 uint32 mail_read(<span class="keywordtype">void</span>); -<a name="l00165"></a>00165 <span class="keywordtype">void</span> dma_loadList(ListDataPtr list, <span class="keywordtype">void</span> *, uint32 mask); -<a name="l00166"></a>00166 <span class="keywordtype">void</span> dma_storeList(ListDataPtr list, <span class="keywordtype">void</span> *, uint32 mask); -<a name="l00167"></a>00167 }; -<a name="l00168"></a>00168 -<a name="l00169"></a>00169 <span class="preprocessor">#endif</span> -<a name="l00170"></a>00170 <span class="preprocessor"></span> -<a name="l00171"></a>00171 <span class="keyword">extern</span> <span class="keywordtype">void</span> register_task(<span class="keywordtype">int</span> cmd, Scheduler::TaskObject task); -<a name="l00172"></a>00172 -<a name="l00173"></a>00173 <span class="preprocessor">#define SchedConstructor(str) \</span> -<a name="l00174"></a>00174 <span class="preprocessor"> str(void) {} \</span> -<a name="l00175"></a>00175 <span class="preprocessor"> BASE_NEW_DELETE(str) \</span> -<a name="l00176"></a>00176 <span class="preprocessor"></span> -<a name="l00177"></a>00177 <span class="preprocessor"></span><span class="preprocessor">#define SchedDefineTask(str) \</span> -<a name="l00178"></a>00178 <span class="preprocessor"> SchedTask* createTask_##str(void) \</span> -<a name="l00179"></a>00179 <span class="preprocessor"> { \</span> -<a name="l00180"></a>00180 <span class="preprocessor"> return new str(); \</span> -<a name="l00181"></a>00181 <span class="preprocessor"> }</span> -<a name="l00182"></a>00182 <span class="preprocessor"></span> -<a name="l00183"></a>00183 <span class="preprocessor">#define SchedExternTask(str) \</span> -<a name="l00184"></a>00184 <span class="preprocessor"> extern \</span> -<a name="l00185"></a>00185 <span class="preprocessor"> SchedTask* createTask_##str(void);</span> -<a name="l00186"></a>00186 <span class="preprocessor"></span> -<a name="l00187"></a>00187 <span class="preprocessor">#define SchedRegisterTask(cmd, str) \</span> -<a name="l00188"></a>00188 <span class="preprocessor"> register_task(cmd, createTask_##str);</span> +<a name="l00117"></a>00117 DmaManager* connector; +<a name="l00118"></a>00118 +<a name="l00119"></a>00119 <span class="comment">// Pipeline Stage</span> +<a name="l00120"></a>00120 SchedTaskBase* task1; +<a name="l00121"></a>00121 SchedTaskBase* task2; +<a name="l00122"></a>00122 SchedTaskBase* task3; +<a name="l00123"></a>00123 +<a name="l00124"></a>00124 <span class="comment">/* functions */</span> +<a name="l00125"></a>00125 <span class="keywordtype">void</span> init(<span class="keywordtype">void</span>); +<a name="l00126"></a>00126 <span class="keywordtype">void</span> run(<span class="keywordtype">void</span>); +<a name="l00127"></a>00127 <span class="keyword">virtual</span> <span class="keywordtype">void</span> init_impl(<span class="keywordtype">void</span>) {}; +<a name="l00128"></a>00128 <span class="keywordtype">void</span> finish(<span class="keywordtype">void</span>); +<a name="l00129"></a>00129 +<a name="l00130"></a>00130 TaskListPtr get_curListBuf(<span class="keywordtype">void</span>); +<a name="l00131"></a>00131 ListDataPtr get_curReadBuf(<span class="keywordtype">void</span>); +<a name="l00132"></a>00132 ListDataPtr get_curWriteBuf(<span class="keywordtype">void</span>); +<a name="l00133"></a>00133 TaskListPtr get_renewListBuf(<span class="keywordtype">void</span>); +<a name="l00134"></a>00134 +<a name="l00135"></a>00135 <span class="keywordtype">void</span> set_backupTaskList(TaskListPtr cur_taskList); +<a name="l00136"></a>00136 <span class="keywordtype">void</span> set_backupTaskListIndex(<span class="keywordtype">int</span> cur_index); +<a name="l00137"></a>00137 SchedTaskList* get_nextRenewTaskList(<span class="keywordtype">void</span>); +<a name="l00138"></a>00138 TaskListPtr get_backupTaskList(<span class="keywordtype">void</span>); +<a name="l00139"></a>00139 <span class="keywordtype">int</span> get_backupTaskListIndex(<span class="keywordtype">void</span>); +<a name="l00140"></a>00140 +<a name="l00141"></a>00141 <span class="comment">// ʤ̾Ѥ</span> +<a name="l00142"></a>00142 <span class="comment">/* TaskGroup */</span> +<a name="l00143"></a>00143 TaskGroupPtr set_groupTask(uint32 command); +<a name="l00144"></a>00144 <span class="keywordtype">void</span> add_groupTask(TaskGroupPtr group, TaskPtr task); +<a name="l00145"></a>00145 <span class="keywordtype">void</span> remove_groupTask(TaskGroupPtr group, TaskPtr task); +<a name="l00146"></a>00146 <span class="keywordtype">void</span> reload_groupTask(<span class="keywordtype">void</span>); +<a name="l00147"></a>00147 uint32 status_groupTask(TaskGroupPtr group); +<a name="l00148"></a>00148 +<a name="l00149"></a>00149 <span class="comment">/* GlobalMemory */</span> +<a name="l00150"></a>00150 <span class="keywordtype">void</span>* global_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size); +<a name="l00151"></a>00151 <span class="keywordtype">void</span>* global_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>); +<a name="l00152"></a>00152 <span class="keywordtype">void</span> global_free(<span class="keywordtype">int</span> <span class="keywordtype">id</span>); +<a name="l00153"></a>00153 +<a name="l00154"></a>00154 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *allocate(<span class="keywordtype">int</span> size) { <span class="keywordflow">return</span> NULL; }; +<a name="l00155"></a>00155 +<a name="l00156"></a>00156 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mainMem_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) {}; +<a name="l00157"></a>00157 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mainMem_wait(<span class="keywordtype">void</span>) {}; +<a name="l00158"></a>00158 <span class="keywordtype">void</span> *mainMem_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>); +<a name="l00159"></a>00159 +<a name="l00160"></a>00160 <span class="comment">/* DMA Transfer */</span> +<a name="l00161"></a>00161 <span class="keywordtype">void</span> dma_load(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask); +<a name="l00162"></a>00162 <span class="keywordtype">void</span> dma_store(<span class="keywordtype">void</span> *buf,uint32 addr, uint32 size, uint32 mask); +<a name="l00163"></a>00163 <span class="keywordtype">void</span> dma_wait(uint32 mask); +<a name="l00164"></a>00164 <span class="keywordtype">void</span> show_dma_wait() { connector->show_dma_wait(<span class="keywordtype">id</span>); }; +<a name="l00165"></a>00165 <span class="keywordtype">void</span> mail_write(uint32 data); +<a name="l00166"></a>00166 uint32 mail_read(<span class="keywordtype">void</span>); +<a name="l00167"></a>00167 <span class="keywordtype">void</span> dma_loadList(ListDataPtr list, <span class="keywordtype">void</span> *, uint32 mask); +<a name="l00168"></a>00168 <span class="keywordtype">void</span> dma_storeList(ListDataPtr list, <span class="keywordtype">void</span> *, uint32 mask); +<a name="l00169"></a>00169 }; +<a name="l00170"></a>00170 +<a name="l00171"></a>00171 <span class="preprocessor">#endif</span> +<a name="l00172"></a>00172 <span class="preprocessor"></span> +<a name="l00173"></a>00173 <span class="keyword">extern</span> <span class="keywordtype">void</span> register_task(<span class="keywordtype">int</span> cmd, Scheduler::TaskObject task); +<a name="l00174"></a>00174 +<a name="l00175"></a>00175 <span class="preprocessor">#define SchedConstructor(str) \</span> +<a name="l00176"></a>00176 <span class="preprocessor"> str(void) {} \</span> +<a name="l00177"></a>00177 <span class="preprocessor"> BASE_NEW_DELETE(str) \</span> +<a name="l00178"></a>00178 <span class="preprocessor"></span> +<a name="l00179"></a>00179 <span class="preprocessor"></span><span class="preprocessor">#define SchedDefineTask(str) \</span> +<a name="l00180"></a>00180 <span class="preprocessor"> SchedTask* createTask_##str(void) \</span> +<a name="l00181"></a>00181 <span class="preprocessor"> { \</span> +<a name="l00182"></a>00182 <span class="preprocessor"> return new str(); \</span> +<a name="l00183"></a>00183 <span class="preprocessor"> }</span> +<a name="l00184"></a>00184 <span class="preprocessor"></span> +<a name="l00185"></a>00185 <span class="preprocessor">#define SchedExternTask(str) \</span> +<a name="l00186"></a>00186 <span class="preprocessor"> extern \</span> +<a name="l00187"></a>00187 <span class="preprocessor"> SchedTask* createTask_##str(void);</span> +<a name="l00188"></a>00188 <span class="preprocessor"></span> +<a name="l00189"></a>00189 <span class="preprocessor">#define SchedRegisterTask(cmd, str) \</span> +<a name="l00190"></a>00190 <span class="preprocessor"> register_task(cmd, createTask_##str);</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SpanPackList_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SpanPackList_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -44,7 +44,7 @@ <a name="l00024"></a>00024 <a name="l00025"></a>00025 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/SpeThreads_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,170 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SpeThreads.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SpeThreads.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "types.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SpeThreads.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 SpeThreads::SpeThreads(<span class="keywordtype">int</span> num) : spe_num(num) {} +<a name="l00006"></a>00006 +<a name="l00007"></a>00007 SpeThreads::~SpeThreads(<span class="keywordtype">void</span>) +<a name="l00008"></a>00008 { +<a name="l00009"></a>00009 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mail = MY_SPE_COMMAND_EXIT; +<a name="l00010"></a>00010 <span class="keywordtype">int</span> ret; +<a name="l00011"></a>00011 +<a name="l00012"></a>00012 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < spe_num; i++) { +<a name="l00013"></a>00013 send_mail(i, 1, &mail); +<a name="l00014"></a>00014 } +<a name="l00015"></a>00015 +<a name="l00016"></a>00016 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < spe_num; i++) { +<a name="l00017"></a>00017 pthread_join(threads[i], NULL); +<a name="l00018"></a>00018 ret = spe_context_destroy(spe_ctx[i]); +<a name="l00019"></a>00019 <span class="keywordflow">if</span> (ret) { +<a name="l00020"></a>00020 perror(<span class="stringliteral">"[~SpeThreads] spe_context_destroy"</span>); +<a name="l00021"></a>00021 } +<a name="l00022"></a>00022 } +<a name="l00023"></a>00023 +<a name="l00024"></a>00024 spe_image_close(spe_handle); +<a name="l00025"></a>00025 +<a name="l00026"></a>00026 <span class="keyword">delete</span> [] spe_ctx; +<a name="l00027"></a>00027 <span class="keyword">delete</span> [] threads; +<a name="l00028"></a>00028 <span class="keyword">delete</span> [] args; +<a name="l00029"></a>00029 } +<a name="l00030"></a>00030 +<a name="l00031"></a>00031 <span class="keywordtype">void</span>* +<a name="l00032"></a>00032 SpeThreads::spe_thread_run(<span class="keywordtype">void</span> *arg) +<a name="l00033"></a>00033 { +<a name="l00034"></a>00034 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entry = SPE_DEFAULT_ENTRY; +<a name="l00035"></a>00035 <span class="comment">//spe_context_ptr_t ctx = (spe_context_ptr_t)arg;</span> +<a name="l00036"></a>00036 thread_arg_t *arg_t = (thread_arg_t *)arg; +<a name="l00037"></a>00037 +<a name="l00038"></a>00038 spe_stop_info_t stop_info; +<a name="l00039"></a>00039 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> status; +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 spe_context_run(arg_t->ctx, &entry, 0, (<span class="keywordtype">void</span>*)arg_t->speid, NULL, &stop_info); +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 status = ((stop_info.result.spe_exit_code & 0xff) << 8) +<a name="l00044"></a>00044 | (stop_info.result.spe_signal_code & 0xff); +<a name="l00045"></a>00045 +<a name="l00046"></a>00046 <span class="keywordflow">switch</span>(stop_info.stop_reason) { +<a name="l00047"></a>00047 <span class="keywordflow">case</span> SPE_EXIT: +<a name="l00048"></a>00048 <span class="comment">//printf("SPE_EXIT stop_info.result.stop_exit_code=0x%x\n", stop_info.result.spe_exit_code);</span> +<a name="l00049"></a>00049 <span class="keywordflow">break</span>; +<a name="l00050"></a>00050 <span class="keywordflow">case</span> SPE_STOP_AND_SIGNAL: +<a name="l00051"></a>00051 printf(<span class="stringliteral">"[SPE %d] SPE_STOP_AND_SIGNAL stop_info.result.stop_signal_code=%d\n"</span>, arg_t->speid, stop_info.result.spe_signal_code); +<a name="l00052"></a>00052 <span class="keywordflow">break</span>; +<a name="l00053"></a>00053 <span class="keywordflow">case</span> SPE_RUNTIME_ERROR: +<a name="l00054"></a>00054 printf(<span class="stringliteral">"[SPE %d] SPE_RUNTIME_ERROR stop_info.result.spe_runtime_error=%d\n"</span>, arg_t->speid, stop_info.result.spe_runtime_error); +<a name="l00055"></a>00055 <span class="keywordflow">break</span>; +<a name="l00056"></a>00056 <span class="keywordflow">case</span> SPE_RUNTIME_EXCEPTION: +<a name="l00057"></a>00057 printf(<span class="stringliteral">"[SPE %d] SPE_RUNTIME_EXCEPTION stop_info.result.spe_runtime_exception=%d\n"</span>, arg_t->speid, stop_info.result.spe_runtime_exception); +<a name="l00058"></a>00058 <span class="keywordflow">break</span>; +<a name="l00059"></a>00059 } +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 pthread_exit(NULL); +<a name="l00062"></a>00062 } +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 <span class="keywordtype">void</span>* +<a name="l00065"></a>00065 SpeThreads::frontend_thread_run(<span class="keywordtype">void</span> *arg) +<a name="l00066"></a>00066 { +<a name="l00067"></a>00067 pthread_t thread; +<a name="l00068"></a>00068 thread_arg_t *arg_t = (thread_arg_t *)arg; +<a name="l00069"></a>00069 +<a name="l00070"></a>00070 pthread_create(&thread, NULL, &spe_thread_run, (<span class="keywordtype">void</span>*)arg_t->ctx); +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="comment">// mail read blocking Ǥ</span> +<a name="l00073"></a>00073 <span class="comment">// ǸƤᤤ</span> +<a name="l00074"></a>00074 +<a name="l00075"></a>00075 pthread_exit(NULL); +<a name="l00076"></a>00076 } +<a name="l00077"></a>00077 +<a name="l00078"></a>00078 <span class="keywordtype">void</span> +<a name="l00079"></a>00079 SpeThreads::init(<span class="keywordtype">void</span>) +<a name="l00080"></a>00080 { +<a name="l00081"></a>00081 spe_handle = spe_image_open(SPE_ELF); +<a name="l00082"></a>00082 +<a name="l00083"></a>00083 <span class="keywordflow">if</span> (spe_handle == NULL) { +<a name="l00084"></a>00084 perror(<span class="stringliteral">"spe_image_open"</span>); +<a name="l00085"></a>00085 exit(EXIT_FAILURE); +<a name="l00086"></a>00086 } +<a name="l00087"></a>00087 +<a name="l00088"></a>00088 spe_ctx = <span class="keyword">new</span> spe_context_ptr_t[spe_num]; +<a name="l00089"></a>00089 threads = <span class="keyword">new</span> pthread_t[spe_num]; +<a name="l00090"></a>00090 args = <span class="keyword">new</span> thread_arg_t[spe_num]; +<a name="l00091"></a>00091 +<a name="l00092"></a>00092 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < spe_num; i++) { +<a name="l00093"></a>00093 args[i].speid = i; +<a name="l00094"></a>00094 spe_ctx[i] = spe_context_create(0, NULL); +<a name="l00095"></a>00095 spe_program_load(spe_ctx[i], spe_handle); +<a name="l00096"></a>00096 args[i].ctx = spe_ctx[i]; +<a name="l00097"></a>00097 } +<a name="l00098"></a>00098 +<a name="l00099"></a>00099 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < spe_num; i++) { +<a name="l00100"></a>00100 <span class="preprocessor">#if 0</span> +<a name="l00101"></a>00101 <span class="preprocessor"></span> pthread_create(&threads[i], NULL, +<a name="l00102"></a>00102 &frontend_thread_run, (<span class="keywordtype">void</span>*)&args[i]); +<a name="l00103"></a>00103 <span class="preprocessor">#else</span> +<a name="l00104"></a>00104 <span class="preprocessor"></span> pthread_create(&threads[i], NULL, +<a name="l00105"></a>00105 &spe_thread_run, (<span class="keywordtype">void</span>*)&args[i]); +<a name="l00106"></a>00106 <span class="preprocessor">#endif</span> +<a name="l00107"></a>00107 <span class="preprocessor"></span> } +<a name="l00108"></a>00108 } +<a name="l00109"></a>00109 +<a name="l00110"></a>00110 +<a name="l00119"></a>00119 <span class="keywordtype">int</span> +<a name="l00120"></a>00120 SpeThreads::get_mail(<span class="keywordtype">int</span> speid, <span class="keywordtype">int</span> count, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* ret) +<a name="l00121"></a>00121 { +<a name="l00122"></a>00122 <span class="keywordflow">while</span>(spe_out_mbox_status(spe_ctx[speid]) < count); +<a name="l00123"></a>00123 <span class="keywordflow">return</span> spe_out_mbox_read(spe_ctx[speid], ret, count); +<a name="l00124"></a>00124 } +<a name="l00125"></a>00125 +<a name="l00126"></a>00126 <span class="keywordtype">int</span> +<a name="l00127"></a>00127 SpeThreads::check_mail(<span class="keywordtype">int</span> speid, <span class="keywordtype">int</span> count, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* ret) +<a name="l00128"></a>00128 { +<a name="l00129"></a>00129 <span class="keywordflow">if</span> (spe_out_mbox_status(spe_ctx[speid]) >= count) { +<a name="l00130"></a>00130 <span class="keywordflow">return</span> spe_out_mbox_read(spe_ctx[speid], ret, count); +<a name="l00131"></a>00131 } <span class="keywordflow">else</span> { +<a name="l00132"></a>00132 <span class="keywordflow">return</span> 0; +<a name="l00133"></a>00133 } +<a name="l00134"></a>00134 } +<a name="l00135"></a>00135 +<a name="l00150"></a>00150 <span class="keywordtype">void</span> +<a name="l00151"></a>00151 SpeThreads::send_mail(<span class="keywordtype">int</span> speid, <span class="keywordtype">int</span> num, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *data) +<a name="l00152"></a>00152 { +<a name="l00153"></a>00153 spe_in_mbox_write(spe_ctx[speid], data, num, SPE_MBOX_ALL_BLOCKING); +<a name="l00154"></a>00154 } +<a name="l00155"></a>00155 +<a name="l00156"></a>00156 <span class="keywordtype">void</span> +<a name="l00157"></a>00157 SpeThreads::add_output_tasklist(<span class="keywordtype">int</span> command, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> buff, <span class="keywordtype">int</span> alloc_size) +<a name="l00158"></a>00158 { +<a name="l00159"></a>00159 <span class="comment">/*</span> +<a name="l00160"></a>00160 <span class="comment"> * output TaskList ̵п</span> +<a name="l00161"></a>00161 <span class="comment"> * TaskList allocate Task ɲ</span> +<a name="l00162"></a>00162 <span class="comment"> * command б Task ν¹Ԥ</span> +<a name="l00163"></a>00163 <span class="comment"> * SPE data Фä PPE ¦ǽ</span> +<a name="l00164"></a>00164 <span class="comment"> */</span> +<a name="l00165"></a>00165 +<a name="l00166"></a>00166 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/SpeThreads_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SpeThreads_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -57,7 +57,7 @@ <a name="l00037"></a>00037 <a name="l00038"></a>00038 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SpuDraw_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SpuDraw_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -62,7 +62,7 @@ <a name="l00042"></a>00042 <a name="l00043"></a>00043 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SpuSpan_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SpuSpan_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/Start_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,36 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: Start.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>Start.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "Start.h"</span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SysTask.h"</span> +<a name="l00003"></a>00003 +<a name="l00004"></a>00004 SchedDefineTask(Start); +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 <span class="keywordtype">int</span> +<a name="l00007"></a>00007 Start::run(<span class="keywordtype">void</span> *rbuf, <span class="keywordtype">void</span> *wbuf) +<a name="l00008"></a>00008 { +<a name="l00009"></a>00009 <span class="keywordflow">return</span> 0; +<a name="l00010"></a>00010 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/Start_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Start_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -34,7 +34,7 @@ <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/SymTable_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,92 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SymTable.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SymTable.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <string.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SymTable.h"</span> +<a name="l00003"></a>00003 +<a name="l00004"></a>00004 SymTable::~SymTable(<span class="keywordtype">void</span>) +<a name="l00005"></a>00005 { +<a name="l00006"></a>00006 SymTbPtr tb; +<a name="l00007"></a>00007 +<a name="l00008"></a>00008 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < symtb_index; i++) { +<a name="l00009"></a>00009 tb = &symtb[i]; +<a name="l00010"></a>00010 <span class="keyword">delete</span> [] tb->sym; +<a name="l00011"></a>00011 } +<a name="l00012"></a>00012 +<a name="l00013"></a>00013 <span class="keyword">delete</span> [] symtb; +<a name="l00014"></a>00014 } +<a name="l00015"></a>00015 +<a name="l00016"></a>00016 <span class="keywordtype">void</span> +<a name="l00017"></a>00017 SymTable::init(<span class="keywordtype">void</span>) +<a name="l00018"></a>00018 { +<a name="l00019"></a>00019 symtb = <span class="keyword">new</span> SymTb[SYM_MAX_SIZE]; +<a name="l00020"></a>00020 symtb_index = 0; +<a name="l00021"></a>00021 } +<a name="l00022"></a>00022 +<a name="l00023"></a>00023 <span class="keywordtype">void</span> +<a name="l00024"></a>00024 SymTable::set_symbol(<span class="keyword">const</span> <span class="keywordtype">char</span> *sym, FuncObject addr) +<a name="l00025"></a>00025 { +<a name="l00026"></a>00026 SymTbPtr tb = &symtb[symtb_index++]; +<a name="l00027"></a>00027 +<a name="l00028"></a>00028 tb->sym = <span class="keyword">new</span> <span class="keywordtype">char</span>[strlen(sym)+1]; +<a name="l00029"></a>00029 memcpy(tb->sym, sym, strlen(sym)+1); +<a name="l00030"></a>00030 tb->address = addr; +<a name="l00031"></a>00031 } +<a name="l00032"></a>00032 +<a name="l00033"></a>00033 <span class="keywordtype">void</span> +<a name="l00034"></a>00034 SymTable::set_func(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, FuncObject addr) +<a name="l00035"></a>00035 { +<a name="l00036"></a>00036 SymTbPtr tb = &symtb[id]; +<a name="l00037"></a>00037 +<a name="l00038"></a>00038 tb->address = addr; +<a name="l00039"></a>00039 } +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 SymTable::FuncObject +<a name="l00042"></a>00042 SymTable::get_address(<span class="keywordtype">int</span> fd) +<a name="l00043"></a>00043 { +<a name="l00044"></a>00044 <span class="keywordflow">if</span> (fd >= symtb_index) { +<a name="l00045"></a>00045 <span class="comment">// Fix me</span> +<a name="l00046"></a>00046 <span class="comment">// error process</span> +<a name="l00047"></a>00047 } +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 <span class="keywordflow">return</span> symtb[fd].address; +<a name="l00050"></a>00050 } +<a name="l00051"></a>00051 +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 <span class="keywordtype">int</span> +<a name="l00054"></a>00054 SymTable::get_fd(<span class="keyword">const</span> <span class="keywordtype">char</span> *sym) +<a name="l00055"></a>00055 { +<a name="l00056"></a>00056 SymTbPtr tb; +<a name="l00057"></a>00057 +<a name="l00058"></a>00058 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < SYM_MAX_SIZE; i++) { +<a name="l00059"></a>00059 tb = &symtb[i]; +<a name="l00060"></a>00060 <span class="keywordflow">if</span> (strcmp(tb->sym, sym) == 0) { +<a name="l00061"></a>00061 <span class="keywordflow">return</span> i; +<a name="l00062"></a>00062 } +<a name="l00063"></a>00063 } +<a name="l00064"></a>00064 +<a name="l00065"></a>00065 <span class="keywordflow">return</span> -1; +<a name="l00066"></a>00066 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/SymTable_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SymTable_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -46,7 +46,7 @@ <a name="l00026"></a>00026 <a name="l00027"></a>00027 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/SysTask_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/SysTask_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -27,7 +27,7 @@ <a name="l00007"></a>00007 <a name="l00008"></a>00008 <span class="keyword">extern</span> <span class="keywordtype">void</span> systask_register(<span class="keywordtype">void</span>); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/Tapestry_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Tapestry_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -66,7 +66,7 @@ <a name="l00123"></a>00123 <a name="l00124"></a>00124 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/TaskGroup_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/TaskGroup_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -49,7 +49,7 @@ <a name="l00040"></a>00040 <a name="l00041"></a>00041 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/TaskListInfo_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,120 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskListInfo.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskListInfo.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "TaskListInfo.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 TaskListInfo::TaskListInfo(<span class="keywordtype">void</span>) +<a name="l00006"></a>00006 :taskListPool(NULL), freeTaskList(NULL) {} +<a name="l00007"></a>00007 +<a name="l00008"></a>00008 TaskListInfo::~TaskListInfo(<span class="keywordtype">void</span>) { destroy(); } +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 <span class="keywordtype">int</span> +<a name="l00011"></a>00011 TaskListInfo::init(<span class="keywordtype">int</span> num) +<a name="l00012"></a>00012 { +<a name="l00013"></a>00013 <span class="keywordflow">if</span> (taskListPool == NULL) { +<a name="l00014"></a>00014 <span class="keywordflow">return</span> extend_pool(num); +<a name="l00015"></a>00015 } +<a name="l00016"></a>00016 <span class="keywordflow">return</span> 0; +<a name="l00017"></a>00017 } +<a name="l00018"></a>00018 +<a name="l00019"></a>00019 <span class="keywordtype">int</span> +<a name="l00020"></a>00020 TaskListInfo::extend_pool(<span class="keywordtype">int</span> num) +<a name="l00021"></a>00021 { +<a name="l00022"></a>00022 TaskListPtr q = NULL; +<a name="l00023"></a>00023 +<a name="l00024"></a>00024 q = (TaskListPtr)malloc(<span class="keyword">sizeof</span>(TaskList)*(num+1)); +<a name="l00025"></a>00025 +<a name="l00026"></a>00026 <span class="keywordflow">if</span> (q == NULL) { +<a name="l00027"></a>00027 <span class="keywordflow">return</span> -1; +<a name="l00028"></a>00028 } +<a name="l00029"></a>00029 +<a name="l00030"></a>00030 q->next = taskListPool; +<a name="l00031"></a>00031 taskListPool = q; +<a name="l00032"></a>00032 +<a name="l00033"></a>00033 <span class="comment">/* Connect all free pack_list in the pool */</span> +<a name="l00034"></a>00034 <span class="keywordflow">for</span> (q = taskListPool + 1; --num > 0; q++) { +<a name="l00035"></a>00035 q->next = q + 1; +<a name="l00036"></a>00036 } +<a name="l00037"></a>00037 q->next = freeTaskList; +<a name="l00038"></a>00038 freeTaskList = taskListPool + 1; +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 <span class="keywordflow">return</span> 0; +<a name="l00041"></a>00041 } +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 TaskListPtr +<a name="l00044"></a>00044 TaskListInfo::create(<span class="keywordtype">void</span>) +<a name="l00045"></a>00045 { +<a name="l00046"></a>00046 TaskListPtr q; +<a name="l00047"></a>00047 +<a name="l00048"></a>00048 <span class="keywordflow">if</span> (freeTaskList == NULL) { +<a name="l00049"></a>00049 extend_pool(10); +<a name="l00050"></a>00050 } +<a name="l00051"></a>00051 q = freeTaskList; +<a name="l00052"></a>00052 freeTaskList = freeTaskList->next; +<a name="l00053"></a>00053 +<a name="l00054"></a>00054 q->length = 0; +<a name="l00055"></a>00055 q->next = 0; +<a name="l00056"></a>00056 +<a name="l00057"></a>00057 <span class="keywordflow">return</span> q; +<a name="l00058"></a>00058 } +<a name="l00059"></a>00059 +<a name="l00060"></a>00060 <span class="keywordtype">void</span> +<a name="l00061"></a>00061 TaskListInfo::free(TaskListPtr q) +<a name="l00062"></a>00062 { +<a name="l00063"></a>00063 q->next = freeTaskList; +<a name="l00064"></a>00064 freeTaskList = q; +<a name="l00065"></a>00065 } +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keywordtype">void</span> +<a name="l00068"></a>00068 TaskListInfo::destroy(<span class="keywordtype">void</span>) +<a name="l00069"></a>00069 { +<a name="l00070"></a>00070 TaskListPtr q, tmp; +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="comment">//for (q = taskListPool; q; q = q->next) {</span> +<a name="l00073"></a>00073 q = taskListPool; +<a name="l00074"></a>00074 <span class="keywordflow">while</span> (q) { +<a name="l00075"></a>00075 tmp = q->next; +<a name="l00076"></a>00076 free(q); +<a name="l00077"></a>00077 q = tmp; +<a name="l00078"></a>00078 } +<a name="l00079"></a>00079 freeTaskList = taskListPool = NULL; +<a name="l00080"></a>00080 } +<a name="l00081"></a>00081 +<a name="l00082"></a>00082 TaskListPtr +<a name="l00083"></a>00083 TaskListInfo::append(TaskListPtr list, TaskListPtr q) +<a name="l00084"></a>00084 { +<a name="l00085"></a>00085 TaskListPtr p = list; +<a name="l00086"></a>00086 +<a name="l00087"></a>00087 <span class="keywordflow">if</span> (!p) { +<a name="l00088"></a>00088 <span class="keywordflow">return</span> q; +<a name="l00089"></a>00089 } <span class="keywordflow">else</span> { +<a name="l00090"></a>00090 <span class="keywordflow">while</span> (p->next) p = p->next; +<a name="l00091"></a>00091 p->next = q; +<a name="l00092"></a>00092 <span class="keywordflow">return</span> list; +<a name="l00093"></a>00093 } +<a name="l00094"></a>00094 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/TaskListInfo_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/TaskListInfo_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -55,7 +55,7 @@ <a name="l00035"></a>00035 <a name="l00036"></a>00036 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/TaskList_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/TaskList_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -49,7 +49,7 @@ <a name="l00029"></a>00029 <a name="l00030"></a>00030 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/TaskManagerImpl_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,229 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskManagerImpl.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskManagerImpl.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "TaskManagerImpl.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "types.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "error.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "../sys_task/SysTask.h"</span> +<a name="l00006"></a>00006 +<a name="l00007"></a>00007 <span class="keyword">static</span> HTaskPtr systask_start; +<a name="l00008"></a>00008 <span class="keyword">static</span> HTaskPtr systask_finish; +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 <span class="keywordtype">void</span> +<a name="l00011"></a>00011 noaction(<span class="keywordtype">void</span> *p) +<a name="l00012"></a>00012 { +<a name="l00013"></a>00013 } +<a name="l00014"></a>00014 +<a name="l00015"></a>00015 TaskManagerImpl::TaskManagerImpl(<span class="keywordtype">int</span> num) +<a name="l00016"></a>00016 : machineNum(num), activeTaskQueue(NULL), waitTaskQueue(NULL) {} +<a name="l00017"></a>00017 +<a name="l00023"></a>00023 <span class="keywordtype">void</span> +<a name="l00024"></a>00024 TaskManagerImpl::systask_init(<span class="keywordtype">void</span>) +<a name="l00025"></a>00025 { +<a name="l00026"></a>00026 systask_register(); +<a name="l00027"></a>00027 +<a name="l00028"></a>00028 systask_start = create_task(SYSTASK_START); +<a name="l00029"></a>00029 systask_finish = create_task(SYSTASK_FINISH); +<a name="l00030"></a>00030 +<a name="l00031"></a>00031 systask_start->spawn(); +<a name="l00032"></a>00032 +<a name="l00033"></a>00033 <span class="comment">// systask_finish spawn </span> +<a name="l00034"></a>00034 <span class="comment">// systask_finish->wait_for(systask_finish);</span> +<a name="l00035"></a>00035 <span class="comment">// Ȥʤä̵¥롼פˤʤΤǡ</span> +<a name="l00036"></a>00036 <span class="comment">// Ū append_waitTask() </span> +<a name="l00037"></a>00037 append_waitTask(systask_finish); +<a name="l00038"></a>00038 } +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 HTaskPtr +<a name="l00041"></a>00041 TaskManagerImpl::create_task(<span class="keywordtype">int</span> cmd) +<a name="l00042"></a>00042 { +<a name="l00043"></a>00043 HTaskPtr new_task; +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 new_task = bufferManager->create_task(cmd); +<a name="l00046"></a>00046 new_task->post_func = noaction; +<a name="l00047"></a>00047 new_task->mimpl = <span class="keyword">this</span>; +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 <span class="keywordflow">return</span> new_task; +<a name="l00050"></a>00050 } +<a name="l00051"></a>00051 +<a name="l00057"></a>00057 <span class="keywordtype">void</span> +<a name="l00058"></a>00058 TaskManagerImpl::set_task_depend(HTaskPtr master, HTaskPtr slave) +<a name="l00059"></a>00059 { +<a name="l00060"></a>00060 TaskQueuePtr m, s; +<a name="l00061"></a>00061 +<a name="l00062"></a>00062 m = bufferManager->create_taskQueue(master); +<a name="l00063"></a>00063 s = bufferManager->create_taskQueue(slave); +<a name="l00064"></a>00064 +<a name="l00065"></a>00065 master->wait_me = TaskQueue::append(master->wait_me, s); +<a name="l00066"></a>00066 slave->wait_i = TaskQueue::append(slave->wait_i, m); +<a name="l00067"></a>00067 } +<a name="l00068"></a>00068 +<a name="l00074"></a>00074 <span class="keywordtype">void</span> +<a name="l00075"></a>00075 TaskManagerImpl::spawn_task(HTaskPtr task) +<a name="l00076"></a>00076 { +<a name="l00077"></a>00077 <span class="comment">// waiter // master</span> +<a name="l00078"></a>00078 <span class="comment">// waitee // slave</span> +<a name="l00079"></a>00079 <span class="keywordflow">if</span> (task->wait_i == NULL) { +<a name="l00080"></a>00080 append_activeTask(task); +<a name="l00081"></a>00081 } <span class="keywordflow">else</span> { +<a name="l00082"></a>00082 append_waitTask(task); +<a name="l00083"></a>00083 } +<a name="l00084"></a>00084 +<a name="l00085"></a>00085 systask_finish->wait_for(task); +<a name="l00086"></a>00086 } +<a name="l00087"></a>00087 +<a name="l00091"></a>00091 <span class="keywordtype">void</span> +<a name="l00092"></a>00092 TaskManagerImpl::append_activeTask(HTaskPtr task) +<a name="l00093"></a>00093 { +<a name="l00094"></a>00094 TaskQueuePtr q; +<a name="l00095"></a>00095 +<a name="l00096"></a>00096 q = bufferManager->create_taskQueue(task); +<a name="l00097"></a>00097 activeTaskQueue = TaskQueue::append(activeTaskQueue, q); +<a name="l00098"></a>00098 } +<a name="l00099"></a>00099 +<a name="l00106"></a>00106 <span class="keywordtype">void</span> +<a name="l00107"></a>00107 TaskManagerImpl::set_task_cpu(HTaskPtr task, CPU_TYPE type) +<a name="l00108"></a>00108 { +<a name="l00109"></a>00109 task->cpu_type = type; +<a name="l00110"></a>00110 } +<a name="l00111"></a>00111 +<a name="l00119"></a>00119 <span class="keywordtype">void</span> +<a name="l00120"></a>00120 TaskManagerImpl::check_task_finish(HTaskPtr task) +<a name="l00121"></a>00121 { +<a name="l00122"></a>00122 notify_wait_taskQueue(task, task->wait_me); +<a name="l00123"></a>00123 task->post_func(task->post_arg); +<a name="l00124"></a>00124 bufferManager->free_task(task); +<a name="l00125"></a>00125 } +<a name="l00126"></a>00126 +<a name="l00131"></a>00131 <span class="keywordtype">void</span> +<a name="l00132"></a>00132 TaskManagerImpl::notify_wait_taskQueue(HTaskPtr depend, TaskQueuePtr list) +<a name="l00133"></a>00133 { +<a name="l00134"></a>00134 TaskQueuePtr p; +<a name="l00135"></a>00135 HTaskPtr task; +<a name="l00136"></a>00136 +<a name="l00137"></a>00137 p = list; <span class="comment">// wait task list</span> +<a name="l00138"></a>00138 +<a name="l00139"></a>00139 <span class="keywordflow">while</span> (p) { +<a name="l00140"></a>00140 task = (HTaskPtr)p->task; +<a name="l00141"></a>00141 task->wait_i = remove_taskQueue_eq_task(task->wait_i, depend); +<a name="l00142"></a>00142 p = p->next; +<a name="l00143"></a>00143 } +<a name="l00144"></a>00144 +<a name="l00145"></a>00145 remove_taskQueue_all(list); +<a name="l00146"></a>00146 } +<a name="l00147"></a>00147 +<a name="l00148"></a>00148 <span class="keywordtype">void</span> +<a name="l00149"></a>00149 TaskManagerImpl::append_waitTask(HTaskPtr task) +<a name="l00150"></a>00150 { +<a name="l00151"></a>00151 TaskQueuePtr q; +<a name="l00152"></a>00152 +<a name="l00153"></a>00153 q = bufferManager->create_taskQueue(task); +<a name="l00154"></a>00154 waitTaskQueue = TaskQueue::append(waitTaskQueue, q); +<a name="l00155"></a>00155 } +<a name="l00156"></a>00156 +<a name="l00161"></a>00161 <span class="keywordtype">void</span> +<a name="l00162"></a>00162 TaskManagerImpl::wakeup_waitTask(<span class="keywordtype">void</span>) +<a name="l00163"></a>00163 { +<a name="l00164"></a>00164 TaskQueuePtr p, tmp; +<a name="l00165"></a>00165 +<a name="l00166"></a>00166 p = waitTaskQueue; +<a name="l00167"></a>00167 <span class="keywordflow">while</span> (p) { +<a name="l00168"></a>00168 HTaskPtr task = (HTaskPtr)p->task; +<a name="l00169"></a>00169 tmp = p; +<a name="l00170"></a>00170 p = p->next; +<a name="l00171"></a>00171 if (task->wait_i == NULL) { +<a name="l00172"></a>00172 append_activeTask(task); +<a name="l00173"></a>00173 waitTaskQueue = remove_taskQueue(waitTaskQueue, tmp); +<a name="l00174"></a>00174 } +<a name="l00175"></a>00175 } +<a name="l00176"></a>00176 } +<a name="l00177"></a>00177 +<a name="l00178"></a>00178 <span class="keywordtype">void</span> +<a name="l00179"></a>00179 TaskManagerImpl::remove_taskQueue_all(TaskQueuePtr list) +<a name="l00180"></a>00180 { +<a name="l00181"></a>00181 TaskQueuePtr p = list; +<a name="l00182"></a>00182 TaskQueuePtr p1; +<a name="l00183"></a>00183 +<a name="l00184"></a>00184 <span class="keywordflow">while</span> (p != NULL) { +<a name="l00185"></a>00185 p1 = p->next; +<a name="l00186"></a>00186 bufferManager->free_taskQueue(p); +<a name="l00187"></a>00187 p = p1; +<a name="l00188"></a>00188 } +<a name="l00189"></a>00189 } +<a name="l00190"></a>00190 +<a name="l00196"></a>00196 TaskQueuePtr +<a name="l00197"></a>00197 TaskManagerImpl::remove_taskQueue_eq_task(TaskQueuePtr list, HTaskPtr task) +<a name="l00198"></a>00198 { +<a name="l00199"></a>00199 TaskQueuePtr p = list; +<a name="l00200"></a>00200 TaskQueuePtr p1; +<a name="l00201"></a>00201 +<a name="l00202"></a>00202 <span class="keywordflow">if</span> (p == NULL) <span class="keywordflow">return</span> p; +<a name="l00203"></a>00203 +<a name="l00204"></a>00204 <span class="keywordflow">if</span> (p->task == task) { +<a name="l00205"></a>00205 list = list->next; +<a name="l00206"></a>00206 bufferManager->free_taskQueue(p); +<a name="l00207"></a>00207 } <span class="keywordflow">else</span> { +<a name="l00208"></a>00208 p1 = p->next; +<a name="l00209"></a>00209 <span class="keywordflow">while</span> (p1 && p1->task && p1->task != task) { +<a name="l00210"></a>00210 p1 = p1->next; +<a name="l00211"></a>00211 p = p->next; +<a name="l00212"></a>00212 } +<a name="l00213"></a>00213 <span class="keywordflow">if</span> (p1) { +<a name="l00214"></a>00214 p->next = p1->next; +<a name="l00215"></a>00215 bufferManager->free_taskQueue(p1); +<a name="l00216"></a>00216 } +<a name="l00217"></a>00217 } +<a name="l00218"></a>00218 +<a name="l00219"></a>00219 <span class="keywordflow">return</span> list; +<a name="l00220"></a>00220 } +<a name="l00221"></a>00221 +<a name="l00222"></a>00222 TaskQueuePtr +<a name="l00223"></a>00223 TaskManagerImpl::remove_taskQueue(TaskQueuePtr list, TaskQueuePtr q) +<a name="l00224"></a>00224 { +<a name="l00225"></a>00225 TaskQueuePtr p = list; +<a name="l00226"></a>00226 TaskQueuePtr p1; +<a name="l00227"></a>00227 +<a name="l00228"></a>00228 <span class="keywordflow">if</span> (!p) <span class="keywordflow">return</span> p; +<a name="l00229"></a>00229 +<a name="l00230"></a>00230 <span class="keywordflow">if</span> (p == q) { +<a name="l00231"></a>00231 list = list->next; +<a name="l00232"></a>00232 bufferManager->free_taskQueue(p); +<a name="l00233"></a>00233 } <span class="keywordflow">else</span> { +<a name="l00234"></a>00234 p1 = p->next; +<a name="l00235"></a>00235 <span class="keywordflow">while</span> (p1 && p1 != q) { +<a name="l00236"></a>00236 p1 = p1->next; +<a name="l00237"></a>00237 p = p->next; +<a name="l00238"></a>00238 } +<a name="l00239"></a>00239 <span class="keywordflow">if</span> (p1) { +<a name="l00240"></a>00240 p->next = p1->next; +<a name="l00241"></a>00241 bufferManager->free_taskQueue(p1); +<a name="l00242"></a>00242 } +<a name="l00243"></a>00243 } +<a name="l00244"></a>00244 +<a name="l00245"></a>00245 <span class="keywordflow">return</span> list; +<a name="l00246"></a>00246 } +<a name="l00247"></a>00247 +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/TaskManagerImpl_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/TaskManagerImpl_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -43,7 +43,7 @@ <a name="l00023"></a>00023 <span class="keywordtype">int</span> machineNum; <a name="l00024"></a>00024 TaskQueuePtr activeTaskQueue; <a name="l00025"></a>00025 TaskQueuePtr waitTaskQueue; -<a name="l00026"></a>00026 BufferManager *bufferManager; +<a name="l00026"></a>00026 <a class="code" href="classBufferManager.html">BufferManager</a> *bufferManager; <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="comment">/* functions */</span> <a name="l00029"></a>00029 <span class="comment">// system</span> @@ -70,7 +70,7 @@ <a name="l00050"></a>00050 }; <a name="l00051"></a>00051 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/TaskManager_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,89 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskManager.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskManager.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "TaskManager.h"</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 TaskManager::TaskManager(<span class="keywordtype">int</span> num) : machineNum(num) +<a name="l00004"></a>00004 { +<a name="l00005"></a>00005 gen_random = <span class="keyword">new</span> Random; +<a name="l00006"></a>00006 } +<a name="l00007"></a>00007 +<a name="l00008"></a>00008 TaskManager::~TaskManager(<span class="keywordtype">void</span>) +<a name="l00009"></a>00009 { +<a name="l00010"></a>00010 <span class="keyword">delete</span> m_impl; +<a name="l00011"></a>00011 <span class="keyword">delete</span> gen_random; +<a name="l00012"></a>00012 } +<a name="l00013"></a>00013 +<a name="l00030"></a>00030 <span class="keyword">extern</span> TaskManagerImpl* create_impl(<span class="keywordtype">int</span>); +<a name="l00031"></a>00031 +<a name="l00032"></a>00032 <span class="keywordtype">void</span> +<a name="l00033"></a>00033 TaskManager::init(<span class="keywordtype">void</span>) +<a name="l00034"></a>00034 { +<a name="l00035"></a>00035 m_impl = create_impl(machineNum); +<a name="l00036"></a>00036 m_impl->init(); +<a name="l00037"></a>00037 m_impl->systask_init(); +<a name="l00038"></a>00038 } +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 <span class="keywordtype">void</span> +<a name="l00041"></a>00041 TaskManager::finish(<span class="keywordtype">void</span>) +<a name="l00042"></a>00042 { +<a name="l00043"></a>00043 <span class="keyword">delete</span> m_impl; +<a name="l00044"></a>00044 } +<a name="l00045"></a>00045 +<a name="l00051"></a>00051 HTaskPtr +<a name="l00052"></a>00052 TaskManager::create_task(<span class="keywordtype">int</span> cmd) +<a name="l00053"></a>00053 { +<a name="l00054"></a>00054 <span class="keywordflow">return</span> m_impl->create_task(cmd); +<a name="l00055"></a>00055 } +<a name="l00056"></a>00056 +<a name="l00060"></a>00060 <span class="keywordtype">void</span> +<a name="l00061"></a>00061 TaskManager::set_TMend(<span class="keywordtype">void</span> (*endf)(<span class="keywordtype">void</span>)) +<a name="l00062"></a>00062 { +<a name="l00063"></a>00063 tm_end = endf; +<a name="l00064"></a>00064 } +<a name="l00065"></a>00065 +<a name="l00066"></a>00066 <span class="keywordtype">void</span> +<a name="l00067"></a>00067 TaskManager::run(<span class="keywordtype">void</span>) +<a name="l00068"></a>00068 { +<a name="l00069"></a>00069 m_impl->run(); +<a name="l00070"></a>00070 } +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="keywordtype">void</span>* +<a name="l00073"></a>00073 TaskManager::allocate(<span class="keywordtype">int</span> size) { +<a name="l00074"></a>00074 <span class="keywordflow">return</span> m_impl->allocate(size); +<a name="l00075"></a>00075 } +<a name="l00076"></a>00076 +<a name="l00077"></a>00077 <span class="keywordtype">int</span> +<a name="l00078"></a>00078 TaskManager::get_cpuNum(<span class="keywordtype">void</span>) +<a name="l00079"></a>00079 { +<a name="l00080"></a>00080 <span class="keywordflow">return</span> machineNum; +<a name="l00081"></a>00081 } +<a name="l00082"></a>00082 +<a name="l00083"></a>00083 <span class="keywordtype">int</span> +<a name="l00084"></a>00084 TaskManager::get_random(<span class="keywordtype">void</span>) +<a name="l00085"></a>00085 { +<a name="l00086"></a>00086 <span class="keywordflow">return</span> gen_random->getData(); +<a name="l00087"></a>00087 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/TaskManager_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/TaskManager_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -60,7 +60,7 @@ <a name="l00040"></a>00040 <span class="preprocessor"></span> <a name="l00041"></a>00041 <span class="keyword">extern</span> TaskManager *manager; </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/TaskQueueInfo_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,114 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskQueueInfo.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskQueueInfo.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "TaskQueueInfo.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 TaskQueueInfo::TaskQueueInfo(<span class="keywordtype">void</span>) +<a name="l00006"></a>00006 :taskQueuePool(NULL), freeTaskQueue(NULL) {} +<a name="l00007"></a>00007 +<a name="l00008"></a>00008 TaskQueueInfo::~TaskQueueInfo(<span class="keywordtype">void</span>) { destroy(); } +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 <span class="keywordtype">int</span> +<a name="l00011"></a>00011 TaskQueueInfo::init(<span class="keywordtype">int</span> num) +<a name="l00012"></a>00012 { +<a name="l00013"></a>00013 <span class="keywordflow">if</span> (taskQueuePool == NULL) { +<a name="l00014"></a>00014 <span class="keywordflow">return</span> extend_pool(num); +<a name="l00015"></a>00015 } +<a name="l00016"></a>00016 <span class="keywordflow">return</span> 0; +<a name="l00017"></a>00017 } +<a name="l00018"></a>00018 +<a name="l00019"></a>00019 <span class="keywordtype">int</span> +<a name="l00020"></a>00020 TaskQueueInfo::extend_pool(<span class="keywordtype">int</span> num) +<a name="l00021"></a>00021 { +<a name="l00022"></a>00022 TaskQueuePtr q = NULL; +<a name="l00023"></a>00023 +<a name="l00024"></a>00024 q = (TaskQueuePtr)malloc(<span class="keyword">sizeof</span>(TaskQueue)*(num+1)); +<a name="l00025"></a>00025 +<a name="l00026"></a>00026 <span class="keywordflow">if</span> (q == NULL) { +<a name="l00027"></a>00027 <span class="keywordflow">return</span> -1; +<a name="l00028"></a>00028 } +<a name="l00029"></a>00029 q->next = taskQueuePool; +<a name="l00030"></a>00030 taskQueuePool = q; +<a name="l00031"></a>00031 +<a name="l00032"></a>00032 <span class="comment">/* Connect all free queue in the pool */</span> +<a name="l00033"></a>00033 <span class="keywordflow">for</span> (q = taskQueuePool + 1; --num > 0; q++) { +<a name="l00034"></a>00034 q->next = q + 1; +<a name="l00035"></a>00035 } +<a name="l00036"></a>00036 q->next = freeTaskQueue; +<a name="l00037"></a>00037 freeTaskQueue = taskQueuePool + 1; +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="keywordflow">return</span> 0; +<a name="l00040"></a>00040 } +<a name="l00041"></a>00041 +<a name="l00042"></a>00042 TaskQueuePtr +<a name="l00043"></a>00043 TaskQueueInfo::create(TaskPtr task) +<a name="l00044"></a>00044 { +<a name="l00045"></a>00045 TaskQueuePtr q; +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <span class="keywordflow">if</span> (freeTaskQueue == NULL) { +<a name="l00048"></a>00048 extend_pool(100); +<a name="l00049"></a>00049 } +<a name="l00050"></a>00050 q = freeTaskQueue; +<a name="l00051"></a>00051 freeTaskQueue = freeTaskQueue->next; +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 q->task = task; +<a name="l00054"></a>00054 q->next = NULL; +<a name="l00055"></a>00055 +<a name="l00056"></a>00056 <span class="keywordflow">return</span> q; +<a name="l00057"></a>00057 } +<a name="l00058"></a>00058 +<a name="l00059"></a>00059 +<a name="l00060"></a>00060 <span class="keywordtype">void</span> +<a name="l00061"></a>00061 TaskQueueInfo::free(TaskQueuePtr q) +<a name="l00062"></a>00062 { +<a name="l00063"></a>00063 q->next = freeTaskQueue; +<a name="l00064"></a>00064 freeTaskQueue = q; +<a name="l00065"></a>00065 } +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 +<a name="l00068"></a>00068 <span class="keywordtype">void</span> +<a name="l00069"></a>00069 TaskQueueInfo::destroy(<span class="keywordtype">void</span>) +<a name="l00070"></a>00070 { +<a name="l00071"></a>00071 TaskQueuePtr q, tmp; +<a name="l00072"></a>00072 +<a name="l00073"></a>00073 <span class="preprocessor">#if 1</span> +<a name="l00074"></a>00074 <span class="preprocessor"></span> q = taskQueuePool; +<a name="l00075"></a>00075 <span class="keywordflow">while</span> (q) { +<a name="l00076"></a>00076 tmp = q->next; +<a name="l00077"></a>00077 free(q); +<a name="l00078"></a>00078 q = tmp; +<a name="l00079"></a>00079 } +<a name="l00080"></a>00080 <span class="preprocessor">#else</span> +<a name="l00081"></a>00081 <span class="preprocessor"></span> <span class="keywordflow">for</span> (q = taskQueuePool; q; q = q->next) { +<a name="l00082"></a>00082 free(q); +<a name="l00083"></a>00083 } +<a name="l00084"></a>00084 <span class="preprocessor">#endif</span> +<a name="l00085"></a>00085 <span class="preprocessor"></span> freeTaskQueue = taskQueuePool = NULL; +<a name="l00086"></a>00086 +<a name="l00087"></a>00087 +<a name="l00088"></a>00088 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/TaskQueueInfo_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/TaskQueueInfo_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -48,7 +48,7 @@ <a name="l00028"></a>00028 <a name="l00029"></a>00029 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/TaskQueue_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/TaskQueue_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -47,7 +47,7 @@ <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/Task_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Task_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -64,7 +64,7 @@ <a name="l00044"></a>00044 <a name="l00045"></a>00045 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/TextureHash_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/TextureHash_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -40,7 +40,7 @@ <a name="l00020"></a>00020 <a name="l00021"></a>00021 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/Venus_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/Venus_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -29,7 +29,7 @@ <a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define Venus005 scene_graph->next->next->next->next->next->next->next->next</span> <a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define Venus009 scene_graph->next->next->next->next->next->next->next->next->next</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/annotated.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/annotated.html Fri Jun 05 18:16:31 2009 +0900 @@ -16,17 +16,19 @@ <div class="tabs"> <ul> <li class="current"><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table> + <tr><td class="indexkey"><a class="el" href="classBufferManager.html">BufferManager</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><a class="el" href="structtexture__block.html">texture_block</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><a class="el" href="classTileList.html">TileList</a></td><td class="indexvalue"></td></tr> </table> </div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/base_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/base_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -44,7 +44,7 @@ <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l00025"></a>00025 <span class="preprocessor"></span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:05 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/blast_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/blast_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -27,7 +27,7 @@ <a name="l00007"></a>00007 <span class="preprocessor"></span><span class="preprocessor">#define BLAST2 scene_graph->next->next->next->next->next->next</span> <a name="l00008"></a>00008 <span class="preprocessor"></span><span class="preprocessor">#define BLAST1 scene_graph->next->next->next->next->next->next->next</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/boss1_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/boss1_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -22,7 +22,7 @@ <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define BOSS1_L scene_graph->next</span> <a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#define BOSS1_R scene_graph->next->next</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/boss1__action_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/boss1__action_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -80,7 +80,7 @@ <a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keywordtype">void</span> <a name="l00061"></a>00061 blast_move(SceneGraphPtr node, <span class="keywordtype">int</span> screen_w, <span class="keywordtype">int</span> screen_h); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/bullet__action_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/bullet__action_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -22,7 +22,7 @@ <a name="l00002"></a>00002 <span class="keywordtype">void</span> bluebullet_move(SceneGraphPtr node, <span class="keywordtype">int</span> screen_w, <span class="keywordtype">int</span> screen_h); <a name="l00003"></a>00003 <span class="keywordtype">void</span> bullet_collision(SceneGraphPtr node, <span class="keywordtype">int</span> screen_w, <span class="keywordtype">int</span> screen_h ,SceneGraphPtr tree); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/camera__action_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/camera__action_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -22,7 +22,7 @@ <a name="l00002"></a>00002 <span class="keywordtype">void</span> c_movet(SceneGraphPtr node, <span class="keywordtype">int</span> screen_w, <span class="keywordtype">int</span> screen_h); <a name="l00003"></a>00003 <span class="keywordtype">void</span> camera_collision(SceneGraphPtr node, <span class="keywordtype">int</span> screen_w, <span class="keywordtype">int</span> screen_h, SceneGraphPtr tree); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/classBufferManager-members.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,46 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: Member List</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>BufferManager Member List</h1>This is the complete list of members for <a class="el" href="classBufferManager.html">BufferManager</a>, including all inherited members.<p><table> + <tr bgcolor="#f0f0f0"><td><b>BufferManager</b>(int num=1) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>clear_taskList</b>(TaskListPtr) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>create_task</b>(int cmd) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>create_taskList</b>(void) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>create_taskQueue</b>(HTaskPtr) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>finish</b>(void) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>free_task</b>(HTaskPtr) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>free_taskList</b>(TaskListPtr) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>free_taskQueue</b>(TaskQueuePtr) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>htaskImpl</b> (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>init</b>(void) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td><code> [virtual]</code></td></tr> + <tr bgcolor="#f0f0f0"><td><b>machineNum</b> (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>taskListImpl</b> (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>taskQueueImpl</b> (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td></td></tr> + <tr bgcolor="#f0f0f0"><td><b>~BufferManager</b>(void) (defined in <a class="el" href="classBufferManager.html">BufferManager</a>)</td><td><a class="el" href="classBufferManager.html">BufferManager</a></td><td><code> [virtual]</code></td></tr> +</table></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/classBufferManager.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,88 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: BufferManager Class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>BufferManager Class Reference</h1><!-- doxytag: class="BufferManager" --><code>#include <<a class="el" href="BufferManager_8h-source.html">BufferManager.h</a>></code> +<p> +Inherited by CellBufferManager. +<p> + +<p> +<a href="classBufferManager-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f6520c0cb5b2546fa5c0a0357c75c9f"></a><!-- doxytag: member="BufferManager::BufferManager" ref="9f6520c0cb5b2546fa5c0a0357c75c9f" args="(int num=1)" --> + </td><td class="memItemRight" valign="bottom"><b>BufferManager</b> (int num=1)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1795106aa9914c8089d6ea2c8e171a5d"></a><!-- doxytag: member="BufferManager::init" ref="1795106aa9914c8089d6ea2c8e171a5d" args="(void)" --> +virtual void </td><td class="memItemRight" valign="bottom"><b>init</b> (void)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9dd8ede25545cff6ab9e1bb6936967d1"></a><!-- doxytag: member="BufferManager::create_taskList" ref="9dd8ede25545cff6ab9e1bb6936967d1" args="(void)" --> +TaskListPtr </td><td class="memItemRight" valign="bottom"><b>create_taskList</b> (void)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38d9adc627d38c5aad0d9b36062df029"></a><!-- doxytag: member="BufferManager::free_taskList" ref="38d9adc627d38c5aad0d9b36062df029" args="(TaskListPtr)" --> +void </td><td class="memItemRight" valign="bottom"><b>free_taskList</b> (TaskListPtr)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a83740aaeb16b56dbb944d5549e7dfb1"></a><!-- doxytag: member="BufferManager::clear_taskList" ref="a83740aaeb16b56dbb944d5549e7dfb1" args="(TaskListPtr)" --> +TaskListPtr </td><td class="memItemRight" valign="bottom"><b>clear_taskList</b> (TaskListPtr)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="020b8ed41ae771ab4a80e0ac36cbd439"></a><!-- doxytag: member="BufferManager::create_taskQueue" ref="020b8ed41ae771ab4a80e0ac36cbd439" args="(HTaskPtr)" --> +TaskQueuePtr </td><td class="memItemRight" valign="bottom"><b>create_taskQueue</b> (HTaskPtr)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c978e7795a045a278f1e9277756d0dd"></a><!-- doxytag: member="BufferManager::free_taskQueue" ref="1c978e7795a045a278f1e9277756d0dd" args="(TaskQueuePtr)" --> +void </td><td class="memItemRight" valign="bottom"><b>free_taskQueue</b> (TaskQueuePtr)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91144fbb6e48dd52792073d8e41795a6"></a><!-- doxytag: member="BufferManager::create_task" ref="91144fbb6e48dd52792073d8e41795a6" args="(int cmd)" --> +HTaskPtr </td><td class="memItemRight" valign="bottom"><b>create_task</b> (int cmd)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0254144c5bc89574d57073a5b4443004"></a><!-- doxytag: member="BufferManager::free_task" ref="0254144c5bc89574d57073a5b4443004" args="(HTaskPtr)" --> +void </td><td class="memItemRight" valign="bottom"><b>free_task</b> (HTaskPtr)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e90929562369d98573b1dc1d97506e7"></a><!-- doxytag: member="BufferManager::finish" ref="0e90929562369d98573b1dc1d97506e7" args="(void)" --> +void </td><td class="memItemRight" valign="bottom"><b>finish</b> (void)</td></tr> + +<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2b213a2bece5dcd3441d3270937cd0b"></a><!-- doxytag: member="BufferManager::taskListImpl" ref="d2b213a2bece5dcd3441d3270937cd0b" args="" --> +TaskListInfo * </td><td class="memItemRight" valign="bottom"><b>taskListImpl</b></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7df679af7bea986434fc60ce81c3bd6b"></a><!-- doxytag: member="BufferManager::taskQueueImpl" ref="7df679af7bea986434fc60ce81c3bd6b" args="" --> +TaskQueueInfo * </td><td class="memItemRight" valign="bottom"><b>taskQueueImpl</b></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="046658d075870d6c14c4ccb8d91f71b8"></a><!-- doxytag: member="BufferManager::htaskImpl" ref="046658d075870d6c14c4ccb8d91f71b8" args="" --> +HTaskInfo * </td><td class="memItemRight" valign="bottom"><b>htaskImpl</b></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7df9fcae63365f7b0217726a72ce258a"></a><!-- doxytag: member="BufferManager::machineNum" ref="7df9fcae63365f7b0217726a72ce258a" args="" --> +int </td><td class="memItemRight" valign="bottom"><b>machineNum</b></td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Task Input/Output buffer manager +<p>Definition at line <a class="el" href="BufferManager_8h-source.html#l00025">25</a> of file <a class="el" href="BufferManager_8h-source.html">BufferManager.h</a>.</p> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="BufferManager_8h-source.html">BufferManager.h</a><li><a class="el" href="BufferManager_8cc-source.html">BufferManager.cc</a></ul> +</div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/classTileList-members.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/classTileList-members.html Fri Jun 05 18:16:31 2009 +0900 @@ -16,6 +16,7 @@ <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> @@ -29,7 +30,7 @@ <tr bgcolor="#f0f0f0"><td><b>tile</b> (defined in <a class="el" href="classTileList.html">TileList</a>)</td><td><a class="el" href="classTileList.html">TileList</a></td><td></td></tr> <tr bgcolor="#f0f0f0"><td><b>TileList</b>(void) (defined in <a class="el" href="classTileList.html">TileList</a>)</td><td><a class="el" href="classTileList.html">TileList</a></td><td><code> [inline]</code></td></tr> </table></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/classTileList.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/classTileList.html Fri Jun 05 18:16:31 2009 +0900 @@ -16,6 +16,7 @@ <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> @@ -44,7 +45,9 @@ </table> <hr><a name="_details"></a><h2>Detailed Description</h2> -<a class="el" href="classTileList.html">TileList</a> 中の Tile の追い出しは、現在 FIFO で実装している <hr><h2>Member Function Documentation</h2> +<a class="el" href="classTileList.html">TileList</a> 中の Tile の追い出しは、現在 FIFO で実装している +<p>Definition at line <a class="el" href="Tapestry_8h-source.html#l00088">88</a> of file <a class="el" href="Tapestry_8h-source.html">Tapestry.h</a>.</p> +<hr><h2>Member Function Documentation</h2> <a class="anchor" name="81f144e0c87ba9a92c8e4a10990caeb5"></a><!-- doxytag: member="TileList::clear" ref="81f144e0c87ba9a92c8e4a10990caeb5" args="(void)" --> <div class="memitem"> <div class="memproto"> @@ -63,6 +66,8 @@ <p> <a class="el" href="classTileList.html">TileList</a> のクリア //tile 自体は clear する必要は無い あるかもしれない +<p>Definition at line <a class="el" href="Tapestry_8h-source.html#l00117">117</a> of file <a class="el" href="Tapestry_8h-source.html">Tapestry.h</a>.</p> + </div> </div><p> <a class="anchor" name="e74c2d4e781fdde223961c00d75a791c"></a><!-- doxytag: member="TileList::nextTile" ref="e74c2d4e781fdde223961c00d75a791c" args="(void)" --> @@ -85,12 +90,14 @@ 次に扱う tile を取得する<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>tile</dd></dl> tile[] をリングバスっぽく扱うことで FIFO を実現することに。 +<p>Definition at line <a class="el" href="Tapestry_8h-source.html#l00106">106</a> of file <a class="el" href="Tapestry_8h-source.html">Tapestry.h</a>.</p> + </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="Tapestry_8h-source.html">Tapestry.h</a></ul> </div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/classes.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/classes.html Fri Jun 05 18:16:31 2009 +0900 @@ -16,17 +16,19 @@ <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> -<h1>Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_T">T</a></div><p> +<h1>Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_T">T</a></div><p> <table align="center" width="95%" border="0" cellspacing="0" cellpadding="0"> -<tr><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> T </div></td></tr></table> -</td><td><a class="el" href="structtexture__block.html">texture_block</a> </td><td><a class="el" href="classTileList.html">TileList</a> </td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_T">T</a></div><p> +<tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> B </div></td></tr></table> +</td><td><a class="el" href="classBufferManager.html">BufferManager</a> </td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> T </div></td></tr></table> +</td><td><a class="el" href="structtexture__block.html">texture_block</a> </td><td><a class="el" href="classTileList.html">TileList</a> </td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_T">T</a></div><p> </div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/cube__split_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/cube__split_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -21,7 +21,7 @@ <h1>cube_split.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define Plane scene_graph</span> <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define SmallCube scene_graph->next</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/direction_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/direction_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -22,7 +22,7 @@ <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define Dirx.001 scene_graph->next</span> <a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#define Dirx scene_graph->next->next</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/enemy__action_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/enemy__action_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -21,7 +21,7 @@ <h1>enemy_action.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="keyword">extern</span> <span class="keywordtype">void</span> enemy_move(SceneGraphPtr node, <span class="keywordtype">int</span> screen_w, <span class="keywordtype">int</span> screen_h); <a name="l00002"></a>00002 <span class="keyword">extern</span> <span class="keywordtype">void</span> enemy_collision(SceneGraphPtr node, <span class="keywordtype">int</span> screen_w, <span class="keywordtype">int</span> screen_h, SceneGraphPtr tree); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/error_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/error_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -46,7 +46,7 @@ <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l00027"></a>00027 <span class="preprocessor"></span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/files.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/files.html Fri Jun 05 18:16:31 2009 +0900 @@ -26,17 +26,24 @@ <tr><td class="indexkey"><b>blast.h</b> <a href="blast_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>boss1.h</b> <a href="boss1_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>boss1_action.h</b> <a href="boss1__action_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>BufferManager.cc</b> <a href="BufferManager_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>BufferManager.h</b> <a href="BufferManager_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>bullet_action.h</b> <a href="bullet__action_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>Button.h</b> <a href="Button_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>Camera.h</b> <a href="Camera_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>camera_action.h</b> <a href="camera__action_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>CellBufferManager.cc</b> <a href="CellBufferManager_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>CellBufferManager.h</b> <a href="CellBufferManager_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>CellDmaManager.cc</b> <a href="CellDmaManager_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>CellDmaManager.h</b> <a href="CellDmaManager_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>CellHTaskInfo.cc</b> <a href="CellHTaskInfo_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>CellHTaskInfo.h</b> <a href="CellHTaskInfo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>CellScheduler.cc</b> <a href="CellScheduler_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>CellScheduler.h</b> <a href="CellScheduler_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>CellTaskInfo.h</b> <a href="CellTaskInfo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>CellTaskListInfo.cc</b> <a href="CellTaskListInfo_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>CellTaskListInfo.h</b> <a href="CellTaskListInfo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>CellTaskManagerImpl.cc</b> <a href="CellTaskManagerImpl_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>CellTaskManagerImpl.h</b> <a href="CellTaskManagerImpl_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>task/CreatePolygon.h</b> <a href="task_2CreatePolygon_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>spe/CreatePolygon.h</b> <a href="spe_2CreatePolygon_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> @@ -54,6 +61,7 @@ <tr><td class="indexkey"><b>simple_render/demonstration.h</b> <a href="simple__render_2demonstration_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_pack/demonstration.h</b> <a href="simple__pack_2demonstration_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>direction.h</b> <a href="direction_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>DmaBuffer.cc</b> <a href="DmaBuffer_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>DmaBuffer.h</b> <a href="DmaBuffer_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>DmaManager.h</b> <a href="DmaManager_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>task/DrawBack.h</b> <a href="task_2DrawBack_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> @@ -66,14 +74,19 @@ <tr><td class="indexkey"><b>error.h</b> <a href="error_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>test_render/fb.h</b> <a href="test__render_2fb_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_render/fb.h</b> <a href="simple__render_2fb_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>FifoDmaManager.cc</b> <a href="FifoDmaManager_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>FifoDmaManager.h</b> <a href="FifoDmaManager_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>FifoTaskManagerImpl.cc</b> <a href="FifoTaskManagerImpl_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>FifoTaskManagerImpl.h</b> <a href="FifoTaskManagerImpl_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Finish.cc</b> <a href="Finish_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>Finish.h</b> <a href="Finish_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>test_render/Func.h</b> <a href="test__render_2Func_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_render/Func.h</b> <a href="simple__render_2Func_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>hash_texture.h</b> <a href="hash__texture_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>hit_judge.h</b> <a href="hit__judge_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>HTask.cc</b> <a href="HTask_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>HTask.h</b> <a href="HTask_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>HTaskInfo.cc</b> <a href="HTaskInfo_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>HTaskInfo.h</b> <a href="HTaskInfo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>ieboss.h</b> <a href="ieboss_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>iejiki.h</b> <a href="iejiki_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> @@ -86,7 +99,11 @@ <tr><td class="indexkey"><b>simple_render/test/LoadTexture/spe/Load_Texture.h</b> <a href="simple__render_2test_2LoadTexture_2spe_2Load__Texture_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_render/spe/Load_Texture.h</b> <a href="simple__render_2spe_2Load__Texture_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>LongCube.h</b> <a href="LongCube_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>MailManager.cc</b> <a href="MailManager_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>MailManager.h</b> <a href="MailManager_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/main.cc</b> <a href="kernel_2main_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/main.cc</b> <a href="Cell_2spe_2main_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>MainScheduler.cc</b> <a href="MainScheduler_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>MainScheduler.h</b> <a href="MainScheduler_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>p_shot.h</b> <a href="p__shot_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_render/pad.h</b> <a href="simple__render_2pad_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> @@ -104,7 +121,9 @@ <tr><td class="indexkey"><b>test_render/polygon_pack.h</b> <a href="test__render_2polygon__pack_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_render/polygon_pack.h</b> <a href="simple__render_2polygon__pack_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_pack/polygon_pack.h</b> <a href="simple__pack_2polygon__pack_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>PpeScheduler.cc</b> <a href="PpeScheduler_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>PpeScheduler.h</b> <a href="PpeScheduler_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Random.cc</b> <a href="Random_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>Random.h</b> <a href="Random_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>test_render/scene.h</b> <a href="test__render_2scene_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_render/scene.h</b> <a href="simple__render_2scene_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> @@ -116,13 +135,27 @@ <tr><td class="indexkey"><b>SceneGraphArray.h</b> <a href="SceneGraphArray_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SceneGraphIterator.h</b> <a href="SceneGraphIterator_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SceneGraphRoot.h</b> <a href="SceneGraphRoot_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/schedule/SchedExit.cc</b> <a href="kernel_2schedule_2SchedExit_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/SchedExit.cc</b> <a href="Cell_2spe_2SchedExit_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SchedExit.h</b> <a href="SchedExit_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/schedule/SchedMail.cc</b> <a href="kernel_2schedule_2SchedMail_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/SchedMail.cc</b> <a href="Cell_2spe_2SchedMail_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SchedMail.h</b> <a href="SchedMail_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/schedule/SchedNop.cc</b> <a href="kernel_2schedule_2SchedNop_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/SchedNop.cc</b> <a href="Cell_2spe_2SchedNop_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SchedNop.h</b> <a href="SchedNop_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/schedule/SchedNop2Ready.cc</b> <a href="kernel_2schedule_2SchedNop2Ready_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/SchedNop2Ready.cc</b> <a href="Cell_2spe_2SchedNop2Ready_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SchedNop2Ready.h</b> <a href="SchedNop2Ready_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/schedule/SchedTask.cc</b> <a href="kernel_2schedule_2SchedTask_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/SchedTask.cc</b> <a href="Cell_2spe_2SchedTask_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SchedTask.h</b> <a href="SchedTask_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SchedTaskBase.h</b> <a href="SchedTaskBase_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/schedule/SchedTaskList.cc</b> <a href="kernel_2schedule_2SchedTaskList_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/SchedTaskList.cc</b> <a href="Cell_2spe_2SchedTaskList_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SchedTaskList.h</b> <a href="SchedTaskList_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/schedule/Scheduler.cc</b> <a href="kernel_2schedule_2Scheduler_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/Scheduler.cc</b> <a href="Cell_2spe_2Scheduler_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>Scheduler.h</b> <a href="Scheduler_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>task/Set_Texture.h</b> <a href="task_2Set__Texture_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>spe/Set_Texture.h</b> <a href="spe_2Set__Texture_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> @@ -136,26 +169,42 @@ <tr><td class="indexkey"><b>test_render/SpanPack.h</b> <a href="test__render_2SpanPack_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_render/SpanPack.h</b> <a href="simple__render_2SpanPack_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SpanPackList.h</b> <a href="SpanPackList_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>SpeThreads.cc</b> <a href="SpeThreads_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SpeThreads.h</b> <a href="SpeThreads_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>sphere.h</b> <a href="sphere_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>sphere_big.h</b> <a href="sphere__big_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>spu_span.h</b> <a href="spu__span_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SpuDraw.h</b> <a href="SpuDraw_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SpuSpan.h</b> <a href="SpuSpan_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Start.cc</b> <a href="Start_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>Start.h</b> <a href="Start_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>SymTable.cc</b> <a href="SymTable_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SymTable.h</b> <a href="SymTable_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>test_render/sys.h</b> <a href="test__render_2sys_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_render/sys.h</b> <a href="simple__render_2sys_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>simple_pack/sys.h</b> <a href="simple__pack_2sys_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>SysTask.h</b> <a href="SysTask_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>systask_register.cc</b> <a href="systask__register_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>Tapestry.h</b> <a href="Tapestry_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/ppe/Task.cc</b> <a href="kernel_2ppe_2Task_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/Task.cc</b> <a href="Cell_2spe_2Task_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>Task.h</b> <a href="Task_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/schedule/TaskGroup.cc</b> <a href="kernel_2schedule_2TaskGroup_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/TaskGroup.cc</b> <a href="Cell_2spe_2TaskGroup_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>TaskGroup.h</b> <a href="TaskGroup_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/ppe/TaskList.cc</b> <a href="kernel_2ppe_2TaskList_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/TaskList.cc</b> <a href="Cell_2spe_2TaskList_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>TaskList.h</b> <a href="TaskList_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>TaskListInfo.cc</b> <a href="TaskListInfo_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>TaskListInfo.h</b> <a href="TaskListInfo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>TaskManager.cc</b> <a href="TaskManager_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>TaskManager.h</b> <a href="TaskManager_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>TaskManagerImpl.cc</b> <a href="TaskManagerImpl_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>TaskManagerImpl.h</b> <a href="TaskManagerImpl_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>kernel/ppe/TaskQueue.cc</b> <a href="kernel_2ppe_2TaskQueue_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>Cell/spe/TaskQueue.cc</b> <a href="Cell_2spe_2TaskQueue_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>TaskQueue.h</b> <a href="TaskQueue_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><b>TaskQueueInfo.cc</b> <a href="TaskQueueInfo_8cc-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>TaskQueueInfo.h</b> <a href="TaskQueueInfo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>test_render/texture.h</b> <a href="test__render_2texture_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> <tr><td class="indexkey"><b>test_render/task/texture.h</b> <a href="test__render_2task_2texture_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> @@ -187,7 +236,7 @@ <tr><td class="indexkey"><b>simple_pack/xml.h</b> <a href="simple__pack_2xml_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> </table> </div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/functions.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/functions.html Fri Jun 05 18:16:31 2009 +0900 @@ -16,6 +16,7 @@ <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li class="current"><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> @@ -36,7 +37,7 @@ : <a class="el" href="classTileList.html#e74c2d4e781fdde223961c00d75a791c">TileList</a> </ul> </div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/functions_func.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/functions_func.html Fri Jun 05 18:16:31 2009 +0900 @@ -16,6 +16,7 @@ <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li class="current"><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> @@ -36,7 +37,7 @@ : <a class="el" href="classTileList.html#e74c2d4e781fdde223961c00d75a791c">TileList</a> </ul> </div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/hash__texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/hash__texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -34,7 +34,7 @@ <a name="l00014"></a>00014 <span class="keywordtype">int</span> hash_regist(<span class="keyword">const</span> <span class="keywordtype">char</span>*); <a name="l00015"></a>00015 }; </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/hierarchy.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,35 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: Hierarchical Index</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li class="current"><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul> +<li><a class="el" href="classBufferManager.html">BufferManager</a> +<li><a class="el" href="structtexture__block.html">texture_block</a> +<li><a class="el" href="classTileList.html">TileList</a> +</ul> +</div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/hit__judge_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/hit__judge_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -26,7 +26,7 @@ <a name="l00006"></a>00006 <span class="preprocessor"></span> <a name="l00007"></a>00007 <span class="keyword">extern</span> <span class="keywordtype">int</span> square_judge(SceneGraphPtr oneself, SceneGraphPtr partner); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/ieboss_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/ieboss_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>ieboss.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define IEBOSS scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/iejiki_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/iejiki_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>iejiki.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define IEJIKI scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/ietama_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/ietama_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>ietama.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define IETAMA scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/index.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/index.html Fri Jun 05 18:16:31 2009 +0900 @@ -18,7 +18,7 @@ <h1>Cerium Documentation</h1> <p> <h3 align="center">0.1 </h3></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:05 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2main_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: main.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>main.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <string.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include <SDL.h></span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "TaskManager.h"</span> +<a name="l00005"></a>00005 +<a name="l00010"></a>00010 <span class="comment">/* User main function */</span> +<a name="l00011"></a>00011 <span class="keyword">extern</span> <span class="keywordtype">int</span> TMmain(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]); +<a name="l00012"></a>00012 +<a name="l00013"></a>00013 <span class="comment">/* Default TMend function */</span> +<a name="l00014"></a>00014 <span class="keyword">static</span> <span class="keywordtype">void</span> +<a name="l00015"></a>00015 defaultTMend(<span class="keywordtype">void</span>) {} +<a name="l00016"></a>00016 +<a name="l00017"></a>00017 TaskManager *manager; +<a name="l00018"></a>00018 +<a name="l00023"></a>00023 <span class="keyword">const</span> <span class="keywordtype">char</span> *help_str = <span class="stringliteral">"\n\</span> +<a name="l00024"></a>00024 <span class="stringliteral">* Cerium program option *\n\</span> +<a name="l00025"></a>00025 <span class="stringliteral"> -help Print this message \n\</span> +<a name="l00026"></a>00026 <span class="stringliteral"> -cpu Number of CPU (default 1) \n"</span>; +<a name="l00027"></a>00027 +<a name="l00028"></a>00028 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *usr_help_str; +<a name="l00029"></a>00029 +<a name="l00030"></a>00030 <span class="keywordtype">int</span> +<a name="l00031"></a>00031 main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) +<a name="l00032"></a>00032 { +<a name="l00033"></a>00033 <span class="keywordtype">int</span> machineNum = 1; +<a name="l00034"></a>00034 +<a name="l00035"></a>00035 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; argv[i]; ++i) { +<a name="l00036"></a>00036 <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-cpu"</span>) == 0) { +<a name="l00037"></a>00037 machineNum = atoi(argv[++i]); +<a name="l00038"></a>00038 } +<a name="l00039"></a>00039 <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-help"</span>) == 0) { +<a name="l00040"></a>00040 <span class="keywordflow">if</span> (usr_help_str) { +<a name="l00041"></a>00041 printf(<span class="stringliteral">"%s"</span>, usr_help_str); +<a name="l00042"></a>00042 } +<a name="l00043"></a>00043 printf(<span class="stringliteral">"%s"</span>, help_str); +<a name="l00044"></a>00044 <span class="keywordflow">return</span> EXIT_SUCCESS; +<a name="l00045"></a>00045 } +<a name="l00046"></a>00046 } +<a name="l00047"></a>00047 +<a name="l00048"></a>00048 manager = <span class="keyword">new</span> TaskManager(machineNum); +<a name="l00049"></a>00049 manager->init(); +<a name="l00050"></a>00050 +<a name="l00051"></a>00051 manager->set_TMend(defaultTMend); +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 <span class="keywordflow">if</span> (TMmain(argc, argv) < 0) { +<a name="l00054"></a>00054 <span class="keywordflow">goto</span> FINISH; +<a name="l00055"></a>00055 } +<a name="l00056"></a>00056 +<a name="l00057"></a>00057 manager->run(); +<a name="l00058"></a>00058 +<a name="l00059"></a>00059 (manager->tm_end)(); +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 FINISH: +<a name="l00062"></a>00062 <span class="keyword">delete</span> manager; +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 <span class="keywordflow">return</span> EXIT_SUCCESS; +<a name="l00065"></a>00065 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2ppe_2TaskList_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,42 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskList.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskList.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "TaskList.h"</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 TaskListPtr +<a name="l00004"></a>00004 TaskList::append(TaskListPtr list, TaskListPtr q) +<a name="l00005"></a>00005 { +<a name="l00006"></a>00006 TaskListPtr p = list; +<a name="l00007"></a>00007 +<a name="l00008"></a>00008 <span class="keywordflow">if</span> (!p) { +<a name="l00009"></a>00009 <span class="keywordflow">return</span> q; +<a name="l00010"></a>00010 } <span class="keywordflow">else</span> { +<a name="l00011"></a>00011 <span class="keywordflow">while</span> (p->next) p = p->next; +<a name="l00012"></a>00012 p->next = q; +<a name="l00013"></a>00013 <span class="keywordflow">return</span> list; +<a name="l00014"></a>00014 } +<a name="l00015"></a>00015 } +<a name="l00016"></a>00016 +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2ppe_2TaskQueue_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,47 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskQueue.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskQueue.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "TaskQueue.h"</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 TaskQueue::TaskQueue(TaskPtr q) +<a name="l00004"></a>00004 { +<a name="l00005"></a>00005 task = q; +<a name="l00006"></a>00006 next = NULL; +<a name="l00007"></a>00007 } +<a name="l00008"></a>00008 +<a name="l00009"></a>00009 TaskQueuePtr +<a name="l00010"></a>00010 TaskQueue::append(TaskQueuePtr list, TaskQueuePtr q) +<a name="l00011"></a>00011 { +<a name="l00012"></a>00012 TaskQueuePtr p = list; +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 <span class="keywordflow">if</span> (!p) { +<a name="l00015"></a>00015 <span class="keywordflow">return</span> q; +<a name="l00016"></a>00016 } <span class="keywordflow">else</span> { +<a name="l00017"></a>00017 <span class="keywordflow">while</span>(p->next) p = p->next; +<a name="l00018"></a>00018 p->next = q; +<a name="l00019"></a>00019 <span class="keywordflow">return</span> list; +<a name="l00020"></a>00020 } +<a name="l00021"></a>00021 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2ppe_2Task_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,69 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: Task.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>Task.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "Task.h"</span> +<a name="l00002"></a>00002 +<a name="l00011"></a>00011 <span class="keywordtype">int</span> +<a name="l00012"></a>00012 Task::add_inData_t(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> addr, <span class="keywordtype">int</span> size) +<a name="l00013"></a>00013 { +<a name="l00014"></a>00014 <span class="keywordflow">return</span> add_data(this->inData, addr, size); +<a name="l00015"></a>00015 } +<a name="l00016"></a>00016 +<a name="l00025"></a>00025 <span class="keywordtype">int</span> +<a name="l00026"></a>00026 Task::add_outData_t(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> addr, <span class="keywordtype">int</span> size) +<a name="l00027"></a>00027 { +<a name="l00028"></a>00028 <span class="keywordflow">return</span> add_data(this->outData, addr, size); +<a name="l00029"></a>00029 } +<a name="l00030"></a>00030 +<a name="l00035"></a>00035 <span class="keywordtype">int</span> +<a name="l00036"></a>00036 Task::add_param(<span class="keywordtype">int</span> _param) +<a name="l00037"></a>00037 { +<a name="l00038"></a>00038 <span class="keywordflow">if</span> (param_size >= MAX_PARAMS) <span class="keywordflow">return</span> -1; +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 this->param[param_size++] = _param; +<a name="l00041"></a>00041 <span class="keywordflow">return</span> 0; +<a name="l00042"></a>00042 } +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="comment">/*</span> +<a name="l00045"></a>00045 <span class="comment"> * 顼λ -1 ֤äƤȤ</span> +<a name="l00046"></a>00046 <span class="comment"> * perror ߤˤۤ狼䤹ʡ</span> +<a name="l00047"></a>00047 <span class="comment"> */</span> +<a name="l00048"></a>00048 <span class="keywordtype">int</span> +<a name="l00049"></a>00049 Task::add_data(ListDataPtr list, uint32 addr, <span class="keywordtype">int</span> size) +<a name="l00050"></a>00050 { +<a name="l00051"></a>00051 <span class="keywordflow">if</span> (list->length >= MAX_LIST_DMA_SIZE) <span class="keywordflow">return</span> -1; +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 list->bound[list->length] = list->size; +<a name="l00054"></a>00054 +<a name="l00055"></a>00055 <span class="comment">// size Ǥ¤٤</span> +<a name="l00056"></a>00056 list->size += size; +<a name="l00057"></a>00057 +<a name="l00058"></a>00058 ListElementPtr elm = &list->element[list->length++]; +<a name="l00059"></a>00059 elm->addr = addr; +<a name="l00060"></a>00060 elm->size = size; +<a name="l00061"></a>00061 +<a name="l00062"></a>00062 <span class="keywordflow">return</span> 0; +<a name="l00063"></a>00063 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2schedule_2SchedExit_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,39 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedExit.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedExit.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SchedExit.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "error.h"</span> +<a name="l00004"></a>00004 +<a name="l00005"></a>00005 SchedTaskBase* +<a name="l00006"></a>00006 SchedExit::next(Scheduler *m, SchedTaskBase *p) +<a name="l00007"></a>00007 { +<a name="l00008"></a>00008 <span class="keyword">delete</span> p; +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 __debug(<span class="stringliteral">"SchedExit::next()\n"</span>); +<a name="l00011"></a>00011 +<a name="l00012"></a>00012 <span class="keywordflow">return</span> NULL; +<a name="l00013"></a>00013 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2schedule_2SchedMail_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,51 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedMail.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedMail.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "SchedMail.h"</span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SchedTaskList.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedExit.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "error.h"</span> +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 SchedMail::SchedMail(Scheduler *sched) +<a name="l00007"></a>00007 { +<a name="l00008"></a>00008 scheduler = sched; +<a name="l00009"></a>00009 } +<a name="l00010"></a>00010 +<a name="l00011"></a>00011 SchedTaskBase* +<a name="l00012"></a>00012 SchedMail::next(Scheduler *m, SchedTaskBase *p) +<a name="l00013"></a>00013 { +<a name="l00014"></a>00014 <span class="keyword">delete</span> p; +<a name="l00015"></a>00015 +<a name="l00016"></a>00016 params_addr = scheduler->mail_read(); +<a name="l00017"></a>00017 +<a name="l00018"></a>00018 __debug(<span class="stringliteral">"[SchedMail:%s]\n"</span>, __FUNCTION__); +<a name="l00019"></a>00019 <span class="comment">// if ʸʤˤϡؿݥ</span> +<a name="l00020"></a>00020 <span class="keywordflow">if</span> ((<span class="keywordtype">int</span>)params_addr == MY_SPE_COMMAND_EXIT) { +<a name="l00021"></a>00021 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedExit(); +<a name="l00022"></a>00022 } <span class="keywordflow">else</span> { +<a name="l00023"></a>00023 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedTaskList(params_addr, m); +<a name="l00024"></a>00024 } +<a name="l00025"></a>00025 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2schedule_2SchedNop2Ready_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,64 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedNop2Ready.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedNop2Ready.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SchedNop2Ready.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedTaskList.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "SchedMail.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "error.h"</span> +<a name="l00006"></a>00006 +<a name="l00007"></a>00007 SchedNop2Ready::SchedNop2Ready(Scheduler *cn) +<a name="l00008"></a>00008 { +<a name="l00009"></a>00009 scheduler = cn; +<a name="l00010"></a>00010 } +<a name="l00011"></a>00011 +<a name="l00012"></a>00012 <span class="keywordtype">void</span> +<a name="l00013"></a>00013 SchedNop2Ready::exec(<span class="keywordtype">void</span>) +<a name="l00014"></a>00014 { +<a name="l00015"></a>00015 __debug(<span class="stringliteral">"[SchedNop2Ready:%s]\n"</span>, __FUNCTION__); +<a name="l00016"></a>00016 +<a name="l00017"></a>00017 <span class="comment">//scheduler->mail_write(MY_SPE_STATUS_READY);</span> +<a name="l00018"></a>00018 } +<a name="l00019"></a>00019 +<a name="l00020"></a>00020 SchedTaskBase* +<a name="l00021"></a>00021 SchedNop2Ready::next(Scheduler *m, SchedTaskBase *p) +<a name="l00022"></a>00022 { +<a name="l00023"></a>00023 SchedTaskBase *nextSched; +<a name="l00024"></a>00024 +<a name="l00025"></a>00025 __debug(<span class="stringliteral">"[SchedNop2Ready:%s]\n"</span>, __FUNCTION__); +<a name="l00026"></a>00026 +<a name="l00027"></a>00027 <span class="keyword">delete</span> p; +<a name="l00028"></a>00028 +<a name="l00029"></a>00029 nextSched = scheduler->get_nextRenewTaskList(); +<a name="l00030"></a>00030 +<a name="l00031"></a>00031 <span class="comment">// RenewTask </span> +<a name="l00032"></a>00032 <span class="keywordflow">if</span> (nextSched) { +<a name="l00033"></a>00033 <span class="keywordflow">return</span> nextSched; +<a name="l00034"></a>00034 } <span class="keywordflow">else</span> { +<a name="l00035"></a>00035 scheduler->mail_write(MY_SPE_STATUS_READY); +<a name="l00036"></a>00036 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedMail(scheduler); +<a name="l00037"></a>00037 } +<a name="l00038"></a>00038 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2schedule_2SchedNop_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,40 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedNop.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedNop.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include "SchedNop.h"</span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedMail.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "error.h"</span> +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 SchedTaskBase* +<a name="l00007"></a>00007 SchedNop::next(Scheduler *m, SchedTaskBase *p) +<a name="l00008"></a>00008 { +<a name="l00009"></a>00009 __debug(<span class="stringliteral">"SchedNop::next()"</span>); +<a name="l00010"></a>00010 +<a name="l00011"></a>00011 <span class="keyword">delete</span> p; +<a name="l00012"></a>00012 +<a name="l00013"></a>00013 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedMail(m); +<a name="l00014"></a>00014 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2schedule_2SchedTaskList_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,101 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedTaskList.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedTaskList.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <string.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedTaskList.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "SchedTask.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "SchedNop2Ready.h"</span> +<a name="l00006"></a>00006 <span class="preprocessor">#include "DmaManager.h"</span> +<a name="l00007"></a>00007 <span class="preprocessor">#include "error.h"</span> +<a name="l00008"></a>00008 +<a name="l00018"></a>00018 SchedTaskList* +<a name="l00019"></a>00019 createSchedTaskList(uint32 next_list, Scheduler* scheduler, <span class="keywordtype">int</span> renew_flag) +<a name="l00020"></a>00020 { +<a name="l00021"></a>00021 SchedTaskList* sched = <span class="keyword">new</span> SchedTaskList(next_list, scheduler); +<a name="l00022"></a>00022 sched->flag_renewTaskList = renew_flag; +<a name="l00023"></a>00023 <span class="keywordflow">return</span> sched; +<a name="l00024"></a>00024 } +<a name="l00025"></a>00025 +<a name="l00026"></a>00026 SchedTaskList::SchedTaskList(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> addr, Scheduler *sched) +<a name="l00027"></a>00027 { +<a name="l00028"></a>00028 params_addr = addr; +<a name="l00029"></a>00029 list = NULL; +<a name="l00030"></a>00030 scheduler = sched; +<a name="l00031"></a>00031 +<a name="l00032"></a>00032 flag_renewTaskList = 0; +<a name="l00033"></a>00033 } +<a name="l00034"></a>00034 +<a name="l00035"></a>00035 +<a name="l00036"></a>00036 <span class="keywordtype">void</span> +<a name="l00037"></a>00037 SchedTaskList::read(<span class="keywordtype">void</span>) +<a name="l00038"></a>00038 { +<a name="l00039"></a>00039 __debug(<span class="stringliteral">"[SchedTaskList:%s]\n"</span>, __FUNCTION__); +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 <span class="keywordflow">if</span> (flag_renewTaskList == SCHED_TASKLIST_NORMAL) { +<a name="l00042"></a>00042 list = scheduler->get_curListBuf(); +<a name="l00043"></a>00043 scheduler->dma_load(list, params_addr, +<a name="l00044"></a>00044 <span class="keyword">sizeof</span>(TaskList), DMA_READ_TASKLIST); +<a name="l00045"></a>00045 } <span class="keywordflow">else</span> { +<a name="l00046"></a>00046 list = (TaskListPtr)params_addr; +<a name="l00047"></a>00047 } +<a name="l00048"></a>00048 } +<a name="l00049"></a>00049 +<a name="l00050"></a>00050 SchedTaskBase* +<a name="l00051"></a>00051 SchedTaskList::next(Scheduler *m, SchedTaskBase *p) +<a name="l00052"></a>00052 { +<a name="l00053"></a>00053 SchedTaskBase *nextSched; +<a name="l00054"></a>00054 +<a name="l00055"></a>00055 __debug(<span class="stringliteral">"[SchedTaskList:%s]\n"</span>, __FUNCTION__); +<a name="l00056"></a>00056 +<a name="l00057"></a>00057 <span class="keyword">delete</span> p; +<a name="l00058"></a>00058 +<a name="l00059"></a>00059 scheduler->dma_wait(DMA_READ_TASKLIST); +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 <span class="keywordflow">if</span> (list->length < 1) { +<a name="l00062"></a>00062 nextSched = <span class="keyword">new</span> SchedNop2Ready(scheduler); +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 <span class="keywordflow">if</span> (flag_renewTaskList == SCHED_TASKLIST_RENEW) { +<a name="l00065"></a>00065 free(list); +<a name="l00066"></a>00066 } +<a name="l00067"></a>00067 +<a name="l00068"></a>00068 } <span class="keywordflow">else</span> { +<a name="l00069"></a>00069 TaskPtr nextTask = &list->tasks[0]; +<a name="l00070"></a>00070 nextSched = createSchedTask(nextTask); +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="keywordflow">if</span> (flag_renewTaskList == SCHED_TASKLIST_RENEW) { +<a name="l00073"></a>00073 ((SchedTask*)nextSched)->__setRenew(); +<a name="l00074"></a>00074 } +<a name="l00075"></a>00075 +<a name="l00076"></a>00076 ((SchedTask*)nextSched)->__init__(list, nextTask, 1, +<a name="l00077"></a>00077 scheduler->get_curReadBuf(), +<a name="l00078"></a>00078 scheduler->get_curWriteBuf(), +<a name="l00079"></a>00079 scheduler); +<a name="l00080"></a>00080 } +<a name="l00081"></a>00081 +<a name="l00082"></a>00082 <span class="keywordflow">return</span> nextSched; +<a name="l00083"></a>00083 } +<a name="l00084"></a>00084 +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2schedule_2SchedTask_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,480 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: SchedTask.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>SchedTask.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <string.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "SchedTask.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "SchedTaskList.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "SchedNop2Ready.h"</span> +<a name="l00006"></a>00006 <span class="preprocessor">#include "DmaManager.h"</span> +<a name="l00007"></a>00007 <span class="preprocessor">#include "error.h"</span> +<a name="l00008"></a>00008 <span class="preprocessor">#include "TaskManager.h"</span> +<a name="l00009"></a>00009 +<a name="l00010"></a>00010 <span class="keyword">extern</span> Scheduler::TaskObject task_list[MAX_TASK_OBJECT]; +<a name="l00011"></a>00011 +<a name="l00012"></a>00012 <span class="comment">//#define NO_PIPELINE </span> +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 SchedTask* +<a name="l00015"></a>00015 createSchedTask(TaskPtr task) +<a name="l00016"></a>00016 { +<a name="l00017"></a>00017 <span class="keywordflow">return</span> task_list[task->command](); +<a name="l00018"></a>00018 } +<a name="l00019"></a>00019 +<a name="l00020"></a>00020 SchedTask::SchedTask(<span class="keywordtype">void</span>) +<a name="l00021"></a>00021 { +<a name="l00022"></a>00022 __list = NULL; +<a name="l00023"></a>00023 __task = NULL; +<a name="l00024"></a>00024 __inListData = NULL; +<a name="l00025"></a>00025 __outListData = NULL; +<a name="l00026"></a>00026 __readbuf = NULL; +<a name="l00027"></a>00027 __writebuf = NULL; +<a name="l00028"></a>00028 __scheduler = NULL; +<a name="l00029"></a>00029 __taskGroup = NULL; +<a name="l00030"></a>00030 __renew_flag = 0; +<a name="l00031"></a>00031 __cur_index = 0; +<a name="l00032"></a>00032 __flag_renewTask = SCHED_TASK_NORMAL; +<a name="l00033"></a>00033 +<a name="l00034"></a>00034 ex_init = &SchedTask::ex_init_normal; +<a name="l00035"></a>00035 ex_read = &SchedTask::ex_read_normal; +<a name="l00036"></a>00036 ex_exec = &SchedTask::ex_exec_normal; +<a name="l00037"></a>00037 ex_write = &SchedTask::ex_write_normal; +<a name="l00038"></a>00038 ex_next = &SchedTask::ex_next_normal; +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 run_func = &SchedTask::run; +<a name="l00041"></a>00041 } +<a name="l00042"></a>00042 +<a name="l00050"></a>00050 SchedTask::~SchedTask(<span class="keywordtype">void</span>) +<a name="l00051"></a>00051 { +<a name="l00052"></a>00052 <span class="keywordflow">if</span> (__flag_renewTask == SCHED_TASK_RENEW) { +<a name="l00053"></a>00053 free(__inListData); +<a name="l00054"></a>00054 free(__outListData); +<a name="l00055"></a>00055 +<a name="l00064"></a>00064 free(__list); +<a name="l00065"></a>00065 } +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keyword">delete</span> smanager; +<a name="l00068"></a>00068 } +<a name="l00069"></a>00069 +<a name="l00073"></a>00073 <span class="keywordtype">void</span> +<a name="l00074"></a>00074 SchedTask::__setRenew(<span class="keywordtype">void</span>) +<a name="l00075"></a>00075 { +<a name="l00076"></a>00076 __flag_renewTask = SCHED_TASK_RENEW; +<a name="l00077"></a>00077 +<a name="l00078"></a>00078 ex_init = &SchedTask::ex_init_renew; +<a name="l00079"></a>00079 ex_read = &SchedTask::ex_read_renew; +<a name="l00080"></a>00080 ex_exec = &SchedTask::ex_exec_renew; +<a name="l00081"></a>00081 ex_write = &SchedTask::ex_write_renew; +<a name="l00082"></a>00082 ex_next = &SchedTask::ex_next_renew; +<a name="l00083"></a>00083 } +<a name="l00084"></a>00084 +<a name="l00085"></a>00085 <span class="keywordtype">void</span> +<a name="l00086"></a>00086 SchedTask::__init__(TaskListPtr _list, TaskPtr _task, <span class="keywordtype">int</span> index, +<a name="l00087"></a>00087 ListDataPtr rbuf, ListDataPtr wbuf, Scheduler* sc) +<a name="l00088"></a>00088 { +<a name="l00089"></a>00089 __list = _list; +<a name="l00090"></a>00090 __task = _task; +<a name="l00091"></a>00091 __inListData = rbuf; +<a name="l00092"></a>00092 __outListData = wbuf; +<a name="l00093"></a>00093 __scheduler = sc; +<a name="l00094"></a>00094 __cur_index = index; +<a name="l00095"></a>00095 +<a name="l00096"></a>00096 smanager = <span class="keyword">new</span> STaskManager(<span class="keyword">this</span>); +<a name="l00097"></a>00097 +<a name="l00098"></a>00098 __scheduler->mainMem_wait(); +<a name="l00099"></a>00099 +<a name="l00100"></a>00100 (this->*ex_init)(); +<a name="l00101"></a>00101 } +<a name="l00102"></a>00102 +<a name="l00106"></a>00106 <span class="keywordtype">void</span> +<a name="l00107"></a>00107 SchedTask::ex_init_normal(<span class="keywordtype">void</span>) +<a name="l00108"></a>00108 { +<a name="l00109"></a>00109 __scheduler->dma_load(__inListData, (uint32)__task->inData, +<a name="l00110"></a>00110 <span class="keyword">sizeof</span>(ListData), DMA_READ_IN_LIST); +<a name="l00111"></a>00111 __scheduler->dma_load(__outListData, (uint32)__task->outData, +<a name="l00112"></a>00112 <span class="keyword">sizeof</span>(ListData), DMA_READ_OUT_LIST); +<a name="l00113"></a>00113 <span class="preprocessor">#if defined(NO_PIPELINE)</span> +<a name="l00114"></a>00114 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_READ_IN_LIST); +<a name="l00115"></a>00115 __scheduler->dma_wait(DMA_READ_OUT_LIST); +<a name="l00116"></a>00116 <span class="preprocessor">#endif</span> +<a name="l00117"></a>00117 <span class="preprocessor"></span> +<a name="l00118"></a>00118 __taskGroup = <span class="keyword">new</span> TaskGroup; +<a name="l00119"></a>00119 __taskGroup->command = __task->self; +<a name="l00120"></a>00120 } +<a name="l00121"></a>00121 +<a name="l00127"></a>00127 <span class="keywordtype">void</span> +<a name="l00128"></a>00128 SchedTask::ex_init_renew(<span class="keywordtype">void</span>) +<a name="l00129"></a>00129 { +<a name="l00130"></a>00130 __inListData = __task->inData; +<a name="l00131"></a>00131 __outListData = __task->outData; +<a name="l00132"></a>00132 __taskGroup = (TaskGroupPtr)__task->self; +<a name="l00133"></a>00133 } +<a name="l00134"></a>00134 +<a name="l00144"></a>00144 <span class="keywordtype">void</span> +<a name="l00145"></a>00145 SchedTask::read(<span class="keywordtype">void</span>) +<a name="l00146"></a>00146 { +<a name="l00147"></a>00147 __debug(<span class="stringliteral">"[SchedTask:%s]\n"</span>, __FUNCTION__); +<a name="l00148"></a>00148 +<a name="l00149"></a>00149 <span class="preprocessor">#if !defined(NO_PIPELINE)</span> +<a name="l00150"></a>00150 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_READ_IN_LIST); +<a name="l00151"></a>00151 __scheduler->dma_wait(DMA_READ_OUT_LIST); +<a name="l00152"></a>00152 <span class="preprocessor">#endif</span> +<a name="l00153"></a>00153 <span class="preprocessor"></span> +<a name="l00154"></a>00154 __writebuf = __scheduler->allocate(__outListData->size); +<a name="l00155"></a>00155 +<a name="l00156"></a>00156 <span class="comment">// ɤǡĤʤ̵</span> +<a name="l00157"></a>00157 <span class="keywordflow">if</span> (__inListData->length == 0) <span class="keywordflow">return</span>; +<a name="l00158"></a>00158 +<a name="l00159"></a>00159 <span class="comment">// load Input Data</span> +<a name="l00160"></a>00160 __readbuf = __scheduler->allocate(__inListData->size); +<a name="l00161"></a>00161 __scheduler->dma_loadList(__inListData, __readbuf, DMA_READ); +<a name="l00162"></a>00162 +<a name="l00163"></a>00163 <span class="preprocessor">#if defined(NO_PIPELINE)</span> +<a name="l00164"></a>00164 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_READ); +<a name="l00165"></a>00165 <span class="preprocessor">#endif</span> +<a name="l00166"></a>00166 <span class="preprocessor"></span> +<a name="l00167"></a>00167 (this->*ex_read)(); +<a name="l00168"></a>00168 } +<a name="l00169"></a>00169 +<a name="l00170"></a>00170 <span class="keywordtype">void</span> +<a name="l00171"></a>00171 SchedTask::exec(<span class="keywordtype">void</span>) +<a name="l00172"></a>00172 { +<a name="l00173"></a>00173 __debug(<span class="stringliteral">"[SchedTask:%s]\n"</span>, __FUNCTION__); +<a name="l00174"></a>00174 +<a name="l00175"></a>00175 <span class="preprocessor">#if !defined(NO_PIPELINE)</span> +<a name="l00176"></a>00176 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_READ); +<a name="l00177"></a>00177 <span class="preprocessor">#endif</span> +<a name="l00178"></a>00178 <span class="preprocessor"></span> +<a name="l00179"></a>00179 <span class="comment">//run(__readbuf, __writebuf);</span> +<a name="l00180"></a>00180 (this->*run_func)(__readbuf, __writebuf); +<a name="l00181"></a>00181 +<a name="l00182"></a>00182 free(__readbuf); +<a name="l00183"></a>00183 +<a name="l00184"></a>00184 <span class="keywordflow">if</span> (__taskGroup->status() != 0) { +<a name="l00185"></a>00185 __task->self = __taskGroup->command; +<a name="l00186"></a>00186 <span class="keyword">delete</span> __taskGroup; +<a name="l00187"></a>00187 __taskGroup = NULL; +<a name="l00188"></a>00188 } +<a name="l00189"></a>00189 +<a name="l00190"></a>00190 +<a name="l00191"></a>00191 <span class="comment">// ΰ褬ʤ̵</span> +<a name="l00192"></a>00192 <span class="keywordflow">if</span> (__outListData->length > 0) { +<a name="l00193"></a>00193 __scheduler->dma_storeList(__outListData, __writebuf, DMA_WRITE); +<a name="l00194"></a>00194 +<a name="l00195"></a>00195 <span class="preprocessor">#if defined(NO_PIPELINE)</span> +<a name="l00196"></a>00196 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_WRITE); +<a name="l00197"></a>00197 free(__writebuf); +<a name="l00198"></a>00198 <span class="preprocessor">#endif</span> +<a name="l00199"></a>00199 <span class="preprocessor"></span> } +<a name="l00200"></a>00200 +<a name="l00201"></a>00201 (this->*ex_exec)(); +<a name="l00202"></a>00202 } +<a name="l00203"></a>00203 +<a name="l00204"></a>00204 <span class="keywordtype">void</span> +<a name="l00205"></a>00205 SchedTask::write(<span class="keywordtype">void</span>) +<a name="l00206"></a>00206 { +<a name="l00207"></a>00207 __debug(<span class="stringliteral">"[SchedTask:%s]\n"</span>, __FUNCTION__); +<a name="l00208"></a>00208 +<a name="l00209"></a>00209 <span class="preprocessor">#if !defined(NO_PIPELINE)</span> +<a name="l00210"></a>00210 <span class="preprocessor"></span> __scheduler->dma_wait(DMA_WRITE); +<a name="l00211"></a>00211 free(__writebuf); +<a name="l00212"></a>00212 <span class="preprocessor">#endif</span> +<a name="l00213"></a>00213 <span class="preprocessor"></span> +<a name="l00214"></a>00214 <span class="keywordflow">if</span> (__task->self == MY_SPE_NOP) <span class="keywordflow">return</span>; +<a name="l00215"></a>00215 +<a name="l00216"></a>00216 (this->*ex_write)(); +<a name="l00217"></a>00217 } +<a name="l00218"></a>00218 +<a name="l00222"></a>00222 <span class="keywordtype">void</span> +<a name="l00223"></a>00223 SchedTask::ex_read_normal(<span class="keywordtype">void</span>) +<a name="l00224"></a>00224 { +<a name="l00225"></a>00225 } +<a name="l00226"></a>00226 +<a name="l00230"></a>00230 <span class="keywordtype">void</span> +<a name="l00231"></a>00231 SchedTask::ex_read_renew(<span class="keywordtype">void</span>) +<a name="l00232"></a>00232 { +<a name="l00233"></a>00233 } +<a name="l00234"></a>00234 +<a name="l00238"></a>00238 <span class="keywordtype">void</span> +<a name="l00239"></a>00239 SchedTask::ex_exec_normal(<span class="keywordtype">void</span>) +<a name="l00240"></a>00240 { +<a name="l00241"></a>00241 } +<a name="l00242"></a>00242 +<a name="l00246"></a>00246 <span class="keywordtype">void</span> +<a name="l00247"></a>00247 SchedTask::ex_exec_renew(<span class="keywordtype">void</span>) +<a name="l00248"></a>00248 { +<a name="l00249"></a>00249 } +<a name="l00250"></a>00250 +<a name="l00251"></a>00251 +<a name="l00252"></a>00252 +<a name="l00260"></a>00260 <span class="keywordtype">void</span> +<a name="l00261"></a>00261 SchedTask::ex_write_normal(<span class="keywordtype">void</span>) +<a name="l00262"></a>00262 { +<a name="l00267"></a>00267 <span class="keywordflow">if</span> (__renew_flag == 0) { +<a name="l00268"></a>00268 __scheduler->mail_write(__task->self); +<a name="l00269"></a>00269 } +<a name="l00270"></a>00270 } +<a name="l00271"></a>00271 +<a name="l00284"></a>00284 <span class="keywordtype">void</span> +<a name="l00285"></a>00285 SchedTask::ex_write_renew(<span class="keywordtype">void</span>) +<a name="l00286"></a>00286 { +<a name="l00287"></a>00287 uint32 cmd; +<a name="l00288"></a>00288 +<a name="l00289"></a>00289 __taskGroup->remove(__task); +<a name="l00290"></a>00290 cmd = __taskGroup->status(); +<a name="l00291"></a>00291 +<a name="l00292"></a>00292 <span class="comment">// Ǻ줿ƤΥλ</span> +<a name="l00293"></a>00293 <span class="keywordflow">if</span> (cmd != 0) { +<a name="l00294"></a>00294 <span class="keyword">delete</span> __taskGroup; +<a name="l00295"></a>00295 __scheduler->mail_write(cmd); +<a name="l00296"></a>00296 } +<a name="l00297"></a>00297 } +<a name="l00298"></a>00298 +<a name="l00299"></a>00299 SchedTaskBase* +<a name="l00300"></a>00300 SchedTask::next(Scheduler *m, SchedTaskBase *p) +<a name="l00301"></a>00301 { +<a name="l00302"></a>00302 __debug(<span class="stringliteral">"[SchedTask:%s]\n"</span>, __FUNCTION__); +<a name="l00303"></a>00303 +<a name="l00304"></a>00304 <span class="keyword">delete</span> p; +<a name="l00305"></a>00305 +<a name="l00306"></a>00306 <span class="keywordflow">return</span> (this->*ex_next)(); +<a name="l00307"></a>00307 } +<a name="l00308"></a>00308 +<a name="l00309"></a>00309 SchedTaskBase* +<a name="l00310"></a>00310 SchedTask::ex_next_normal(<span class="keywordtype">void</span>) +<a name="l00311"></a>00311 { +<a name="l00312"></a>00312 <span class="keywordflow">if</span> (__cur_index < __list->length) { +<a name="l00313"></a>00313 SchedTaskBase *nextSched; +<a name="l00314"></a>00314 +<a name="l00315"></a>00315 nextSched = __scheduler->get_nextRenewTaskList(); +<a name="l00316"></a>00316 +<a name="l00317"></a>00317 <span class="comment">// RenewTask </span> +<a name="l00318"></a>00318 <span class="keywordflow">if</span> (nextSched) { +<a name="l00319"></a>00319 __scheduler->set_backupTaskList(__list); +<a name="l00320"></a>00320 __scheduler->set_backupTaskListIndex(__cur_index); +<a name="l00321"></a>00321 <span class="keywordflow">return</span> nextSched; +<a name="l00322"></a>00322 } <span class="keywordflow">else</span> { +<a name="l00323"></a>00323 TaskPtr nextTask = &__list->tasks[__cur_index++]; +<a name="l00324"></a>00324 nextSched = createSchedTask(nextTask); +<a name="l00325"></a>00325 ((SchedTask*)nextSched)->__init__(__list, nextTask, __cur_index, +<a name="l00326"></a>00326 __scheduler->get_curReadBuf(), +<a name="l00327"></a>00327 __scheduler->get_curWriteBuf(), +<a name="l00328"></a>00328 __scheduler); +<a name="l00329"></a>00329 <span class="keywordflow">return</span> nextSched; +<a name="l00330"></a>00330 } +<a name="l00331"></a>00331 } <span class="keywordflow">else</span> { +<a name="l00332"></a>00332 uint32 nextList = (uint32)__list->next; +<a name="l00333"></a>00333 +<a name="l00334"></a>00334 if (nextList == 0) { +<a name="l00335"></a>00335 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedNop2Ready(__scheduler); +<a name="l00336"></a>00336 } <span class="keywordflow">else</span> { +<a name="l00337"></a>00337 <span class="keywordflow">return</span> createSchedTaskList(nextList, __scheduler, +<a name="l00338"></a>00338 SCHED_TASKLIST_NORMAL); +<a name="l00339"></a>00339 } +<a name="l00340"></a>00340 } +<a name="l00341"></a>00341 } +<a name="l00342"></a>00342 +<a name="l00346"></a>00346 SchedTaskBase* +<a name="l00347"></a>00347 SchedTask::ex_next_renew(<span class="keywordtype">void</span>) +<a name="l00348"></a>00348 { +<a name="l00349"></a>00349 TaskPtr nextTask; +<a name="l00350"></a>00350 SchedTask *nextSched; +<a name="l00351"></a>00351 +<a name="l00352"></a>00352 <span class="keywordflow">if</span> (__cur_index < __list->length) { +<a name="l00353"></a>00353 nextTask = &__list->tasks[__cur_index++]; +<a name="l00354"></a>00354 nextSched = createSchedTask(nextTask); +<a name="l00355"></a>00355 +<a name="l00356"></a>00356 <span class="comment">// RenewTaskList ¹ʤΤ</span> +<a name="l00357"></a>00357 nextSched->__setRenew(); +<a name="l00358"></a>00358 nextSched->__init__(__list, nextTask, __cur_index, +<a name="l00359"></a>00359 __scheduler->get_curReadBuf(), +<a name="l00360"></a>00360 __scheduler->get_curWriteBuf(), +<a name="l00361"></a>00361 __scheduler); +<a name="l00362"></a>00362 +<a name="l00366"></a>00366 __list = NULL; +<a name="l00367"></a>00367 <span class="keywordflow">return</span> nextSched; +<a name="l00368"></a>00368 } <span class="keywordflow">else</span> { +<a name="l00369"></a>00369 SchedTaskBase *nextList; +<a name="l00370"></a>00370 +<a name="l00371"></a>00371 nextList = __scheduler->get_nextRenewTaskList(); +<a name="l00372"></a>00372 +<a name="l00373"></a>00373 <span class="keywordflow">if</span> (nextList) { +<a name="l00374"></a>00374 <span class="keywordflow">return</span> nextList; +<a name="l00375"></a>00375 } <span class="keywordflow">else</span> { +<a name="l00376"></a>00376 TaskListPtr nextList = __scheduler->get_backupTaskList(); +<a name="l00377"></a>00377 +<a name="l00378"></a>00378 <span class="comment">// Ǥ TaskList </span> +<a name="l00379"></a>00379 <span class="keywordflow">if</span> (nextList) { +<a name="l00380"></a>00380 __cur_index = __scheduler->get_backupTaskListIndex(); +<a name="l00381"></a>00381 +<a name="l00382"></a>00382 nextTask = &nextList->tasks[__cur_index++]; +<a name="l00383"></a>00383 nextSched = createSchedTask(nextTask); +<a name="l00384"></a>00384 +<a name="l00385"></a>00385 nextSched->__init__(nextList, nextTask, __cur_index, +<a name="l00386"></a>00386 __scheduler->get_curReadBuf(), +<a name="l00387"></a>00387 __scheduler->get_curWriteBuf(), +<a name="l00388"></a>00388 __scheduler); +<a name="l00389"></a>00389 <span class="keywordflow">return</span> nextSched; +<a name="l00390"></a>00390 } <span class="keywordflow">else</span> { +<a name="l00391"></a>00391 <span class="keywordflow">return</span> <span class="keyword">new</span> SchedNop2Ready(__scheduler); +<a name="l00392"></a>00392 } +<a name="l00393"></a>00393 } +<a name="l00394"></a>00394 } +<a name="l00395"></a>00395 } +<a name="l00396"></a>00396 +<a name="l00397"></a>00397 <span class="keywordtype">int</span> +<a name="l00398"></a>00398 SchedTask::get_cpuid(<span class="keywordtype">void</span>) +<a name="l00399"></a>00399 { +<a name="l00400"></a>00400 <span class="keywordflow">return</span> __scheduler->id; +<a name="l00401"></a>00401 } +<a name="l00402"></a>00402 +<a name="l00407"></a>00407 <span class="keywordtype">void</span>* +<a name="l00408"></a>00408 SchedTask::get_input(<span class="keywordtype">void</span> *buff, <span class="keywordtype">int</span> index) +<a name="l00409"></a>00409 { +<a name="l00410"></a>00410 <span class="keywordflow">if</span> (buff != NULL) { +<a name="l00411"></a>00411 <span class="keywordflow">return</span> (<span class="keywordtype">void</span>*)((int)buff + __inListData->bound[index]); +<a name="l00412"></a>00412 } <span class="keywordflow">else</span> { +<a name="l00413"></a>00413 <span class="keywordflow">return</span> NULL; +<a name="l00414"></a>00414 } +<a name="l00415"></a>00415 } +<a name="l00416"></a>00416 +<a name="l00420"></a>00420 uint32 +<a name="l00421"></a>00421 SchedTask::get_inputAddr(<span class="keywordtype">int</span> index) +<a name="l00422"></a>00422 { +<a name="l00423"></a>00423 <span class="keywordflow">return</span> __inListData->element[index].addr; +<a name="l00424"></a>00424 } +<a name="l00425"></a>00425 +<a name="l00429"></a>00429 <span class="keywordtype">int</span> +<a name="l00430"></a>00430 SchedTask::get_inputSize(<span class="keywordtype">int</span> index) +<a name="l00431"></a>00431 { +<a name="l00432"></a>00432 <span class="keywordflow">return</span> __inListData->element[index].size; +<a name="l00433"></a>00433 } +<a name="l00434"></a>00434 +<a name="l00438"></a>00438 <span class="keywordtype">void</span>* +<a name="l00439"></a>00439 SchedTask::get_output(<span class="keywordtype">void</span> *buff, <span class="keywordtype">int</span> index) +<a name="l00440"></a>00440 { +<a name="l00441"></a>00441 <span class="keywordflow">if</span> (buff != NULL) { +<a name="l00442"></a>00442 <span class="keywordflow">return</span> (<span class="keywordtype">void</span>*)((int)buff + __outListData->bound[index]); +<a name="l00443"></a>00443 } <span class="keywordflow">else</span> { +<a name="l00444"></a>00444 <span class="keywordflow">return</span> NULL; +<a name="l00445"></a>00445 } +<a name="l00446"></a>00446 } +<a name="l00447"></a>00447 +<a name="l00451"></a>00451 uint32 +<a name="l00452"></a>00452 SchedTask::get_outputAddr(<span class="keywordtype">int</span> index) +<a name="l00453"></a>00453 { +<a name="l00454"></a>00454 <span class="keywordflow">return</span> __outListData->element[index].addr; +<a name="l00455"></a>00455 } +<a name="l00456"></a>00456 +<a name="l00460"></a>00460 <span class="keywordtype">int</span> +<a name="l00461"></a>00461 SchedTask::get_outputSize(<span class="keywordtype">int</span> index) +<a name="l00462"></a>00462 { +<a name="l00463"></a>00463 <span class="keywordflow">return</span> __outListData->element[index].size; +<a name="l00464"></a>00464 } +<a name="l00465"></a>00465 +<a name="l00466"></a>00466 <span class="keywordtype">int</span> +<a name="l00467"></a>00467 SchedTask::get_param(<span class="keywordtype">int</span> index) +<a name="l00468"></a>00468 { +<a name="l00469"></a>00469 <span class="keywordflow">return</span> __task->param[index]; +<a name="l00470"></a>00470 } +<a name="l00471"></a>00471 +<a name="l00472"></a>00472 TaskPtr +<a name="l00473"></a>00473 SchedTask::create_task(<span class="keywordtype">int</span> cmd) +<a name="l00474"></a>00474 { +<a name="l00475"></a>00475 TaskListPtr taskList = __scheduler->get_renewListBuf(); +<a name="l00476"></a>00476 TaskPtr p = &taskList->tasks[taskList->length++]; +<a name="l00477"></a>00477 p->command = cmd; +<a name="l00478"></a>00478 +<a name="l00479"></a>00479 p->inData = (ListData*)__scheduler->allocate(<span class="keyword">sizeof</span>(ListData)); +<a name="l00480"></a>00480 p->outData = (ListData*)__scheduler->allocate(<span class="keyword">sizeof</span>(ListData)); +<a name="l00481"></a>00481 +<a name="l00482"></a>00482 p->inData->clear(); +<a name="l00483"></a>00483 p->outData->clear(); +<a name="l00484"></a>00484 +<a name="l00485"></a>00485 p->self = MY_SPE_NOP; +<a name="l00486"></a>00486 p->param_size = 0; +<a name="l00487"></a>00487 +<a name="l00488"></a>00488 <span class="keywordflow">return</span> p; +<a name="l00489"></a>00489 } +<a name="l00490"></a>00490 +<a name="l00497"></a>00497 <span class="keywordtype">void</span> +<a name="l00498"></a>00498 SchedTask::wait_task(TaskPtr waitTask) +<a name="l00499"></a>00499 { +<a name="l00500"></a>00500 waitTask->self = (uint32)__taskGroup; +<a name="l00501"></a>00501 +<a name="l00502"></a>00502 __scheduler->add_groupTask(__taskGroup, waitTask); +<a name="l00503"></a>00503 +<a name="l00504"></a>00504 __renew_flag++; +<a name="l00505"></a>00505 } +<a name="l00506"></a>00506 +<a name="l00507"></a>00507 <span class="keywordtype">void</span>* +<a name="l00508"></a>00508 SchedTask::global_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) { +<a name="l00509"></a>00509 <span class="keywordflow">return</span> __scheduler->global_alloc(<span class="keywordtype">id</span>, size); +<a name="l00510"></a>00510 } +<a name="l00511"></a>00511 +<a name="l00512"></a>00512 <span class="keywordtype">void</span>* +<a name="l00513"></a>00513 SchedTask::global_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) { +<a name="l00514"></a>00514 <span class="keywordflow">return</span> __scheduler->global_get(<span class="keywordtype">id</span>); +<a name="l00515"></a>00515 } +<a name="l00516"></a>00516 +<a name="l00517"></a>00517 <span class="keywordtype">void</span> +<a name="l00518"></a>00518 SchedTask::global_free(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) { +<a name="l00519"></a>00519 __scheduler->global_free(<span class="keywordtype">id</span>); +<a name="l00520"></a>00520 } +<a name="l00521"></a>00521 +<a name="l00522"></a>00522 <span class="keywordtype">void</span> +<a name="l00523"></a>00523 SchedTask::mainMem_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) { +<a name="l00524"></a>00524 __scheduler->mainMem_alloc(<span class="keywordtype">id</span>, size); +<a name="l00525"></a>00525 } +<a name="l00526"></a>00526 +<a name="l00527"></a>00527 <span class="keywordtype">void</span> +<a name="l00528"></a>00528 SchedTask::mainMem_wait(<span class="keywordtype">void</span>) { +<a name="l00529"></a>00529 __scheduler->mainMem_wait(); +<a name="l00530"></a>00530 } +<a name="l00531"></a>00531 +<a name="l00532"></a>00532 <span class="keywordtype">void</span>* +<a name="l00533"></a>00533 SchedTask::mainMem_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) { +<a name="l00534"></a>00534 <span class="keywordflow">return</span> __scheduler->mainMem_get(<span class="keywordtype">id</span>); +<a name="l00535"></a>00535 } +<a name="l00536"></a>00536 +<a name="l00537"></a>00537 <span class="keywordtype">void</span>* +<a name="l00538"></a>00538 SchedTask::allocate(<span class="keywordtype">int</span> size) { +<a name="l00539"></a>00539 <span class="keywordflow">return</span> __scheduler->allocate(size); +<a name="l00540"></a>00540 } +<a name="l00541"></a>00541 +<a name="l00542"></a>00542 <span class="keywordtype">void</span> +<a name="l00543"></a>00543 SchedTask::dma_load(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) { +<a name="l00544"></a>00544 __scheduler->dma_load(buf, addr, size, mask); +<a name="l00545"></a>00545 } +<a name="l00546"></a>00546 +<a name="l00547"></a>00547 <span class="keywordtype">void</span> +<a name="l00548"></a>00548 SchedTask::dma_store(<span class="keywordtype">void</span> *buf,uint32 addr, uint32 size, uint32 mask) { +<a name="l00549"></a>00549 __scheduler->dma_store(buf, addr, size, mask); +<a name="l00550"></a>00550 } +<a name="l00551"></a>00551 +<a name="l00552"></a>00552 <span class="keywordtype">void</span> +<a name="l00553"></a>00553 SchedTask::dma_wait(uint32 mask) { +<a name="l00554"></a>00554 __scheduler->dma_wait(mask); +<a name="l00555"></a>00555 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2schedule_2Scheduler_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,304 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: Scheduler.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>Scheduler.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <stdio.h></span> +<a name="l00002"></a>00002 <span class="preprocessor">#include <stdlib.h></span> +<a name="l00003"></a>00003 <span class="preprocessor">#include "Scheduler.h"</span> +<a name="l00004"></a>00004 <span class="preprocessor">#include "SchedNop.h"</span> +<a name="l00005"></a>00005 <span class="preprocessor">#include "error.h"</span> +<a name="l00006"></a>00006 +<a name="l00007"></a>00007 Scheduler::TaskObject task_list[MAX_TASK_OBJECT]; +<a name="l00008"></a>00008 +<a name="l00009"></a>00009 Scheduler::~Scheduler(<span class="keywordtype">void</span>) +<a name="l00010"></a>00010 { +<a name="l00011"></a>00011 <span class="keyword">delete</span> connector; +<a name="l00012"></a>00012 } +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 <span class="keywordtype">void</span> +<a name="l00015"></a>00015 Scheduler::init(<span class="keywordtype">void</span>) +<a name="l00016"></a>00016 { +<a name="l00017"></a>00017 init_impl(); +<a name="l00018"></a>00018 +<a name="l00019"></a>00019 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 2; i++) { +<a name="l00020"></a>00020 buff_taskList[i] = (TaskListPtr)allocate(<span class="keyword">sizeof</span>(TaskList)); +<a name="l00021"></a>00021 buff_inListData[i] = (ListDataPtr)allocate(<span class="keyword">sizeof</span>(ListData)); +<a name="l00022"></a>00022 buff_outListData[i] = (ListDataPtr)allocate(<span class="keyword">sizeof</span>(ListData)); +<a name="l00023"></a>00023 } +<a name="l00024"></a>00024 +<a name="l00025"></a>00025 buffFlag_taskList = 0; +<a name="l00026"></a>00026 buffFlag_inListData = 0; +<a name="l00027"></a>00027 buffFlag_outListData = 0; +<a name="l00028"></a>00028 flag_renewTaskList = 0; +<a name="l00029"></a>00029 +<a name="l00030"></a>00030 <span class="comment">// bzero Ǥ⤤</span> +<a name="l00031"></a>00031 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < MAX_GLOBAL_AREA; i++) { +<a name="l00032"></a>00032 globalList[i] = NULL; +<a name="l00033"></a>00033 } +<a name="l00034"></a>00034 +<a name="l00035"></a>00035 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < MAX_MAINMEM_AREA; i++) { +<a name="l00036"></a>00036 mainMemList[i] = NULL; +<a name="l00037"></a>00037 } +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 taskGroup = <span class="keyword">new</span> TaskGroup; +<a name="l00041"></a>00041 renewTop_taskList = NULL; +<a name="l00042"></a>00042 renewCur_taskList = NULL; +<a name="l00043"></a>00043 } +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <span class="keywordtype">void</span> +<a name="l00046"></a>00046 Scheduler::run(<span class="keywordtype">void</span>) +<a name="l00047"></a>00047 { +<a name="l00048"></a>00048 SchedTaskBase* taskTmp; +<a name="l00049"></a>00049 +<a name="l00050"></a>00050 task1 = <span class="keyword">new</span> SchedNop(); +<a name="l00051"></a>00051 task2 = <span class="keyword">new</span> SchedNop(); +<a name="l00052"></a>00052 task3 = <span class="keyword">new</span> SchedNop(); +<a name="l00053"></a>00053 +<a name="l00054"></a>00054 <span class="comment">// main loop</span> +<a name="l00055"></a>00055 <span class="keywordflow">do</span> { +<a name="l00056"></a>00056 __debug(<span class="stringliteral">"----------\n"</span>); +<a name="l00057"></a>00057 task3->write(); +<a name="l00058"></a>00058 task2->exec(); +<a name="l00059"></a>00059 task1->read(); +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 taskTmp = task3; +<a name="l00062"></a>00062 task3 = task2; +<a name="l00063"></a>00063 task2 = task1; +<a name="l00064"></a>00064 task1 = task1->next(<span class="keyword">this</span>, taskTmp); +<a name="l00065"></a>00065 } <span class="keywordflow">while</span> (task1); +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keyword">delete</span> task3; +<a name="l00068"></a>00068 <span class="keyword">delete</span> task2; +<a name="l00069"></a>00069 } +<a name="l00070"></a>00070 +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="keywordtype">void</span> +<a name="l00073"></a>00073 Scheduler::finish(<span class="keywordtype">void</span>) +<a name="l00074"></a>00074 { +<a name="l00075"></a>00075 free(buff_taskList[0]); +<a name="l00076"></a>00076 free(buff_taskList[1]); +<a name="l00077"></a>00077 free(buff_inListData[0]); +<a name="l00078"></a>00078 free(buff_inListData[1]); +<a name="l00079"></a>00079 free(buff_outListData[0]); +<a name="l00080"></a>00080 free(buff_outListData[1]); +<a name="l00081"></a>00081 } +<a name="l00082"></a>00082 +<a name="l00087"></a>00087 TaskListPtr +<a name="l00088"></a>00088 Scheduler::get_curListBuf(<span class="keywordtype">void</span>) +<a name="l00089"></a>00089 { +<a name="l00090"></a>00090 buffFlag_taskList ^= 1; +<a name="l00091"></a>00091 +<a name="l00092"></a>00092 <span class="keywordflow">return</span> buff_taskList[buffFlag_taskList]; +<a name="l00093"></a>00093 } +<a name="l00094"></a>00094 +<a name="l00095"></a>00095 +<a name="l00100"></a>00100 ListDataPtr +<a name="l00101"></a>00101 Scheduler::get_curWriteBuf(<span class="keywordtype">void</span>) +<a name="l00102"></a>00102 { +<a name="l00103"></a>00103 buffFlag_outListData ^= 1; +<a name="l00104"></a>00104 <span class="keywordflow">return</span> buff_outListData[buffFlag_outListData]; +<a name="l00105"></a>00105 } +<a name="l00106"></a>00106 +<a name="l00107"></a>00107 +<a name="l00108"></a>00108 ListDataPtr +<a name="l00109"></a>00109 Scheduler::get_curReadBuf(<span class="keywordtype">void</span>) +<a name="l00110"></a>00110 { +<a name="l00111"></a>00111 buffFlag_inListData ^= 1; +<a name="l00112"></a>00112 <span class="keywordflow">return</span> buff_inListData[buffFlag_inListData]; +<a name="l00113"></a>00113 } +<a name="l00114"></a>00114 +<a name="l00124"></a>00124 TaskListPtr +<a name="l00125"></a>00125 Scheduler::get_renewListBuf(<span class="keywordtype">void</span>) +<a name="l00126"></a>00126 { +<a name="l00127"></a>00127 <span class="keywordflow">if</span> (renewCur_taskList && renewCur_taskList->length < TASK_MAX_SIZE) { +<a name="l00128"></a>00128 <span class="keywordflow">return</span> renewCur_taskList; +<a name="l00129"></a>00129 } <span class="keywordflow">else</span> { +<a name="l00130"></a>00130 TaskListPtr newList = (TaskListPtr)allocate(<span class="keyword">sizeof</span>(TaskList)); +<a name="l00131"></a>00131 newList->length = 0; +<a name="l00132"></a>00132 newList->next = NULL; +<a name="l00133"></a>00133 renewTop_taskList = TaskList::append(renewTop_taskList, newList); +<a name="l00134"></a>00134 renewCur_taskList = newList; +<a name="l00135"></a>00135 <span class="keywordflow">return</span> newList; +<a name="l00136"></a>00136 } +<a name="l00137"></a>00137 } +<a name="l00138"></a>00138 +<a name="l00147"></a>00147 SchedTaskList* +<a name="l00148"></a>00148 Scheduler::get_nextRenewTaskList(<span class="keywordtype">void</span>) +<a name="l00149"></a>00149 { +<a name="l00150"></a>00150 <span class="keywordflow">if</span> (renewTop_taskList) { +<a name="l00151"></a>00151 TaskListPtr list = renewTop_taskList; +<a name="l00152"></a>00152 renewTop_taskList = renewTop_taskList->next; +<a name="l00153"></a>00153 renewCur_taskList = NULL; +<a name="l00154"></a>00154 +<a name="l00155"></a>00155 list->next = NULL; +<a name="l00156"></a>00156 SchedTaskList *sched +<a name="l00157"></a>00157 = createSchedTaskList((uint32)list, <span class="keyword">this</span>, SCHED_TASKLIST_RENEW); +<a name="l00158"></a>00158 <span class="keywordflow">return</span> sched; +<a name="l00159"></a>00159 } <span class="keywordflow">else</span> { +<a name="l00160"></a>00160 <span class="keywordflow">return</span> NULL; +<a name="l00161"></a>00161 } +<a name="l00162"></a>00162 } +<a name="l00163"></a>00163 +<a name="l00164"></a>00164 <span class="keywordtype">void</span> +<a name="l00165"></a>00165 Scheduler::set_backupTaskList(TaskListPtr cur_taskList) +<a name="l00166"></a>00166 { +<a name="l00167"></a>00167 bak_curTaskList = cur_taskList; +<a name="l00168"></a>00168 } +<a name="l00169"></a>00169 +<a name="l00170"></a>00170 <span class="keywordtype">void</span> +<a name="l00171"></a>00171 Scheduler::set_backupTaskListIndex(<span class="keywordtype">int</span> cur_index) +<a name="l00172"></a>00172 { +<a name="l00173"></a>00173 bakIndex_taskList = cur_index; +<a name="l00174"></a>00174 } +<a name="l00175"></a>00175 +<a name="l00182"></a>00182 TaskListPtr +<a name="l00183"></a>00183 Scheduler::get_backupTaskList(<span class="keywordtype">void</span>) +<a name="l00184"></a>00184 { +<a name="l00185"></a>00185 TaskListPtr ret = bak_curTaskList; +<a name="l00186"></a>00186 +<a name="l00187"></a>00187 bak_curTaskList = NULL; +<a name="l00188"></a>00188 <span class="keywordflow">return</span> ret; +<a name="l00189"></a>00189 } +<a name="l00190"></a>00190 +<a name="l00191"></a>00191 <span class="keywordtype">int</span> +<a name="l00192"></a>00192 Scheduler::get_backupTaskListIndex(<span class="keywordtype">void</span>) +<a name="l00193"></a>00193 { +<a name="l00194"></a>00194 <span class="keywordtype">int</span> ret = bakIndex_taskList; +<a name="l00195"></a>00195 +<a name="l00196"></a>00196 bakIndex_taskList = 0; +<a name="l00197"></a>00197 <span class="keywordflow">return</span> ret; +<a name="l00198"></a>00198 } +<a name="l00199"></a>00199 +<a name="l00200"></a>00200 <span class="keywordtype">void</span> +<a name="l00201"></a>00201 Scheduler::dma_load(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) +<a name="l00202"></a>00202 { +<a name="l00203"></a>00203 connector->dma_load(buf, addr, size, mask); +<a name="l00204"></a>00204 } +<a name="l00205"></a>00205 +<a name="l00206"></a>00206 <span class="keywordtype">void</span> +<a name="l00207"></a>00207 Scheduler::dma_store(<span class="keywordtype">void</span> *buf, uint32 addr, uint32 size, uint32 mask) +<a name="l00208"></a>00208 { +<a name="l00209"></a>00209 connector->dma_store(buf, addr, size, mask); +<a name="l00210"></a>00210 } +<a name="l00211"></a>00211 +<a name="l00212"></a>00212 <span class="keywordtype">void</span> +<a name="l00213"></a>00213 Scheduler::dma_wait(uint32 mask) +<a name="l00214"></a>00214 { +<a name="l00215"></a>00215 connector->dma_wait(mask); +<a name="l00216"></a>00216 } +<a name="l00217"></a>00217 +<a name="l00218"></a>00218 <span class="keywordtype">void</span> +<a name="l00219"></a>00219 Scheduler::dma_loadList(ListDataPtr list, <span class="keywordtype">void</span> *buff, uint32 mask) +<a name="l00220"></a>00220 { +<a name="l00221"></a>00221 connector->dma_loadList(list, buff, mask); +<a name="l00222"></a>00222 } +<a name="l00223"></a>00223 +<a name="l00224"></a>00224 +<a name="l00225"></a>00225 <span class="keywordtype">void</span> +<a name="l00226"></a>00226 Scheduler::dma_storeList(ListDataPtr list, <span class="keywordtype">void</span> *buff, uint32 mask) +<a name="l00227"></a>00227 { +<a name="l00228"></a>00228 <span class="keywordflow">return</span> connector->dma_storeList(list, buff, mask); +<a name="l00229"></a>00229 } +<a name="l00230"></a>00230 +<a name="l00231"></a>00231 <span class="keywordtype">void</span> +<a name="l00232"></a>00232 Scheduler::mail_write(uint32 data) +<a name="l00233"></a>00233 { +<a name="l00234"></a>00234 connector->mail_write(data); +<a name="l00235"></a>00235 } +<a name="l00236"></a>00236 +<a name="l00237"></a>00237 uint32 +<a name="l00238"></a>00238 Scheduler::mail_read(<span class="keywordtype">void</span>) +<a name="l00239"></a>00239 { +<a name="l00240"></a>00240 <span class="keywordflow">return</span> connector->mail_read(); +<a name="l00241"></a>00241 } +<a name="l00242"></a>00242 +<a name="l00243"></a>00243 TaskGroupPtr +<a name="l00244"></a>00244 Scheduler::set_groupTask(uint32 command) +<a name="l00245"></a>00245 { +<a name="l00246"></a>00246 TaskGroupPtr ret = taskGroup; +<a name="l00247"></a>00247 +<a name="l00248"></a>00248 reload_groupTask(); +<a name="l00249"></a>00249 +<a name="l00250"></a>00250 ret->command = command; +<a name="l00251"></a>00251 <span class="keywordflow">return</span> ret; +<a name="l00252"></a>00252 } +<a name="l00253"></a>00253 +<a name="l00254"></a>00254 <span class="keywordtype">void</span> +<a name="l00255"></a>00255 Scheduler::add_groupTask(TaskGroupPtr group, TaskPtr task) +<a name="l00256"></a>00256 { +<a name="l00257"></a>00257 group->add(task); +<a name="l00258"></a>00258 } +<a name="l00259"></a>00259 +<a name="l00260"></a>00260 <span class="keywordtype">void</span> +<a name="l00261"></a>00261 Scheduler::remove_groupTask(TaskGroupPtr group, TaskPtr task) +<a name="l00262"></a>00262 { +<a name="l00263"></a>00263 group->remove(task); +<a name="l00264"></a>00264 } +<a name="l00265"></a>00265 +<a name="l00266"></a>00266 <span class="keywordtype">void</span> +<a name="l00267"></a>00267 Scheduler::reload_groupTask(<span class="keywordtype">void</span>) +<a name="l00268"></a>00268 { +<a name="l00269"></a>00269 taskGroup = <span class="keyword">new</span> TaskGroup; +<a name="l00270"></a>00270 } +<a name="l00271"></a>00271 +<a name="l00272"></a>00272 uint32 +<a name="l00273"></a>00273 Scheduler::status_groupTask(TaskGroupPtr group) +<a name="l00274"></a>00274 { +<a name="l00275"></a>00275 <span class="keywordflow">return</span> group->status(); +<a name="l00276"></a>00276 } +<a name="l00277"></a>00277 +<a name="l00278"></a>00278 <span class="keywordtype">void</span>* +<a name="l00279"></a>00279 Scheduler::global_alloc(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> size) +<a name="l00280"></a>00280 { +<a name="l00281"></a>00281 globalList[id] = allocate(size); +<a name="l00282"></a>00282 <span class="keywordflow">return</span> globalList[id]; +<a name="l00283"></a>00283 } +<a name="l00284"></a>00284 +<a name="l00285"></a>00285 <span class="keywordtype">void</span>* +<a name="l00286"></a>00286 Scheduler::global_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) +<a name="l00287"></a>00287 { +<a name="l00288"></a>00288 <span class="keywordflow">return</span> globalList[id]; +<a name="l00289"></a>00289 } +<a name="l00290"></a>00290 +<a name="l00291"></a>00291 <span class="keywordtype">void</span> +<a name="l00292"></a>00292 Scheduler::global_free(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) +<a name="l00293"></a>00293 { +<a name="l00294"></a>00294 free(globalList[<span class="keywordtype">id</span>]); +<a name="l00295"></a>00295 globalList[id] = NULL; +<a name="l00296"></a>00296 } +<a name="l00297"></a>00297 +<a name="l00302"></a>00302 <span class="keywordtype">void</span>* +<a name="l00303"></a>00303 Scheduler::mainMem_get(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) +<a name="l00304"></a>00304 { +<a name="l00305"></a>00305 <span class="keywordflow">return</span> mainMemList[id]; +<a name="l00306"></a>00306 } +<a name="l00307"></a>00307 +<a name="l00308"></a>00308 +<a name="l00313"></a>00313 <span class="keywordtype">void</span> +<a name="l00314"></a>00314 register_task(<span class="keywordtype">int</span> cmd, Scheduler::TaskObject task) +<a name="l00315"></a>00315 { +<a name="l00316"></a>00316 task_list[cmd] = task; +<a name="l00317"></a>00317 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/kernel_2schedule_2TaskGroup_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,69 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: TaskGroup.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>TaskGroup.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "TaskGroup.h"</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="keywordtype">void</span> +<a name="l00004"></a>00004 TaskGroup::add(TaskPtr add_task) { +<a name="l00005"></a>00005 TaskQueuePtr q = <span class="keyword">new</span> TaskQueue(add_task); +<a name="l00006"></a>00006 group = TaskQueue::append(group, q); +<a name="l00007"></a>00007 } +<a name="l00008"></a>00008 +<a name="l00009"></a>00009 <span class="keywordtype">void</span> +<a name="l00010"></a>00010 TaskGroup::remove(TaskPtr delete_task) { +<a name="l00011"></a>00011 TaskQueuePtr p = group; +<a name="l00012"></a>00012 TaskQueuePtr p1; +<a name="l00013"></a>00013 +<a name="l00014"></a>00014 <span class="keywordflow">if</span> (p == NULL) <span class="keywordflow">return</span>; +<a name="l00015"></a>00015 +<a name="l00016"></a>00016 <span class="keywordflow">if</span> (p->task == delete_task) { +<a name="l00017"></a>00017 group = group->next; +<a name="l00018"></a>00018 <span class="keyword">delete</span> p; +<a name="l00019"></a>00019 } <span class="keywordflow">else</span> { +<a name="l00020"></a>00020 p1 = p->next; +<a name="l00021"></a>00021 <span class="keywordflow">while</span> (p1 && p1->task != delete_task) { +<a name="l00022"></a>00022 p1 = p1->next; +<a name="l00023"></a>00023 p = p->next; +<a name="l00024"></a>00024 } +<a name="l00025"></a>00025 <span class="keywordflow">if</span> (p1) { +<a name="l00026"></a>00026 p->next = p1->next; +<a name="l00027"></a>00027 <span class="keyword">delete</span> p1; +<a name="l00028"></a>00028 } +<a name="l00029"></a>00029 } +<a name="l00030"></a>00030 } +<a name="l00031"></a>00031 +<a name="l00038"></a>00038 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> +<a name="l00039"></a>00039 TaskGroup::status(<span class="keywordtype">void</span>) { +<a name="l00046"></a>00046 <span class="preprocessor">#if 1</span> +<a name="l00047"></a>00047 <span class="preprocessor"></span> <span class="keywordflow">return</span> (group == NULL) * command; +<a name="l00048"></a>00048 <span class="preprocessor">#else</span> +<a name="l00049"></a>00049 <span class="preprocessor"></span> <span class="keywordflow">if</span> (group.empty()) { +<a name="l00050"></a>00050 <span class="keywordflow">return</span> command; +<a name="l00051"></a>00051 } <span class="keywordflow">else</span> { +<a name="l00052"></a>00052 <span class="keywordflow">return</span> 0; +<a name="l00053"></a>00053 } +<a name="l00054"></a>00054 <span class="preprocessor">#endif</span> +<a name="l00055"></a>00055 <span class="preprocessor"></span>} +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/p__shot_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/p__shot_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>p_shot.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define P_SHOT1 scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/panel__1024_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/panel__1024_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>panel_1024.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define PANEL_1024 scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/panel__2048_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/panel__2048_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>panel_2048.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define PANEL_2048 scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/panel__512_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/panel__512_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>panel_512.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define PANEL_512 scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/player_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/player_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -24,7 +24,7 @@ <a name="l00004"></a>00004 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_R scene_graph->next->next->next</span> <a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define PLAYER_RR scene_graph->next->next->next->next</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/player__action_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/player__action_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -26,7 +26,7 @@ <a name="l00006"></a>00006 <span class="keywordtype">void</span> player_move_all(SceneGraphPtr node, <span class="keywordtype">int</span> screen_w, <span class="keywordtype">int</span> screen_h); <a name="l00007"></a>00007 <span class="keywordtype">void</span> player_collision(SceneGraphPtr node, <span class="keywordtype">int</span> screen_w, <span class="keywordtype">int</span> screen_h ,SceneGraphPtr tree); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2cube_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2cube_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>cube.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define Cube scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2demonstration_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2demonstration_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2pad_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2pad_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -37,7 +37,7 @@ <a name="l00017"></a>00017 <a name="l00018"></a>00018 <span class="keywordtype">int</span> pad(<span class="keywordtype">int</span> button); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2polygon_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2polygon_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -92,7 +92,7 @@ <a name="l00072"></a>00072 <a name="l00073"></a>00073 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2polygon__pack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2polygon__pack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -61,7 +61,7 @@ <a name="l00041"></a>00041 <a name="l00042"></a>00042 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2scene_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2scene_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2scene__graph__pack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2scene__graph__pack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -61,7 +61,7 @@ <a name="l00041"></a>00041 <a name="l00042"></a>00042 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2sys_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2sys_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -27,7 +27,7 @@ <a name="l00007"></a>00007 <span class="keywordtype">void</span> rotate(<span class="keywordtype">float</span> *xyz, <span class="keywordtype">float</span> *matrix); <a name="l00008"></a>00008 <span class="keywordtype">void</span> translate(<span class="keywordtype">float</span> *xyz, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -23,7 +23,7 @@ <a name="l00003"></a>00003 <a name="l00004"></a>00004 GLuint SDL_GL_LoadTexture(SDL_Surface *surface, GLfloat *texcoord); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2triangle_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2triangle_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -32,7 +32,7 @@ <a name="l00012"></a>00012 <a name="l00013"></a>00013 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2vertex_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2vertex_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -30,7 +30,7 @@ <a name="l00010"></a>00010 <a name="l00011"></a>00011 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2viewer_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2viewer_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -77,7 +77,7 @@ <a name="l00057"></a>00057 <a name="l00058"></a>00058 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__pack_2xml_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__pack_2xml_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -21,7 +21,7 @@ <h1>xml.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="keywordtype">char</span> *skip_to_number(<span class="keywordtype">char</span> *cont); <a name="l00002"></a>00002 <span class="keywordtype">char</span> *pickup_float(<span class="keywordtype">char</span> *cont, <span class="keywordtype">float</span> *index); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2Func_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2Func_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -35,7 +35,7 @@ <a name="l00015"></a>00015 TASK_DRAW <a name="l00016"></a>00016 }; </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2SpanC_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2SpanC_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2SpanPack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2SpanPack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -44,7 +44,7 @@ <a name="l00024"></a>00024 <a name="l00025"></a>00025 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2Span_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2Span_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2cube_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2cube_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>cube.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define Cube scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2cube__big_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2cube__big_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>cube_big.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define Cube scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2demonstration_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2demonstration_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2fb_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2fb_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -123,7 +123,7 @@ <a name="l00103"></a>00103 <span class="keywordtype">int</span> get_fbdev_addr(<span class="keywordtype">void</span>) {<span class="keywordflow">return</span> 0;} <a name="l00104"></a>00104 <span class="preprocessor">#endif </span><span class="comment">/* __linux__ */</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2pad_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2pad_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -37,7 +37,7 @@ <a name="l00017"></a>00017 <a name="l00018"></a>00018 <span class="keywordtype">int</span> pad(<span class="keywordtype">int</span> button); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2polygon_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2polygon_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -100,7 +100,7 @@ <a name="l00080"></a>00080 }; <a name="l00081"></a>00081 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2polygon__pack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2polygon__pack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -60,7 +60,7 @@ <a name="l00040"></a>00040 <a name="l00041"></a>00041 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2scene_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2scene_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2scene__graph__pack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2scene__graph__pack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -61,7 +61,7 @@ <a name="l00041"></a>00041 <a name="l00042"></a>00042 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2spe_2Load__Texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2spe_2Load__Texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -40,7 +40,7 @@ <a name="l00020"></a>00020 <a name="l00021"></a>00021 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2sys_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2sys_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -27,7 +27,7 @@ <a name="l00007"></a>00007 <span class="keywordtype">void</span> rotate(<span class="keywordtype">float</span> *xyz, <span class="keywordtype">float</span> *matrix); <a name="l00008"></a>00008 <span class="keywordtype">void</span> translate(<span class="keywordtype">float</span> *xyz, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2test_2LoadTexture_2polygon_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2test_2LoadTexture_2polygon_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -47,7 +47,7 @@ <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2test_2LoadTexture_2spe_2Load__Texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2test_2LoadTexture_2spe_2Load__Texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -40,7 +40,7 @@ <a name="l00020"></a>00020 <a name="l00021"></a>00021 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2test_2LoadTexture_2viewer_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2test_2LoadTexture_2viewer_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -42,7 +42,7 @@ <a name="l00022"></a>00022 <a name="l00023"></a>00023 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -23,7 +23,7 @@ <a name="l00003"></a>00003 <a name="l00004"></a>00004 GLuint SDL_GL_LoadTexture(SDL_Surface *surface, GLfloat *texcoord); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2triangle_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2triangle_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -32,7 +32,7 @@ <a name="l00012"></a>00012 <a name="l00013"></a>00013 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2vertex_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2vertex_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -30,7 +30,7 @@ <a name="l00010"></a>00010 <a name="l00011"></a>00011 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2viewer_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2viewer_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -71,7 +71,7 @@ <a name="l00051"></a>00051 <a name="l00052"></a>00052 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2viewer__types_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2viewer__types_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -44,7 +44,7 @@ <a name="l00024"></a>00024 <span class="preprocessor"></span> <a name="l00025"></a>00025 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/simple__render_2xml_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/simple__render_2xml_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -21,7 +21,7 @@ <h1>xml.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="keywordtype">char</span> *skip_to_number(<span class="keywordtype">char</span> *cont); <a name="l00002"></a>00002 <span class="keywordtype">char</span> *pickup_float(<span class="keywordtype">char</span> *cont, <span class="keywordtype">float</span> *index); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/span_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/span_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/span__pack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/span__pack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -49,7 +49,7 @@ <a name="l00029"></a>00029 <a name="l00030"></a>00030 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/spe_2CreatePolygon_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/spe_2CreatePolygon_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -34,7 +34,7 @@ <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/spe_2CreateSpan_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/spe_2CreateSpan_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -47,7 +47,7 @@ <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/spe_2DrawBack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/spe_2DrawBack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -36,7 +36,7 @@ <a name="l00016"></a>00016 <a name="l00017"></a>00017 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/spe_2DrawSpanRenew_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/spe_2DrawSpanRenew_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/spe_2DrawSpan_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/spe_2DrawSpan_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -83,7 +83,7 @@ <a name="l00063"></a>00063 <a name="l00064"></a>00064 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/spe_2Set__Texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/spe_2Set__Texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -35,7 +35,7 @@ <a name="l00015"></a>00015 <span class="preprocessor">#endif</span> <a name="l00016"></a>00016 <span class="preprocessor"></span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/spe_2TileHash_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/spe_2TileHash_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -49,7 +49,7 @@ <a name="l00029"></a>00029 <span class="keyword">const</span> <span class="keywordtype">int</span> GLOBAL_TEXTURE_HASH = 0; <a name="l00030"></a>00030 <span class="keyword">const</span> <span class="keywordtype">int</span> GLOBAL_TILE_LIST = 1; </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/sphere_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/sphere_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>sphere.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define Sphere scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/sphere__big_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/sphere__big_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>sphere_big.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define BigSphere scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/spu__span_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/spu__span_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -55,7 +55,7 @@ <a name="l00035"></a>00035 <span class="comment">*/</span> <a name="l00036"></a>00036 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/structtexture__block.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/structtexture__block.html Fri Jun 05 18:16:31 2009 +0900 @@ -16,6 +16,7 @@ <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> @@ -39,10 +40,12 @@ Rendering 1pass Zbuffer と Texture の有無の判定 if (zbuffer ok) { if (texture ある) { zbuffer 、linebunf に書き込む } else { texture の load list に加える zbuffer だけ更新しておく } } else { 無視 }<p> 1pass で texture が一杯になったら、中断して ここまでのを書き込んどけ<p> 2pass rgb の書き込み<p> -if (zbuffer の値が自分と一緒) { read した texture みて 書き込め! } <hr>The documentation for this struct was generated from the following file:<ul> +if (zbuffer の値が自分と一緒) { read した texture みて 書き込め! } +<p>Definition at line <a class="el" href="Tapestry_8h-source.html#l00073">73</a> of file <a class="el" href="Tapestry_8h-source.html">Tapestry.h</a>.</p> +<hr>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="Tapestry_8h-source.html">Tapestry.h</a></ul> </div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/html/systask__register_8cc-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,37 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Cerium: systask_register.cc Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.7.1 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<h1>systask_register.cc</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "SysTask.h"</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 SchedExternTask(Start); +<a name="l00004"></a>00004 SchedExternTask(Finish); +<a name="l00005"></a>00005 +<a name="l00006"></a>00006 <span class="keywordtype">void</span> +<a name="l00007"></a>00007 systask_register(<span class="keywordtype">void</span>) +<a name="l00008"></a>00008 { +<a name="l00009"></a>00009 SchedRegisterTask(SYSTASK_START, Start); +<a name="l00010"></a>00010 SchedRegisterTask(SYSTASK_FINISH, Finish); +<a name="l00011"></a>00011 } +</pre></div></div> +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> +</body> +</html>
--- a/Document/document/html/task_2CreatePolygon_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/task_2CreatePolygon_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -34,7 +34,7 @@ <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:14 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/task_2CreateSpan_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/task_2CreateSpan_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -47,7 +47,7 @@ <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/task_2DrawBack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/task_2DrawBack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -36,7 +36,7 @@ <a name="l00016"></a>00016 <a name="l00017"></a>00017 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/task_2DrawSpanRenew_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/task_2DrawSpanRenew_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/task_2DrawSpan_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/task_2DrawSpan_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -83,7 +83,7 @@ <a name="l00063"></a>00063 <a name="l00064"></a>00064 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/task_2Set__Texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/task_2Set__Texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -35,7 +35,7 @@ <a name="l00015"></a>00015 <span class="preprocessor">#endif</span> <a name="l00016"></a>00016 <span class="preprocessor"></span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/task_2TileHash_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/task_2TileHash_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -49,7 +49,7 @@ <a name="l00029"></a>00029 <span class="keyword">const</span> <span class="keywordtype">int</span> GLOBAL_TEXTURE_HASH = 0; <a name="l00030"></a>00030 <span class="keyword">const</span> <span class="keywordtype">int</span> GLOBAL_TILE_LIST = 1; </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2Func_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2Func_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -42,7 +42,7 @@ <a name="l00022"></a>00022 TASK_DUMMY, <a name="l00023"></a>00023 }; </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2SpanC_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2SpanC_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2SpanPack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2SpanPack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -72,7 +72,7 @@ <a name="l00052"></a>00052 <a name="l00053"></a>00053 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2Span_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2Span_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -94,7 +94,7 @@ <a name="l00074"></a>00074 <a name="l00075"></a>00075 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2demonstration_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2demonstration_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2fb_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2fb_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -110,7 +110,7 @@ <a name="l00090"></a>00090 <a name="l00091"></a>00091 <span class="keyword">extern</span> <span class="keywordtype">int</span> get_fbdev_addr(<span class="keywordtype">void</span>); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2polygon_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2polygon_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -81,7 +81,7 @@ <a name="l00061"></a>00061 <a name="l00062"></a>00062 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2polygon__pack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2polygon__pack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -87,7 +87,7 @@ <a name="l00067"></a>00067 <a name="l00068"></a>00068 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2scene_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2scene_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2scene__graph__pack_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2scene__graph__pack_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -96,7 +96,7 @@ <a name="l00076"></a>00076 <a name="l00077"></a>00077 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2spe_2Load__Texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2spe_2Load__Texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -38,7 +38,7 @@ <a name="l00018"></a>00018 <a name="l00019"></a>00019 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2spe_2texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2spe_2texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -22,7 +22,7 @@ <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define TEXTURE_ID 0</span> <a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#define TEXTURE2_ID 13</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2sys_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2sys_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -38,7 +38,7 @@ <a name="l00018"></a>00018 <span class="keywordtype">void</span> unitMatrix(<span class="keywordtype">float</span> *m); <a name="l00019"></a>00019 <span class="keywordtype">void</span> transMatrix(<span class="keywordtype">float</span> *m0, <span class="keywordtype">float</span> *m1, <span class="keywordtype">float</span> *v); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2task_2Load__Texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2task_2Load__Texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -38,7 +38,7 @@ <a name="l00018"></a>00018 <a name="l00019"></a>00019 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2task_2texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2task_2texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -22,7 +22,7 @@ <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define TEXTURE_ID 0</span> <a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#define TEXTURE2_ID 13</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2texture_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2texture_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -36,7 +36,7 @@ <a name="l00016"></a>00016 <a name="l00017"></a>00017 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2triangle_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2triangle_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -32,7 +32,7 @@ <a name="l00012"></a>00012 <a name="l00013"></a>00013 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2vertex_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2vertex_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -30,7 +30,7 @@ <a name="l00010"></a>00010 <a name="l00011"></a>00011 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2viewer_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2viewer_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -64,7 +64,7 @@ <a name="l00044"></a>00044 <span class="preprocessor"></span> <a name="l00045"></a>00045 <span class="preprocessor">#define default_sdl_flag SDL_INIT_TIMER | SDL_INIT_JOYSTICK</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2viewer__types_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2viewer__types_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -52,7 +52,7 @@ <a name="l00032"></a>00032 <a name="l00033"></a>00033 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2xml_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2xml_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -21,7 +21,7 @@ <h1>xml.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="keywordtype">char</span> *skip_to_number(<span class="keywordtype">char</span> *cont); <a name="l00002"></a>00002 <span class="keywordtype">char</span> *pickup_float(<span class="keywordtype">char</span> *cont, <span class="keywordtype">float</span> *index); </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2xml__file_2cube_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2xml__file_2cube_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>cube.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define Cube scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/test__render_2xml__file_2cube__big_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/test__render_2xml__file_2cube__big_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -20,7 +20,7 @@ </div> <h1>cube_big.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define BigCube scene_graph</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/types_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/types_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -70,7 +70,7 @@ <a name="l00050"></a>00050 <a name="l00051"></a>00051 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/universe_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/universe_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -21,7 +21,7 @@ <h1>universe.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#define Earth scene_graph</span> <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define Moon scene_graph->next</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/viewerFB_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/viewerFB_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -37,7 +37,7 @@ <a name="l00017"></a>00017 <a name="l00018"></a>00018 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/html/viewerSDL_8h-source.html Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/html/viewerSDL_8h-source.html Fri Jun 05 18:16:31 2009 +0900 @@ -42,7 +42,7 @@ <a name="l00022"></a>00022 <a name="l00023"></a>00023 <span class="preprocessor">#endif</span> </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:05:15 2009 for Cerium by +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 18:14:06 2009 for Cerium by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body>
--- a/Document/document/latex/annotated.tex Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/latex/annotated.tex Fri Jun 05 18:16:31 2009 +0900 @@ -1,5 +1,6 @@ \section{Class List} Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} +\item\contentsline{section}{\hyperlink{classBufferManager}{BufferManager} }{\pageref{classBufferManager}}{} \item\contentsline{section}{\hyperlink{structtexture__block}{texture\_\-block} }{\pageref{structtexture__block}}{} \item\contentsline{section}{\hyperlink{classTileList}{TileList} }{\pageref{classTileList}}{} \end{CompactList}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/latex/classBufferManager.tex Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,95 @@ +\hypertarget{classBufferManager}{ +\section{BufferManager Class Reference} +\label{classBufferManager}\index{BufferManager@{BufferManager}} +} +{\tt \#include $<$BufferManager.h$>$} + +Inherited by CellBufferManager. + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{classBufferManager_9f6520c0cb5b2546fa5c0a0357c75c9f}{ +\textbf{BufferManager} (int num=1)} +\label{classBufferManager_9f6520c0cb5b2546fa5c0a0357c75c9f} + +\item +\hypertarget{classBufferManager_1795106aa9914c8089d6ea2c8e171a5d}{ +virtual void \textbf{init} (void)} +\label{classBufferManager_1795106aa9914c8089d6ea2c8e171a5d} + +\item +\hypertarget{classBufferManager_9dd8ede25545cff6ab9e1bb6936967d1}{ +TaskListPtr \textbf{create\_\-taskList} (void)} +\label{classBufferManager_9dd8ede25545cff6ab9e1bb6936967d1} + +\item +\hypertarget{classBufferManager_38d9adc627d38c5aad0d9b36062df029}{ +void \textbf{free\_\-taskList} (TaskListPtr)} +\label{classBufferManager_38d9adc627d38c5aad0d9b36062df029} + +\item +\hypertarget{classBufferManager_a83740aaeb16b56dbb944d5549e7dfb1}{ +TaskListPtr \textbf{clear\_\-taskList} (TaskListPtr)} +\label{classBufferManager_a83740aaeb16b56dbb944d5549e7dfb1} + +\item +\hypertarget{classBufferManager_020b8ed41ae771ab4a80e0ac36cbd439}{ +TaskQueuePtr \textbf{create\_\-taskQueue} (HTaskPtr)} +\label{classBufferManager_020b8ed41ae771ab4a80e0ac36cbd439} + +\item +\hypertarget{classBufferManager_1c978e7795a045a278f1e9277756d0dd}{ +void \textbf{free\_\-taskQueue} (TaskQueuePtr)} +\label{classBufferManager_1c978e7795a045a278f1e9277756d0dd} + +\item +\hypertarget{classBufferManager_91144fbb6e48dd52792073d8e41795a6}{ +HTaskPtr \textbf{create\_\-task} (int cmd)} +\label{classBufferManager_91144fbb6e48dd52792073d8e41795a6} + +\item +\hypertarget{classBufferManager_0254144c5bc89574d57073a5b4443004}{ +void \textbf{free\_\-task} (HTaskPtr)} +\label{classBufferManager_0254144c5bc89574d57073a5b4443004} + +\item +\hypertarget{classBufferManager_0e90929562369d98573b1dc1d97506e7}{ +void \textbf{finish} (void)} +\label{classBufferManager_0e90929562369d98573b1dc1d97506e7} + +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +\hypertarget{classBufferManager_d2b213a2bece5dcd3441d3270937cd0b}{ +TaskListInfo $\ast$ \textbf{taskListImpl}} +\label{classBufferManager_d2b213a2bece5dcd3441d3270937cd0b} + +\item +\hypertarget{classBufferManager_7df679af7bea986434fc60ce81c3bd6b}{ +TaskQueueInfo $\ast$ \textbf{taskQueueImpl}} +\label{classBufferManager_7df679af7bea986434fc60ce81c3bd6b} + +\item +\hypertarget{classBufferManager_046658d075870d6c14c4ccb8d91f71b8}{ +HTaskInfo $\ast$ \textbf{htaskImpl}} +\label{classBufferManager_046658d075870d6c14c4ccb8d91f71b8} + +\item +\hypertarget{classBufferManager_7df9fcae63365f7b0217726a72ce258a}{ +int \textbf{machineNum}} +\label{classBufferManager_7df9fcae63365f7b0217726a72ce258a} + +\end{CompactItemize} + + +\subsection{Detailed Description} +Task Input/Output buffer manager + +Definition at line 25 of file BufferManager.h. + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +BufferManager.h\item +BufferManager.cc\end{CompactItemize}
--- a/Document/document/latex/classTileList.tex Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/latex/classTileList.tex Fri Jun 05 18:16:31 2009 +0900 @@ -34,6 +34,8 @@ \subsection{Detailed Description} \hyperlink{classTileList}{TileList} 中の Tile の追い出しは、現在 FIFO で実装している +Definition at line 88 of file Tapestry.h. + \subsection{Member Function Documentation} \hypertarget{classTileList_81f144e0c87ba9a92c8e4a10990caeb5}{ \index{TileList@{TileList}!clear@{clear}} @@ -42,7 +44,9 @@ \label{classTileList_81f144e0c87ba9a92c8e4a10990caeb5} -\hyperlink{classTileList}{TileList} のクリア //tile 自体は clear する必要は無い あるかもしれない \hypertarget{classTileList_e74c2d4e781fdde223961c00d75a791c}{ +\hyperlink{classTileList}{TileList} のクリア //tile 自体は clear する必要は無い あるかもしれない + +Definition at line 117 of file Tapestry.h.\hypertarget{classTileList_e74c2d4e781fdde223961c00d75a791c}{ \index{TileList@{TileList}!nextTile@{nextTile}} \index{nextTile@{nextTile}!TileList@{TileList}} \subsubsection[{nextTile}]{\setlength{\rightskip}{0pt plus 5cm}TilePtr TileList::nextTile (void)\hspace{0.3cm}{\tt \mbox{[}inline\mbox{]}}}} @@ -55,6 +59,8 @@ \item[Returns:]tile\end{Desc} tile\mbox{[}\mbox{]} をリングバスっぽく扱うことで FIFO を実現することに。 +Definition at line 106 of file Tapestry.h. + The documentation for this class was generated from the following file:\begin{CompactItemize} \item Tapestry.h\end{CompactItemize}
--- a/Document/document/latex/doxygen.sty Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/latex/doxygen.sty Fri Jun 05 18:16:31 2009 +0900 @@ -10,8 +10,8 @@ {\fancyplain{}{\bfseries\rightmark}} \rhead[\fancyplain{}{\bfseries\leftmark}] {\fancyplain{}{\bfseries\thepage}} -\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Fri Jun 5 18:05:14 2009 for Cerium by Doxygen }]{} -\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Fri Jun 5 18:05:14 2009 for Cerium by Doxygen }} +\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Fri Jun 5 18:14:05 2009 for Cerium by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Fri Jun 5 18:14:05 2009 for Cerium by Doxygen }} \cfoot{} \newenvironment{Code} {\footnotesize}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Document/document/latex/hierarchy.tex Fri Jun 05 18:16:31 2009 +0900 @@ -0,0 +1,6 @@ +\section{Class Hierarchy} +This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} +\item \contentsline{section}{BufferManager}{\pageref{classBufferManager}}{} +\item \contentsline{section}{texture\_\-block}{\pageref{structtexture__block}}{} +\item \contentsline{section}{TileList}{\pageref{classTileList}}{} +\end{CompactList}
--- a/Document/document/latex/refman.tex Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/latex/refman.tex Fri Jun 05 18:16:31 2009 +0900 @@ -39,7 +39,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.5.7.1}\\ \vspace*{0.5cm} -{\small Fri Jun 5 18:05:14 2009}\\ +{\small Fri Jun 5 18:14:05 2009}\\ \end{center} \end{titlepage} \clearemptydoublepage @@ -48,9 +48,12 @@ \clearemptydoublepage \pagenumbering{arabic} \chapter{Class Index} +\input{hierarchy} +\chapter{Class Index} \input{annotated} \chapter{Class Documentation} -\input{structtexture__block} +\input{classBufferManager} +\include{structtexture__block} \include{classTileList} \printindex \end{document}
--- a/Document/document/latex/structtexture__block.tex Fri Jun 05 18:05:46 2009 +0900 +++ b/Document/document/latex/structtexture__block.tex Fri Jun 05 18:16:31 2009 +0900 @@ -33,6 +33,8 @@ if (zbuffer の値が自分と一緒) \{ read した texture みて 書き込め! \} +Definition at line 73 of file Tapestry.h. + The documentation for this struct was generated from the following file:\begin{CompactItemize} \item Tapestry.h\end{CompactItemize}
--- a/TaskManager/Cell/CellTaskManagerImpl.cc Fri Jun 05 18:05:46 2009 +0900 +++ b/TaskManager/Cell/CellTaskManagerImpl.cc Fri Jun 05 18:16:31 2009 +0900 @@ -221,7 +221,7 @@ * Ǥ TaskList allocate(new) ϿƤ */ - speThreads->add_output_tasklist(command, alloc_info[1], alloc_size); + speThreads->add_output_tasklist(command, (void*)alloc_info[1], alloc_size); speThreads->send_mail(id, 2, alloc_info); } else if (data > MY_SPE_NOP) {
--- a/TaskManager/Doxyfile Fri Jun 05 18:05:46 2009 +0900 +++ b/TaskManager/Doxyfile Fri Jun 05 18:16:31 2009 +0900 @@ -623,7 +623,7 @@ # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. -EXAMPLE_RECURSIVE = NO +EXAMPLE_RECURSIVE = YES # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see @@ -665,7 +665,7 @@ # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. -SOURCE_BROWSER = NO +SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation.
--- a/example/many_task/Makefile.def Fri Jun 05 18:05:46 2009 +0900 +++ b/example/many_task/Makefile.def Fri Jun 05 18:16:31 2009 +0900 @@ -1,9 +1,13 @@ TARGET = sort # include/library path -# ex: macosx +# ex macosx #CERIUM = /Users/gongo/Source/Concurrency/Game_project/Cerium +<<<<<<< /home/teacher/kono/src/Cerium/example/many_task/Makefile.def +# ex linux/ps3 +CERIUM = ../../../Cerium +======= # ex: linux/ps3 CERIUM = ../../../Cerium @@ -12,3 +16,4 @@ INCLUDE = -I${CERIUM}/include/TaskManager -I. -I.. LIBS = -L${CERIUM}/TaskManager +>>>>>>> /tmp/Makefile.def~other.2eIJvO
--- a/example/many_task/spe/Makefile Fri Jun 05 18:05:46 2009 +0900 +++ b/example/many_task/spe/Makefile Fri Jun 05 18:16:31 2009 +0900 @@ -23,4 +23,4 @@ clean: rm -f $(TARGET) $(OBJS) - rm -f *~ \#* \ No newline at end of file + rm -f *~ \#*
--- a/example/many_task/spe/spe-main.cc Fri Jun 05 18:05:46 2009 +0900 +++ b/example/many_task/spe/spe-main.cc Fri Jun 05 18:16:31 2009 +0900 @@ -7,8 +7,15 @@ * この関数は SpeScheduler から呼ばれるので * 必ずこの関数名でお願いします。 */ + +static void +spe_debug() +{ +} + void task_init(void) { + spe_debug(); SchedRegisterTask(QUICK_SORT, QuickSort); }
--- a/include/TaskManager/BufferManager.h Fri Jun 05 18:05:46 2009 +0900 +++ b/include/TaskManager/BufferManager.h Fri Jun 05 18:16:31 2009 +0900 @@ -17,6 +17,11 @@ # include "HTaskInfo.h" #endif +/*! + * Task Input/Output buffer manager + * + */ + class BufferManager { public: /* constructor */
--- a/include/TaskManager/Scheduler.h Fri Jun 05 18:05:46 2009 +0900 +++ b/include/TaskManager/Scheduler.h Fri Jun 05 18:16:31 2009 +0900 @@ -110,6 +110,8 @@ void* mainMemList[MAX_MAINMEM_AREA]; // Task Object Table + // this is named TaskObject but it is not an object. + // It is a pointer to an object creation function typedef SchedTask* (*TaskObject)(void); DmaManager* connector;