diff options
Diffstat (limited to 'net/net_rand.c')
| -rw-r--r-- | net/net_rand.c | 68 | 
1 files changed, 0 insertions, 68 deletions
| diff --git a/net/net_rand.c b/net/net_rand.c deleted file mode 100644 index 5387abadc..000000000 --- a/net/net_rand.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - *	Based on LiMon - BOOTP. - * - *	Copyright 1994, 1995, 2000 Neil Russell. - *	(See License) - *	Copyright 2000 Roland Borde - *	Copyright 2000 Paolo Scaffardi - *	Copyright 2000-2004 Wolfgang Denk, wd@denx.de - */ - -#include <common.h> -#include <net.h> -#include "net_rand.h" - -static ulong seed1, seed2; - -void srand_mac(void) -{ -	ulong tst1, tst2, m_mask; -	ulong m_value = 0; -	int reg; -	unsigned char bi_enetaddr[6]; - -	/* get our mac */ -	eth_getenv_enetaddr("ethaddr", bi_enetaddr); - -	debug("BootpRequest => Our Mac: "); -	for (reg = 0; reg < 6; reg++) -		debug("%x%c", bi_enetaddr[reg], reg == 5 ? '\n' : ':'); - -	/* Mac-Manipulation 2 get seed1 */ -	tst1 = 0; -	tst2 = 0; -	for (reg = 2; reg < 6; reg++) { -		tst1 = tst1 << 8; -		tst1 = tst1 | bi_enetaddr[reg]; -	} -	for (reg = 0; reg < 2; reg++) { -		tst2 = tst2 | bi_enetaddr[reg]; -		tst2 = tst2 << 8; -	} - -	seed1 = tst1^tst2; - -	/* Mirror seed1*/ -	m_mask = 0x1; -	for (reg = 1; reg <= 32; reg++) { -		m_value |= (m_mask & seed1); -		seed1 = seed1 >> 1; -		m_value = m_value << 1; -	} -	seed1 = m_value; -	seed2 = 0xb78d0945; -} - -unsigned long rand(void) -{ -	ulong sum; - -	/* Random Number Generator */ -	sum = seed1 + seed2; -	if (sum < seed1 || sum < seed2) -		sum++; -	seed2 = seed1; -	seed1 = sum; - -	return sum; -} |