annotate TaskManager/kernel/ppe/DmaBuffer.cc @ 818:19c6cdeb23d6

too few template-parameter-lists
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 23 May 2010 10:55:25 +0900
parents aaaa0baeab89
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
54
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
1 #include <stdio.h>
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
2 #include <stdlib.h>
70
178459e03f5c *** empty log message ***
gongo
parents: 55
diff changeset
3 #include "types.h"
54
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
4 #include "DmaBuffer.h"
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
5
88
504899860e66 *** empty log message ***
gongo
parents: 86
diff changeset
6 #define ALIGN_DOWN(v, align) ((v)&(-align))
504899860e66 *** empty log message ***
gongo
parents: 86
diff changeset
7 #define ALIGN_UP(v, align) ALIGN_DOWN((v)+((align)-1), align)
504899860e66 *** empty log message ***
gongo
parents: 86
diff changeset
8
504899860e66 *** empty log message ***
gongo
parents: 86
diff changeset
9
54
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
10 DmaBuffer::DmaBuffer(int size)
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
11 {
727
aaaa0baeab89 fix SgChange.cc, SgRootChange.cc
aaa
parents: 625
diff changeset
12 #ifndef HAS_POSIX_MEMALIGN
86
61bacd3b4405 *** empty log message ***
gongo
parents: 70
diff changeset
13 buffer[0] = malloc(size);
61bacd3b4405 *** empty log message ***
gongo
parents: 70
diff changeset
14 buffer[1] = malloc(size);
625
60aa3f241b10 64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
15 #else
60aa3f241b10 64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
16 posix_memalign(&buffer[0],64,size);
60aa3f241b10 64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
17 posix_memalign(&buffer[1],64,size);
60aa3f241b10 64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
18 #endif
54
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
19 flag = 0;
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
20 }
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
21
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
22 DmaBuffer::~DmaBuffer(void)
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
23 {
625
60aa3f241b10 64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
24 free(buffer[0]);
60aa3f241b10 64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
25 free(buffer[1]);
54
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
26 }
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
27
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
28 void
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
29 DmaBuffer::swap_buffer(void)
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
30 {
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
31 flag ^= 1;
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
32 }
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
33
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
34 void
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
35 DmaBuffer::get_buffer(void *_dst)
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
36 {
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
37 void **dst = (void**)_dst;
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
38 *dst = buffer[flag];
90523ccc4dff *** empty log message ***
gongo
parents:
diff changeset
39 }