diff options
Diffstat (limited to 'post/lib_powerpc/multi.c')
| -rw-r--r-- | post/lib_powerpc/multi.c | 27 | 
1 files changed, 12 insertions, 15 deletions
| diff --git a/post/lib_powerpc/multi.c b/post/lib_powerpc/multi.c index b6efbb590..f9fe719da 100644 --- a/post/lib_powerpc/multi.c +++ b/post/lib_powerpc/multi.c @@ -44,26 +44,23 @@ int cpu_post_test_multi(void)  {  	int ret = 0;  	unsigned int i; +	ulong src[26], dst[26];  	int flag = disable_interrupts(); -	if (ret == 0) { -		ulong src[26], dst[26]; +	ulong code[] = { +		ASM_LMW(5, 3, 0),	/* lmw	r5, 0(r3)	*/ +		ASM_STMW(5, 4, 0),	/* stmr	r5, 0(r4)	*/ +		ASM_BLR,		/* blr			*/ +	}; -		ulong code[] = { -			ASM_LMW(5, 3, 0), -			ASM_STMW(5, 4, 0), -			ASM_BLR, -		}; - -		for (i = 0; i < ARRAY_SIZE(src); ++i) { -			src[i] = i; -			dst[i] = 0; -		} +	for (i = 0; i < ARRAY_SIZE(src); ++i) { +		src[i] = i; +		dst[i] = 0; +	} -		cpu_post_exec_02(code, (ulong) src, (ulong) dst); +	cpu_post_exec_02(code, (ulong) src, (ulong) dst); -		ret = memcmp(src, dst, sizeof(dst)) == 0 ? 0 : -1; -	} +	ret = memcmp(src, dst, sizeof(dst)) == 0 ? 0 : -1;  	if (ret != 0)  		post_log("Error at multi test !\n"); |