annotate TaskManager/kernel/schedule/DmaManager.h @ 1413:5b024efa2429 draft

fix free on non copy DMA
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 19 Feb 2012 10:07:27 +0900
parents 2187bd10f16d
children 94ac6d8e73aa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
1 #ifndef INCLUDED_DMA_MANAGER
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
2 #define INCLUDED_DMA_MANAGER
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
3
307
3fc86ddf5d1c clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 255
diff changeset
4 #include "base.h"
3fc86ddf5d1c clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 255
diff changeset
5 #include "ListData.h"
3fc86ddf5d1c clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 255
diff changeset
6 #include "types.h"
180
e3b7776b1420 いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents: 109
diff changeset
7
e3b7776b1420 いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents: 109
diff changeset
8 enum dma_tag {
233
gongo@localhost.localdomain
parents: 180
diff changeset
9 DMA_READ = 25,
970
1a4849b2acad change pipeline and TaskArray fast
Yutaka Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 923
diff changeset
10 DMA_READ2 = 26,
233
gongo@localhost.localdomain
parents: 180
diff changeset
11 DMA_WRITE = 27,
502
fdc3e30de9d3 Renew Task addInData (not yet worked).
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 366
diff changeset
12 // DMA_READ_IN_LIST = 29,
fdc3e30de9d3 Renew Task addInData (not yet worked).
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 366
diff changeset
13 // DMA_READ_OUT_LIST = 30,
233
gongo@localhost.localdomain
parents: 180
diff changeset
14 DMA_READ_TASKLIST = 31,
180
e3b7776b1420 いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents: 109
diff changeset
15 };
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
16
923
382a48afb061 fix DMA/Mail wait profiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 672
diff changeset
17 class Scheduler;
382a48afb061 fix DMA/Mail wait profiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 672
diff changeset
18
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
19 class DmaManager {
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
20 public:
603
57ec231bc8ac long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 602
diff changeset
21 virtual ~DmaManager() {};
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
22
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
23 BASE_NEW_DELETE(DmaManager);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
24
88
504899860e66 *** empty log message ***
gongo
parents: 46
diff changeset
25 // API for DMA transfer
1413
5b024efa2429 fix free on non copy DMA
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1401
diff changeset
26 virtual void *dma_load(Scheduler *s, void *buf, memaddr addr, uint32 size, uint32 mask) { return 0; }
5b024efa2429 fix free on non copy DMA
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1401
diff changeset
27 virtual void *dma_store(void *buf,memaddr addr, uint32 size, uint32 mask) { return 0; }
5b024efa2429 fix free on non copy DMA
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1401
diff changeset
28 virtual void free(void *buf) { free(buf); }
5b024efa2429 fix free on non copy DMA
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1401
diff changeset
29 virtual void *get_writebuf(Scheduler *s, memaddr addr, uint32 size) { return 0; }
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
30 virtual void dma_wait(uint32 mask) {}
970
1a4849b2acad change pipeline and TaskArray fast
Yutaka Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 923
diff changeset
31 virtual void dma_wait(uint32 mask, int cmd) {}
923
382a48afb061 fix DMA/Mail wait profiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 672
diff changeset
32 virtual void show_dma_wait(Scheduler *s, int cpu) {}
672
27fec8c70c9c add profiling code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 647
diff changeset
33 virtual void start_profile() {}
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
34
88
504899860e66 *** empty log message ***
gongo
parents: 46
diff changeset
35 // API for SPU inbound/outbound mailbox
603
57ec231bc8ac long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 602
diff changeset
36 virtual void mail_write(memaddr data) {}
1007
00c01f416e3a add mail_queue
yutaka@localhost.localdomain
parents: 970
diff changeset
37 virtual void mail_write_finish_list(memaddr data) {}
647
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
38 virtual memaddr mail_read() { return 0; }
1024
cf0ad93028e9 add task list mail time profile.
yutaka@localhost.localdomain
parents: 1007
diff changeset
39 virtual memaddr task_list_mail_read() { return 0; }
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
40
88
504899860e66 *** empty log message ***
gongo
parents: 46
diff changeset
41 // API for MFC list DMA transfer
1413
5b024efa2429 fix free on non copy DMA
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1401
diff changeset
42 virtual void *dma_loadList(Scheduler *s, ListDataPtr list, void *,uint32 mask) { return 0; }
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
43 virtual void dma_storeList(ListDataPtr, void *buff, uint32 mask) {}
1413
5b024efa2429 fix free on non copy DMA
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1401
diff changeset
44 virtual void *get_writebuf(Scheduler *s, ListDataPtr, uint32 size) { return 0; }
1213
a49c02dffe6f DMA connector reogranization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1024
diff changeset
45 virtual uint32 get_tag() { return 0;}
a49c02dffe6f DMA connector reogranization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1024
diff changeset
46 virtual void bound(ListData *) {}
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
47 };
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
48
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
49 #endif