world/kernel: Use the powerof2() macro in various places.
authorSascha Wildner <saw@online.de>
Sun, 13 Oct 2019 11:56:13 +0000 (13:56 +0200)
committerSascha Wildner <saw@online.de>
Sun, 13 Oct 2019 11:56:13 +0000 (13:56 +0200)
libexec/rtld-elf/rtld.c
sbin/newfs/mkfs.c
sys/bus/u4b/controller/uhci.c
sys/dev/drm/include/linux/bug.h
sys/netinet/tcp_subr.c
sys/netinet/udp_usrreq.c
sys/netproto/802_11/wlan/ieee80211_node.c
sys/platform/pc64/apic/ioapic_abi.c
sys/platform/pc64/icu/icu_abi.c
usr.sbin/makefs/ffs/mkfs.c

index d14cc95..cca3a66 100644 (file)
@@ -1086,7 +1086,7 @@ digest_dynamic1(Obj_Entry *obj, int early, const Elf_Dyn **dyn_rpath,
                nmaskwords = hashtab[2];
                bloom_size32 = (__ELF_WORD_SIZE / 32) * nmaskwords;
                /* Number of bitmask words is required to be power of 2 */
-               nmw_power2 = ((nmaskwords & (nmaskwords - 1)) == 0);
+               nmw_power2 = powerof2(nmaskwords);
                obj->maskwords_bm_gnu = nmaskwords - 1;
                obj->shift2_gnu = hashtab[3];
                obj->bloom_gnu = (Elf_Addr *) (hashtab + 4);
index 76567a1..301b28f 100644 (file)
@@ -52,7 +52,6 @@
 
 #define UMASK          0755
 #define MAXINOPB       (MAXBSIZE / sizeof(struct ufs1_dinode))
-#define POWEROF2(num)  (((num) & ((num) - 1)) == 0)
 
 #ifdef STANDALONE
 #error "mkfs.c: STANDALONE compilation no longer supported"
@@ -271,12 +270,12 @@ mkfs(char *fsys, int fi, int fo, const char *mfscopy)
         */
        sblock.fs_bsize = bsize;
        sblock.fs_fsize = fsize;
-       if (!POWEROF2(sblock.fs_bsize)) {
+       if (!powerof2(sblock.fs_bsize)) {
                printf("block size must be a power of 2, not %d\n",
                    sblock.fs_bsize);
                exit(16);
        }
-       if (!POWEROF2(sblock.fs_fsize)) {
+       if (!powerof2(sblock.fs_fsize)) {
                printf("fragment size must be a power of 2, not %d\n",
                    sblock.fs_fsize);
                exit(17);
@@ -328,7 +327,7 @@ mkfs(char *fsys, int fi, int fo, const char *mfscopy)
            howmany(sblock.fs_nsect, NSPF(&sblock)), sblock.fs_frag);
        for (sblock.fs_cgmask = 0xffffffff, i = sblock.fs_ntrak; i > 1; i >>= 1)
                sblock.fs_cgmask <<= 1;
-       if (!POWEROF2(sblock.fs_ntrak))
+       if (!powerof2(sblock.fs_ntrak))
                sblock.fs_cgmask <<= 1;
        sblock.fs_maxfilesize = sblock.fs_bsize * UFS_NDADDR - 1;
        for (sizepb = sblock.fs_bsize, i = 0; i < UFS_NIADDR; i++) {
index e4b0761..8ffc317 100644 (file)
@@ -2921,8 +2921,7 @@ uhci_xfer_setup(struct usb_setup_params *parm)
        }
 
        /* check for power of two */
-       if (!(xfer->max_frame_size &
-           (xfer->max_frame_size - 1))) {
+       if (powerof2(xfer->max_frame_size)) {
                n--;
        }
        /*
index 2aa2c4f..4b42155 100644 (file)
@@ -35,7 +35,7 @@
 #define        BUILD_BUG_ON(x) CTASSERT(!(x))
 
 #define        BUILD_BUG_ON_NOT_POWER_OF_2(n)                        \
-       CTASSERT(((n) != 0) && (((n) & ((n) - 1)) == 0))
+       CTASSERT(((n) != 0) && (powerof2((n))))
 
 #define        BUILD_BUG()     BUILD_BUG_ON(1)
 
index 435e312..97b9f37 100644 (file)
@@ -316,7 +316,7 @@ SYSCTL_PROC(_net_inet_tcp, TCPCTL_STATS, stats, (CTLTYPE_OPAQUE | CTLFLAG_RW),
 #ifndef TCBHASHSIZE
 #define        TCBHASHSIZE     512
 #endif
-CTASSERT((TCBHASHSIZE & (TCBHASHSIZE - 1)) == 0);
+CTASSERT(powerof2(TCBHASHSIZE));
 
 /*
  * This is the actual shape of what we allocate using the zone
index 21f07f9..233ce43 100644 (file)
@@ -173,7 +173,7 @@ struct      inpcbinfo udbinfo[MAXCPU];
 #ifndef UDBHASHSIZE
 #define UDBHASHSIZE 16
 #endif
-CTASSERT((UDBHASHSIZE & (UDBHASHSIZE - 1)) == 0);
+CTASSERT(powerof2(UDBHASHSIZE));
 
 struct udpstat udpstat_percpu[MAXCPU] __cachealign;
 
index 59800de..954bc5a 100644 (file)
@@ -59,7 +59,7 @@ __FBSDID("$FreeBSD$");
 /*
  * IEEE80211_NODE_HASHSIZE must be a power of 2.
  */
-CTASSERT((IEEE80211_NODE_HASHSIZE & (IEEE80211_NODE_HASHSIZE-1)) == 0);
+CTASSERT(powerof2(IEEE80211_NODE_HASHSIZE));
 
 /*
  * Association id's are managed with a bit vector.
index ab00cb0..2d6fe79 100644 (file)
@@ -1254,8 +1254,7 @@ ioapic_abi_msi_alloc_intern(int type, const char *desc,
            ("invalid cpuid %d", cpuid));
 
        KASSERT(count > 0 && count <= 32, ("invalid count %d", count));
-       KASSERT((count & (count - 1)) == 0,
-           ("count %d is not power of 2", count));
+       KASSERT(powerof2(count), ("count %d is not power of 2", count));
 
        lwkt_gettoken(&ioapic_irqmap_tok);
 
index 39757f6..3483f99 100644 (file)
@@ -457,8 +457,7 @@ icu_abi_msi_alloc_intern(int type, const char *desc,
            ("invalid cpuid %d", cpuid));
 
        KASSERT(count > 0 && count <= 32, ("invalid count %d", count));
-       KASSERT((count & (count - 1)) == 0,
-           ("count %d is not power of 2", count));
+       KASSERT(powerof2(count), ("count %d is not power of 2", count));
 
        lwkt_gettoken(&icu_irqmap_tok);
 
index e29e138..41fc68d 100644 (file)
@@ -77,7 +77,6 @@ static int count_digits(int);
  * make file system for cylinder-group style file systems
  */
 #define        UMASK           0755
-#define        POWEROF2(num)   (((num) & ((num) - 1)) == 0)
 
 static union {
        struct fs fs;
@@ -195,12 +194,12 @@ ffs_mkfs(const char *fsys, const fsinfo_t *fsopts, time_t tstamp)
         */
        sblock.fs_bsize = bsize;
        sblock.fs_fsize = fsize;
-       if (!POWEROF2(sblock.fs_bsize)) {
+       if (!powerof2(sblock.fs_bsize)) {
                printf("block size must be a power of 2, not %d\n",
                    sblock.fs_bsize);
                exit(16);
        }
-       if (!POWEROF2(sblock.fs_fsize)) {
+       if (!powerof2(sblock.fs_fsize)) {
                printf("fragment size must be a power of 2, not %d\n",
                    sblock.fs_fsize);
                exit(17);
@@ -227,7 +226,7 @@ ffs_mkfs(const char *fsys, const fsinfo_t *fsopts, time_t tstamp)
        }
 
 #ifndef __DragonFly__
-       if (maxbsize < bsize || !POWEROF2(maxbsize)) {
+       if (maxbsize < bsize || !powerof2(maxbsize)) {
                sblock.fs_maxbsize = sblock.fs_bsize;
                printf("Extent size set to %d\n", sblock.fs_maxbsize);
        } else if (sblock.fs_maxbsize > FS_MAXCONTIG * sblock.fs_bsize) {