changeset 916:ebc2ce7f5de9

make SchedTask API virtual (for relocation)
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 24 Jul 2010 18:41:24 +0900
parents ad10d6d39ca6
children 7f55c8727caa
files TaskManager/kernel/schedule/SchedTaskBase.h
diffstat 1 files changed, 40 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/SchedTaskBase.h	Fri Jul 23 18:05:40 2010 +0900
+++ b/TaskManager/kernel/schedule/SchedTaskBase.h	Sat Jul 24 18:41:24 2010 +0900
@@ -7,6 +7,8 @@
 
 class TaskManagerImpl;
 class Scheduler;
+class MemorySegment;
+class MemList;
 
 class SchedTaskBase {
 public:
@@ -31,6 +33,44 @@
     virtual void* get_input(void *buff, int index) { return 0;}
     virtual memaddr get_param(int index) { return 0;}
     virtual int read_size() { return 0;}
+    virtual int printf(const char * format, ...) {return 0;};
+
+    virtual memaddr get_inputAddr(int index) {return 0;}
+    virtual memaddr get_outputAddr(int index) {return 0;}
+    virtual int get_inputSize(int index) {return 0;}
+    virtual int get_outputSize(int index) {return 0;}
+
+    virtual int get_cpuid() {return 0;}
+
+    virtual void* global_alloc(int id, int size) {return 0;}
+    virtual void* global_get(int id) {return 0;}
+    virtual void global_set(int id, void *addr) {}
+    virtual void global_free(int id) {}
+    // virtual MemList* createMemList(int size, int count);
+
+    virtual void mainMem_alloc(int id, int size) {}
+    virtual void mainMem_wait() {}
+    virtual memaddr mainMem_get(int id) {return 0; }
+
+    virtual MemorySegment * get_segment(memaddr addr, MemList *m) {return 0; }
+    virtual uint32 get_tag() {return 0; }
+    virtual void put_segment(MemorySegment *s) {}
+    virtual void wait_segment(MemorySegment *s) {}
+
+    virtual void *allocate(int size) {return 0; }
+    virtual void free_(void *p)  {}
+    // virtual void polling();
+
+    /* これは禁止するべき */
+    virtual void dma_load(void *buf, memaddr addr, uint32 size, uint32 mask) {}
+    virtual void dma_store(void *buf,memaddr addr, uint32 size, uint32 mask) {}
+    virtual void dma_wait(uint32 mask) {}
+
+    virtual void show_dma_wait() {}
+    virtual void start_profile() {}
+    virtual void* allocate(int size,int align) {return 0;}
+    virtual Scheduler* get_scheduler() {return 0;}
+    virtual long get_random() {return 0;}
 
     /* variables */