62 lines
1.2 KiB
ArmAsm
62 lines
1.2 KiB
ArmAsm
|
//Original:/proj/frio/dv/testcases/seq/se_ssync/se_ssync.dsp
|
||
|
// Description: Test SSYNC by writing a bunch of MMRs and verifying read
|
||
|
# mach: bfin
|
||
|
# sim: --environment operating
|
||
|
|
||
|
#include "test.h"
|
||
|
.include "testutils.inc"
|
||
|
start
|
||
|
|
||
|
//
|
||
|
// Constants and Defines
|
||
|
//
|
||
|
|
||
|
include(selfcheck.inc)
|
||
|
include(std.inc)
|
||
|
include(mmrs.inc)
|
||
|
include(symtable.inc)
|
||
|
|
||
|
#ifndef STACKSIZE
|
||
|
#define STACKSIZE 0x10 // change for how much stack you need
|
||
|
#endif
|
||
|
|
||
|
LD32(p0, EVT5);
|
||
|
LD32(r0, 0x55555555);
|
||
|
LD32(p1, EVT6);
|
||
|
LD32(r1, 0xAAAAAAAA);
|
||
|
LD32(p2, EVT7);
|
||
|
LD32(r2, 0xBABEFACE);
|
||
|
LD32(p3, EVT8);
|
||
|
LD32(r3, 0xCFCFCFCF);
|
||
|
LD32(p4, EVT9);
|
||
|
LD32(r4, 0xDEADBEEF);
|
||
|
LD32(p5, EVT10);
|
||
|
LD32(r5, 0xBAD1BAD1);
|
||
|
|
||
|
[ P0 ] = R0; // write the MMRS
|
||
|
[ P1 ] = R1;
|
||
|
[ P2 ] = R2;
|
||
|
[ P3 ] = R3;
|
||
|
[ P4 ] = R4;
|
||
|
[ P5 ] = R5;
|
||
|
|
||
|
SSYNC; // wait for it
|
||
|
|
||
|
R7 = [ P5 ]; // read back MMRs
|
||
|
R6 = [ P4 ]; // should be updated
|
||
|
R5 = [ P3 ];
|
||
|
R4 = [ P2 ];
|
||
|
R3 = [ P1 ];
|
||
|
R2 = [ P0 ];
|
||
|
|
||
|
CHECK_INIT_DEF(p0); //CHECK_INIT(p0, 0xFF7FFFFC);
|
||
|
|
||
|
CHECKREG(r2, 0x55555555);
|
||
|
CHECKREG(r3, 0xAAAAAAAA);
|
||
|
CHECKREG(r4, 0xBABEFACE);
|
||
|
CHECKREG(r5, 0xCFCFCFCF);
|
||
|
CHECKREG(r6, 0xDEADBEEF);
|
||
|
CHECKREG(r7, 0xBAD1BAD1);
|
||
|
|
||
|
dbg_pass;
|