/* fills the memblock of <size> bytes from <startaddr> with walking bit pattern  */
void RAM_MemTest_WriteWalkBit(unsigned long startaddr, unsigned long size)
/* fills the memblock of <size> bytes from <startaddr> with walking bit pattern  */
void RAM_MemTest_WriteWalkBit(unsigned long startaddr, unsigned long size)
{
	volatile unsigned long *p, *pe;
	unsigned long i;
	p = (unsigned long *) startaddr;
	pe = (unsigned long *) (startaddr + size);
	i = 0;
	while (p < pe) {
		*p = 1UL << i;
		i = (i + 1 + (((unsigned long) p) >> 7)) % 32;
		p++;
	}
}