Code Review
/
kvmfornfv.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
history
|
raw
|
HEAD
This patch removes the ovs kernel modules from kvmfornfv kernel
[kvmfornfv.git]
/
qemu
/
tests
/
tcg
/
mips
/
mips32-dsp
/
extpdp.c
1
#include<stdio.h>
2
#include<assert.h>
3
4
int main()
5
{
6
int rt, ach, acl, dsp, pos, efi;
7
int result;
8
9
ach = 0x05;
10
acl = 0xB4CB;
11
dsp = 0x07;
12
result = 0x000C;
13
14
__asm
15
("wrdsp %1, 0x01\n\t"
16
"mthi %2, $ac1\n\t"
17
"mtlo %3, $ac1\n\t"
18
"extpdp %0, $ac1, 0x03\n\t"
19
"rddsp %1\n\t"
20
: "=r"(rt), "+r"(dsp)
21
: "r"(ach), "r"(acl)
22
);
23
pos = dsp & 0x3F;
24
efi = (dsp >> 14) & 0x01;
25
assert(pos == 3);
26
assert(efi == 0);
27
assert(result == rt);
28
29
ach = 0x05;
30
acl = 0xB4CB;
31
dsp = 0x01;
32
33
__asm
34
("wrdsp %1, 0x01\n\t"
35
"mthi %2, $ac1\n\t"
36
"mtlo %3, $ac1\n\t"
37
"extpdp %0, $ac1, 0x03\n\t"
38
"rddsp %1\n\t"
39
: "=r"(rt), "+r"(dsp)
40
: "r"(ach), "r"(acl)
41
);
42
efi = (dsp >> 14) & 0x01;
43
assert(efi == 1);
44
45
46
ach = 0;
47
acl = 0;
48
dsp = 0;
49
result = 0;
50
51
__asm
52
("wrdsp %1\n\t"
53
"mthi %2, $ac1\n\t"
54
"mtlo %3, $ac1\n\t"
55
"extpdp %0, $ac1, 0x00\n\t"
56
"rddsp %1\n\t"
57
: "=r"(rt), "+r"(dsp)
58
: "r"(ach), "r"(acl)
59
);
60
assert(dsp == 0x3F);
61
assert(result == rt);
62
63
return 0;
64
}