mirror of https://github.com/proxmox/mirror_qemu
Add testcase for CRIS ftag/fidx cache flushing insns.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3991 c046a42c-6fe2-441c-8c8c-71466251a162master
parent
5d4a534dec
commit
1b893ef326
|
@ -55,6 +55,7 @@ TESTCASES += check_cmpxm.tst
|
||||||
TESTCASES += check_cmp-2.tst
|
TESTCASES += check_cmp-2.tst
|
||||||
TESTCASES += check_clrjmp1.tst
|
TESTCASES += check_clrjmp1.tst
|
||||||
TESTCASES += check_dstep.tst
|
TESTCASES += check_dstep.tst
|
||||||
|
TESTCASES += check_ftag.tst
|
||||||
TESTCASES += check_int64.tst
|
TESTCASES += check_int64.tst
|
||||||
# check_jsr is broken.
|
# check_jsr is broken.
|
||||||
#TESTCASES += check_jsr.tst
|
#TESTCASES += check_jsr.tst
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "sys.h"
|
||||||
|
#include "crisutils.h"
|
||||||
|
|
||||||
|
extern inline void cris_ftag_i(unsigned int x) {
|
||||||
|
register unsigned int v asm("$r10") = x;
|
||||||
|
asm ("ftagi\t[%0]\n" : : "r" (v) );
|
||||||
|
}
|
||||||
|
extern inline void cris_ftag_d(unsigned int x) {
|
||||||
|
register unsigned int v asm("$r10") = x;
|
||||||
|
asm ("ftagd\t[%0]\n" : : "r" (v) );
|
||||||
|
}
|
||||||
|
extern inline void cris_fidx_i(unsigned int x) {
|
||||||
|
register unsigned int v asm("$r10") = x;
|
||||||
|
asm ("fidxi\t[%0]\n" : : "r" (v) );
|
||||||
|
}
|
||||||
|
extern inline void cris_fidx_d(unsigned int x) {
|
||||||
|
register unsigned int v asm("$r10") = x;
|
||||||
|
asm ("fidxd\t[%0]\n" : : "r" (v) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
cris_ftag_i(0);
|
||||||
|
cris_ftag_d(0);
|
||||||
|
cris_fidx_i(0);
|
||||||
|
cris_fidx_d(0);
|
||||||
|
pass();
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue