Mercurial > hg > Members > kono > Cerium
view TaskManager/kernel/schedule/SchedTaskList.cc @ 88:504899860e66
*** empty log message ***
author | gongo |
---|---|
date | Wed, 27 Feb 2008 17:16:29 +0900 |
parents | aa11038dbdc1 |
children | 5c194c71eca8 |
line wrap: on
line source
#include "SchedTaskList.h" #include "SchedTask.h" #include "SchedNop2Ready.h" #include "DmaManager.h" #include "error.h" SchedTaskList::SchedTaskList(unsigned int addr, TaskListPtr listbuf, DmaManager* c) { params_addr = addr; list = listbuf; connector = c; } void SchedTaskList::read(void) { __debug("[SchedTaskList:%s]\n", __FUNCTION__); connector->dma_load(list, params_addr, sizeof(TaskList), DMA_READ); connector->dma_wait(DMA_READ); } SchedTaskBase* SchedTaskList::next(Scheduler *m, SchedTaskBase *p) { __debug("[SchedTaskList:%s]\n", __FUNCTION__); delete p; if (list->length < 1) { return new SchedNop2Ready(connector); } else { // 本当は、ここで task->command に対応する、 // SchedTask を継承する class を作ればいい。。。はず return new SchedTask(list, &list->tasks[--list->length], m->get_curReadBuf(), m->get_curWriteBuf(), connector); } }