Mercurial > hg > Game > Cerium
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 |
rev | line source |
---|---|
3 | 1 #ifndef INCLUDED_DMA_MANAGER |
2 #define INCLUDED_DMA_MANAGER | |
3 | |
307 | 4 #include "base.h" |
5 #include "ListData.h" | |
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 | 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 | 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 | 14 DMA_READ_TASKLIST = 31, |
180
e3b7776b1420
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
109
diff
changeset
|
15 }; |
3 | 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 | 19 class DmaManager { |
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 | 22 |
109 | 23 BASE_NEW_DELETE(DmaManager); |
24 | |
88 | 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 | 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 | 33 virtual void start_profile() {} |
3 | 34 |
88 | 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 | 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 | 40 |
88 | 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 | 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 | 47 }; |
48 | |
49 #endif |