#include #include #include //#define SIZE 32*1024*1024 unsigned int patt[] = { 0xaaaaaaaa, 0x55555555, 0xffffffff, 0xa5a5a5a5, 0x5a5a5a5a, 0x11111111, 0x22222222, 0x44444444, 0x88888888, 0x00000000 }; int main(int argc, char **argv){ int i, k; unsigned int *mem, SIZE; if(argc < 2){ printf("Format is: %s SIZE\n", argv[0]); exit(1); } SIZE = strtol(argv[1], 0x0, 0x0); fprintf(stderr, "Doing Malloc\n"); mem = (unsigned int *) malloc(SIZE); for(k = 0; patt[k] != 0x0; k++){ fprintf(stderr, "Doing Write pattern: 0x%08x\n", patt[k]); for(i = SIZE>>2; i > 0; i--){ mem[i] = patt[k]; } fprintf(stderr, "Doing Read pattern: 0x%08x\n", patt[k]); for(i = SIZE>>2; i > 0; i--){ if(mem[i] != patt[k]){ printf("Mem missmatch at: %d, with patt: 0x%08x\n", i, patt[k]); } } fprintf(stderr, "Done pattern: 0x%08x\n", patt[k]); } printf("\n"); return 0; }