Mercurial > hg > Members > kono > Cerium
comparison TaskManager/Fifo/FifoDmaManager.cc @ 647:7c9ded1ea750
MailManager rewrite. not yet worked.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 21 Nov 2009 16:18:47 +0900 |
parents | 5e1a477fcaec |
children |
comparison
equal
deleted
inserted
replaced
646:ffcc25c7c566 | 647:7c9ded1ea750 |
---|---|
23 void | 23 void |
24 FifoDmaManager::dma_wait(uint32 mask) | 24 FifoDmaManager::dma_wait(uint32 mask) |
25 { | 25 { |
26 } | 26 } |
27 | 27 |
28 void | |
29 FifoDmaManager::mail_write(memaddr data) | |
30 { | |
31 mail_sendQueue | |
32 = MailManager::append_mailQueue(mail_sendQueue, | |
33 mailManager->create(data)); | |
34 #if 0 | |
35 if (MailManager::length(mail_sendQueue)== -1) { | |
36 fprintf(stderr,"Mail Queue Error %s\n",__FUNCTION__); | |
37 exit(1); | |
38 } | |
39 #endif | |
40 } | |
41 | |
42 memaddr | |
43 FifoDmaManager::mail_read() | |
44 { | |
45 MailQueuePtr q; | |
46 memaddr ret; | |
47 | |
48 q = mail_recvQueue; | |
49 | |
50 if (q == NULL) { | |
51 return 0; // error か 正しい値か判断できないな・・・ | |
52 } | |
53 | |
54 mail_recvQueue = mail_recvQueue->next; | |
55 | |
56 ret = q->data; | |
57 mailManager->free(q); | |
58 | |
59 return ret; | |
60 } | |
61 | 28 |
62 void | 29 void |
63 FifoDmaManager::dma_loadList(ListDataPtr list, void *buff, uint32 mask) | 30 FifoDmaManager::dma_loadList(ListDataPtr list, void *buff, uint32 mask) |
64 { | 31 { |
65 int list_size = list->length; | 32 int list_size = list->length; |