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
/
extp.c
1
#include<stdio.h>
2
#include<assert.h>
3
4
int main()
5
{
6
int rt, ach, acl, dsp;
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
"extp %0, $ac1, 0x03\n\t"
19
"rddsp %1\n\t"
20
: "=r"(rt), "+r"(dsp)
21
: "r"(ach), "r"(acl)
22
);
23
dsp = (dsp >> 14) & 0x01;
24
assert(dsp == 0);
25
assert(result == rt);
26
27
ach = 0x05;
28
acl = 0xB4CB;
29
dsp = 0x01;
30
31
__asm
32
("wrdsp %1, 0x01\n\t"
33
"mthi %2, $ac1\n\t"
34
"mtlo %3, $ac1\n\t"
35
"extp %0, $ac1, 0x03\n\t"
36
"rddsp %1\n\t"
37
: "=r"(rt), "+r"(dsp)
38
: "r"(ach), "r"(acl)
39
);
40
dsp = (dsp >> 14) & 0x01;
41
assert(dsp == 1);
42
43
ach = 0;
44
acl = 0x80000001;
45
dsp = 0x1F;
46
result = 0x80000001;
47
48
__asm
49
("wrdsp %1\n\t"
50
"mthi %2, $ac2\n\t"
51
"mtlo %3, $ac2\n\t"
52
"extp %0, $ac2, 0x1F\n\t"
53
"rddsp %1\n\t"
54
: "=r"(rt), "+r"(dsp)
55
: "r"(ach), "r"(acl)
56
);
57
dsp = (dsp >> 14) & 0x01;
58
assert(dsp == 0);
59
assert(result == rt);
60
61
return 0;
62
}