8 static void *(*volatile pmemset)(void *, int, size_t);
10 static void *aligned(void *p)
12 return (void*)(((uintptr_t)p + 63) & -64U);
16 static void test_align(int align, int len)
18 char *s = aligned(buf);
19 char *want = aligned(buf + 256);
25 for (i = 0; i < N; i++)
27 for (i = 0; i < len; i++)
29 p = pmemset(s+align, '#', len);
31 t_error("memset(%p,...) returned %p\n", s+align, p);
32 for (i = 0; i < N; i++)
33 if (s[i] != want[i]) {
34 t_error("memset(align %d, '#', %d) failed\n", align, len);
35 t_printf("got : %.*s\n", align+len+1, s);
36 t_printf("want: %.*s\n", align+len+1, want);
41 static void test_value(int c)
46 for (i = 0; i < 10; i++)
47 if ((unsigned char)buf[i] != (unsigned char)c) {
48 t_error("memset(%d) failed: got %d\n", c, buf[i]);
59 for (i = 0; i < 16; i++)
60 for (j = 0; j < 64; j++)