From owner-p4-projects@FreeBSD.ORG Thu Jul 23 20:22:52 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E7DBA1065673; Thu, 23 Jul 2009 20:22:51 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A5EE71065672 for ; Thu, 23 Jul 2009 20:22:51 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 935F58FC28 for ; Thu, 23 Jul 2009 20:22:51 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6NKMpUe074699 for ; Thu, 23 Jul 2009 20:22:51 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6NKMpKH074697 for perforce@freebsd.org; Thu, 23 Jul 2009 20:22:51 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 23 Jul 2009 20:22:51 GMT Message-Id: <200907232022.n6NKMpKH074697@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 166470 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jul 2009 20:22:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=166470 Change 166470 by gonzo@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,