mirror of https://gitee.com/openkylin/qemu.git
Add testcase for CRIS ftag/fidx cache flushing insns.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3991 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
5d4a534dec
commit
1b893ef326
|
@ -55,6 +55,7 @@ TESTCASES += check_cmpxm.tst
|
|||
TESTCASES += check_cmp-2.tst
|
||||
TESTCASES += check_clrjmp1.tst
|
||||
TESTCASES += check_dstep.tst
|
||||
TESTCASES += check_ftag.tst
|
||||
TESTCASES += check_int64.tst
|
||||
# check_jsr is broken.
|
||||
#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