se_ssync.S 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //Original:/proj/frio/dv/testcases/seq/se_ssync/se_ssync.dsp
  2. // Description: Test SSYNC by writing a bunch of MMRs and verifying read
  3. # mach: bfin
  4. # sim: --environment operating
  5. #include "test.h"
  6. .include "testutils.inc"
  7. start
  8. //
  9. // Constants and Defines
  10. //
  11. include(selfcheck.inc)
  12. include(std.inc)
  13. include(mmrs.inc)
  14. include(symtable.inc)
  15. #ifndef STACKSIZE
  16. #define STACKSIZE 0x10 // change for how much stack you need
  17. #endif
  18. LD32(p0, EVT5);
  19. LD32(r0, 0x55555555);
  20. LD32(p1, EVT6);
  21. LD32(r1, 0xAAAAAAAA);
  22. LD32(p2, EVT7);
  23. LD32(r2, 0xBABEFACE);
  24. LD32(p3, EVT8);
  25. LD32(r3, 0xCFCFCFCF);
  26. LD32(p4, EVT9);
  27. LD32(r4, 0xDEADBEEF);
  28. LD32(p5, EVT10);
  29. LD32(r5, 0xBAD1BAD1);
  30. [ P0 ] = R0; // write the MMRS
  31. [ P1 ] = R1;
  32. [ P2 ] = R2;
  33. [ P3 ] = R3;
  34. [ P4 ] = R4;
  35. [ P5 ] = R5;
  36. SSYNC; // wait for it
  37. R7 = [ P5 ]; // read back MMRs
  38. R6 = [ P4 ]; // should be updated
  39. R5 = [ P3 ];
  40. R4 = [ P2 ];
  41. R3 = [ P1 ];
  42. R2 = [ P0 ];
  43. CHECK_INIT_DEF(p0); //CHECK_INIT(p0, 0xFF7FFFFC);
  44. CHECKREG(r2, 0x55555555);
  45. CHECKREG(r3, 0xAAAAAAAA);
  46. CHECKREG(r4, 0xBABEFACE);
  47. CHECKREG(r5, 0xCFCFCFCF);
  48. CHECKREG(r6, 0xDEADBEEF);
  49. CHECKREG(r7, 0xBAD1BAD1);
  50. dbg_pass;