|
|
1.1 ! root 1: /* ! 2: This is test Marching Ones and Zero Test ! 3: */ ! 4: ! 5: #include "definitions" ! 6: #define size (sizeof(testcase)/4) /* number of patterns */ ! 7: extern long maxmem,endprog; ! 8: extern struct OPTIONS OPTIONS; ! 9: ! 10: stest1() ! 11: { register long *mcr = (long *)0xffffb000; ! 12: ! 13: if (OPTIONS.header) ! 14: writes("\n\n** Subtest1 : Marching patterns."); ! 15: writes("\nECC off"); ! 16: *mcr = 0; /* Turn ECC off */ ! 17: subtest1(); /* Execute subtest 1 */ ! 18: writes("\nECC on"); ! 19: *mcr = 0xc3; /* Turn ECC on */ ! 20: subtest1(); /* Execute subtest 1 */ ! 21: *mcr = 0; /* Turn ECC off */ ! 22: } ! 23: ! 24: subtest1() ! 25: { ! 26: register long *curadd,*addr,pattern; ! 27: int cnt,patno; ! 28: ! 29: static unsigned testcase[] = { 0x00000000, ! 30: 0xffffffff, ! 31: 0xa5a5a5a5, ! 32: 0x5a5a5a5a, ! 33: 0x55555555, ! 34: 0xaaaaaaaa, ! 35: 0x0000ffff, ! 36: 0xffff0000 }; ! 37: ! 38: for(cnt = size, patno = 0;(cnt-- ); patno++ ) { ! 39: pattern = testcase[patno]; /* fill memory */ ! 40: for (curadd=(long *)endprog;curadd <= (long *)maxmem;curadd++) ! 41: *curadd = pattern; ! 42: for (curadd=(long *)endprog;curadd <= (long *)maxmem;curadd++) { ! 43: error1: if (*curadd != pattern) ! 44: if (error(curadd,pattern)) goto error1; ! 45: *curadd = ~pattern; ! 46: } ! 47: for (curadd=(long *)maxmem;curadd >= (long *)endprog;curadd--) { ! 48: error2: if (*curadd != (~pattern)) ! 49: if (error(curadd,~pattern)) goto error2; ! 50: *curadd = ~pattern; ! 51: } ! 52: } ! 53: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.