PERFORCE change 166470 for review
Ulf Lilleengen
lulf at freebsd.org
Thu Jul 23 21:33:24 UTC 2009
Oleksandr Tymoshenko wrote:
> 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
>
Boy do I feel silly :)
> 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