Mercurial > hg > Members > kono > Cerium
annotate TaskManager/kernel/schedule/DmaManager.h @ 923:e015a4e5e4b0
fix DMA/Mail wait profiler
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 30 Jul 2010 15:24:13 +0900 |
parents | 3b6290c05f9f |
children | 33630c6ff445 |
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, |
10 DMA_WRITE = 27, | |
502
36b323130b1b
Renew Task addInData (not yet worked).
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
366
diff
changeset
|
11 // DMA_READ_IN_LIST = 29, |
36b323130b1b
Renew Task addInData (not yet worked).
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
366
diff
changeset
|
12 // DMA_READ_OUT_LIST = 30, |
233 | 13 DMA_READ_TASKLIST = 31, |
180
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
109
diff
changeset
|
14 }; |
3 | 15 |
923
e015a4e5e4b0
fix DMA/Mail wait profiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
672
diff
changeset
|
16 class Scheduler; |
e015a4e5e4b0
fix DMA/Mail wait profiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
672
diff
changeset
|
17 |
3 | 18 class DmaManager { |
19 public: | |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
20 virtual ~DmaManager() {}; |
3 | 21 |
109 | 22 BASE_NEW_DELETE(DmaManager); |
23 | |
88 | 24 // API for DMA transfer |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
25 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
|
26 virtual void dma_store(void *buf,memaddr addr, uint32 size, uint32 mask) {} |
109 | 27 virtual void dma_wait(uint32 mask) {} |
923
e015a4e5e4b0
fix DMA/Mail wait profiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
672
diff
changeset
|
28 virtual void show_dma_wait(Scheduler *s, int cpu) {} |
672 | 29 virtual void start_profile() {} |
3 | 30 |
88 | 31 // 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
|
32 virtual void mail_write(memaddr data) {} |
647
7c9ded1ea750
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
603
diff
changeset
|
33 virtual memaddr mail_read() { return 0; } |
109 | 34 |
88 | 35 // API for MFC list DMA transfer |
109 | 36 virtual void dma_loadList(ListDataPtr list, void *,uint32 mask) {} |
37 virtual void dma_storeList(ListDataPtr, void *buff, uint32 mask) {} | |
3 | 38 }; |
39 | |
40 #endif |