PERFORCE change 166470 for review

Oleksandr Tymoshenko gonzo at FreeBSD.org
Thu Jul 23 20:22:53 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=166470

Change 166470 by gonzo at gonzo_figaro on 2009/07/23 20:22:08

	- Replace overengineered version of power of 2 calcualtion
	    with shift operator

Affected files ...

.. //depot/projects/avr32/src/sys/avr32/avr32/cache.c#5 edit

Differences ...

==== //depot/projects/avr32/src/sys/avr32/avr32/cache.c#5 (text+ko) ====

@@ -112,21 +112,6 @@
 u_int avr32_dcache_line_size;
 u_int avr32_dcache_ways;
 
-/* XXX: there must be a library function for this? */
-u_int
-pow(u_int base, u_int power)
-{
-	u_int i, result;
-
-	if (power == 0)
-		return (1);
-
-	result = base;
-	for (i = 1; i < power; i++)
-		result *= base;
-	return (result);
-}
-
 /* Set up the cache operations according to config. */
 void
 avr32_config_cache(void)
@@ -135,16 +120,16 @@
 
 	config = sysreg_read(CONFIG1);
 	/* Read instruction cache parameters. */
-	avr32_icache_size = pow(2, bit_value(SYS, CONFIG1, ISET, config));
-	avr32_icache_line_size = pow(2, bit_value(SYS, CONFIG1, ILSZ, config) +
-	    1);
-	avr32_icache_ways = pow(2, bit_value(SYS, CONFIG1, IASS, config));
+	avr32_icache_size = 1 << bit_value(SYS, CONFIG1, ISET, config);
+	avr32_icache_line_size = 1 << 
+	    (bit_value(SYS, CONFIG1, ILSZ, config) + 1);
+	avr32_icache_ways = 1 << bit_value(SYS, CONFIG1, IASS, config);
 
 	/* Read data cache parameters. */
-	avr32_dcache_size = pow(2, bit_value(SYS, CONFIG1, DSET, config));
-	avr32_dcache_line_size = pow(2, bit_value(SYS, CONFIG1, DLSZ, config) +
-	    1);
-	avr32_dcache_ways = pow(2, bit_value(SYS, CONFIG1, DASS, config));
+	avr32_dcache_size = 1 << bit_value(SYS, CONFIG1, DSET, config);
+	avr32_dcache_line_size = 1 << 
+	    (bit_value(SYS, CONFIG1, DLSZ, config) + 1);
+	avr32_dcache_ways = 1 << bit_value(SYS, CONFIG1, DASS, config);
 	printf("ICACHE: sz %d lsz %d assoc %d\n", avr32_icache_size,
 	    avr32_icache_line_size, avr32_icache_ways);
 	printf("DCACHE: sz %d lsz %d assoc %d\n", avr32_dcache_size,


More information about the p4-projects mailing list