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;