Mercurial > hg > Members > kono > Cerium
annotate TaskManager/kernel/schedule/DmaManager.h @ 1007:18a548c337cb
add mail_queue
author | yutaka@localhost.localdomain |
---|---|
date | Thu, 28 Oct 2010 08:39:19 +0900 |
parents | 33630c6ff445 |
children | 19a57960c436 |
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
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
109
diff
changeset
|
7 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
109
diff
changeset
|
8 enum dma_tag { |
233 | 9 DMA_READ = 25, |
970
33630c6ff445
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
36b323130b1b
Renew Task addInData (not yet worked).
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
366
diff
changeset
|
12 // DMA_READ_IN_LIST = 29, |
36b323130b1b
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
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
109
diff
changeset
|
15 }; |
3 | 16 |
923
e015a4e5e4b0
fix DMA/Mail wait profiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
672
diff
changeset
|
17 class Scheduler; |
e015a4e5e4b0
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
42c94f85c779
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 |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
26 virtual void dma_load(void *buf, memaddr addr, uint32 size, uint32 mask) {} |
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
27 virtual void dma_store(void *buf,memaddr addr, uint32 size, uint32 mask) {} |
109 | 28 virtual void dma_wait(uint32 mask) {} |
970
33630c6ff445
change pipeline and TaskArray fast
Yutaka Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
923
diff
changeset
|
29 virtual void dma_wait(uint32 mask, int cmd) {} |
923
e015a4e5e4b0
fix DMA/Mail wait profiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
672
diff
changeset
|
30 virtual void show_dma_wait(Scheduler *s, int cpu) {} |
672 | 31 virtual void start_profile() {} |
3 | 32 |
88 | 33 // API for SPU inbound/outbound mailbox |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
34 virtual void mail_write(memaddr data) {} |
1007 | 35 virtual void mail_write_queue(memaddr data) {} |
36 virtual void mail_write_finish_list(memaddr data) {} | |
647
7c9ded1ea750
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
603
diff
changeset
|
37 virtual memaddr mail_read() { return 0; } |
109 | 38 |
88 | 39 // API for MFC list DMA transfer |
109 | 40 virtual void dma_loadList(ListDataPtr list, void *,uint32 mask) {} |
41 virtual void dma_storeList(ListDataPtr, void *buff, uint32 mask) {} | |
3 | 42 }; |
43 | |
44 #endif |