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
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
7075842aa155 clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 255
diff changeset
4 #include "base.h"
7075842aa155 clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 255
diff changeset
5 #include "ListData.h"
7075842aa155 clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 255
diff changeset
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
gongo@localhost.localdomain
parents: 180
diff changeset
9 DMA_READ = 25,
gongo@localhost.localdomain
parents: 180
diff changeset
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
gongo@localhost.localdomain
parents: 180
diff changeset
13 DMA_READ_TASKLIST = 31,
180
5cde66c926b4 いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents: 109
diff changeset
14 };
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
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
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
18 class DmaManager {
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
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
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
21
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
22 BASE_NEW_DELETE(DmaManager);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
23
88
504899860e66 *** empty log message ***
gongo
parents: 46
diff changeset
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
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
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
3b6290c05f9f add profiling code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 647
diff changeset
29 virtual void start_profile() {}
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
30
88
504899860e66 *** empty log message ***
gongo
parents: 46
diff changeset
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
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
34
88
504899860e66 *** empty log message ***
gongo
parents: 46
diff changeset
35 // API for MFC list DMA transfer
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
36 virtual void dma_loadList(ListDataPtr list, void *,uint32 mask) {}
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 88
diff changeset
37 virtual void dma_storeList(ListDataPtr, void *buff, uint32 mask) {}
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
38 };
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
39
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
40 #endif