From owner-svn-src-all@freebsd.org Thu Apr 21 19:57:48 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5761CB186CC; Thu, 21 Apr 2016 19:57:48 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E877916A8; Thu, 21 Apr 2016 19:57:47 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3LJvlIt017163; Thu, 21 Apr 2016 19:57:47 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3LJve7g017099; Thu, 21 Apr 2016 19:57:40 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201604211957.u3LJve7g017099@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Thu, 21 Apr 2016 19:57:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r298433 - in head/sys: amd64/amd64 arm/arm arm/at91 arm/cavium/cns11xx arm/mv arm/xscale/i8134x arm/xscale/ixp425 arm/xscale/pxa arm64/arm64 boot/common boot/mips/beri/loader boot/zfs d... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Apr 2016 19:57:48 -0000 Author: pfg Date: Thu Apr 21 19:57:40 2016 New Revision: 298433 URL: https://svnweb.freebsd.org/changeset/base/298433 Log: sys: use our roundup2/rounddown2() macros when param.h is available. rounddown2 tends to produce longer lines than the original code and when the code has a high indentation level it was not really advantageous to do the replacement. This tries to strike a balance between readability using the macros and flexibility of having the expressions, so not everything is converted. Modified: head/sys/amd64/amd64/amd64_mem.c head/sys/amd64/amd64/pmap.c head/sys/arm/arm/elf_trampoline.c head/sys/arm/arm/pmap-v4.c head/sys/arm/at91/at91_machdep.c head/sys/arm/cavium/cns11xx/econa_machdep.c head/sys/arm/mv/mv_common.c head/sys/arm/xscale/i8134x/crb_machdep.c head/sys/arm/xscale/i8134x/i81342_pci.c head/sys/arm/xscale/i8134x/i81342_space.c head/sys/arm/xscale/ixp425/avila_machdep.c head/sys/arm/xscale/pxa/pxa_machdep.c head/sys/arm64/arm64/pmap.c head/sys/boot/common/module.c head/sys/boot/mips/beri/loader/arch.c head/sys/boot/zfs/zfs.c head/sys/dev/adb/adb_mouse.c head/sys/dev/agp/agp_nvidia.c head/sys/dev/bce/if_bce.c head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/en/midway.c head/sys/dev/exca/exca.c head/sys/dev/fatm/if_fatm.c head/sys/dev/hatm/if_hatm.c head/sys/dev/hptmv/gui_lib.c head/sys/dev/mpr/mpr.c head/sys/dev/mps/mps.c head/sys/dev/pccbb/pccbb.c head/sys/dev/pms/freebsd/driver/ini/src/agtiapi.c head/sys/dev/sym/sym_hipd.c head/sys/dev/ti/if_ti.c head/sys/dev/usb/usb_busdma.c head/sys/dev/vt/hw/efifb/efifb.c head/sys/fs/ext2fs/ext2_lookup.c head/sys/geom/bde/g_bde_crypt.c head/sys/geom/part/g_part_bsd64.c head/sys/i386/i386/i686_mem.c head/sys/i386/i386/minidump_machdep.c head/sys/i386/i386/sys_machdep.c head/sys/i386/svr4/svr4_machdep.c head/sys/kern/imgact_elf.c head/sys/kern/init_main.c head/sys/kern/kern_linker.c head/sys/kern/sysv_sem.c head/sys/kern/sysv_shm.c head/sys/kern/vfs_bio.c head/sys/mips/cavium/octopci.c head/sys/mips/mips/tlb.c head/sys/mips/mips/trap.c head/sys/mips/rmi/dev/sec/rmilib.c head/sys/mips/sibyte/sb_zbpci.c head/sys/net/bpf.c head/sys/net80211/ieee80211_freebsd.c head/sys/powerpc/aim/mmu_oea.c head/sys/powerpc/aim/mmu_oea64.c head/sys/powerpc/booke/pmap.c head/sys/powerpc/powerpc/machdep.c head/sys/ufs/ffs/ffs_softdep.c head/sys/ufs/ufs/ufs_dirhash.c head/sys/ufs/ufs/ufs_lookup.c head/sys/vm/phys_pager.c head/sys/vm/vm_page.c head/sys/vm/vm_phys.c head/sys/x86/iommu/intel_gas.c Modified: head/sys/amd64/amd64/amd64_mem.c ============================================================================== --- head/sys/amd64/amd64/amd64_mem.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/amd64/amd64/amd64_mem.c Thu Apr 21 19:57:40 2016 (r298433) @@ -383,7 +383,7 @@ amd64_mrstoreone(void *arg) /* mask/active register */ if (mrd->mr_flags & MDF_ACTIVE) { msrv = MTRR_PHYSMASK_VALID | - (~(mrd->mr_len - 1) & mtrr_physmask); + rounddown2(mtrr_physmask, mrd->mr_len); } else { msrv = 0; } Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/amd64/amd64/pmap.c Thu Apr 21 19:57:40 2016 (r298433) @@ -496,7 +496,7 @@ pmap_kmem_choose(vm_offset_t addr) { vm_offset_t newaddr = addr; - newaddr = (addr + (NBPDR - 1)) & ~(NBPDR - 1); + newaddr = roundup2(addr, NBPDR); return (newaddr); } Modified: head/sys/arm/arm/elf_trampoline.c ============================================================================== --- head/sys/arm/arm/elf_trampoline.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/arm/elf_trampoline.c Thu Apr 21 19:57:40 2016 (r298433) @@ -675,8 +675,8 @@ __start(void) curaddr = (void*)((unsigned int)curaddr & 0xfff00000); #ifdef KZIP if (*kernel == 0x1f && kernel[1] == 0x8b) { - pt_addr = (((int)&_end + KERNSIZE + 0x100) & - ~(L1_TABLE_SIZE - 1)) + L1_TABLE_SIZE; + pt_addr = L1_TABLE_SIZE + + rounddown2((int)&_end + KERNSIZE + 0x100, L1_TABLE_SIZE); #ifdef CPU_ARM9 /* So that idcache_wbinv works; */ @@ -710,7 +710,7 @@ __start(void) (unsigned int)curaddr, (unsigned int)&func_end, 0); dst = (void *)(((vm_offset_t)dst & ~3)); - pt_addr = ((unsigned int)dst &~(L1_TABLE_SIZE - 1)) + L1_TABLE_SIZE; + pt_addr = L1_TABLE_SIZE + rounddown2((unsigned int)dst, L1_TABLE_SIZE); setup_pagetables(pt_addr, (vm_paddr_t)curaddr, (vm_paddr_t)curaddr + 0x10000000, 0); sp = pt_addr + L1_TABLE_SIZE + 8192; Modified: head/sys/arm/arm/pmap-v4.c ============================================================================== --- head/sys/arm/arm/pmap-v4.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/arm/pmap-v4.c Thu Apr 21 19:57:40 2016 (r298433) @@ -4754,7 +4754,7 @@ pmap_map_chunk(vm_offset_t l1pt, vm_offs vm_size_t resid; int i; - resid = (size + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1); + resid = roundup2(size, PAGE_SIZE); if (l1pt == 0) panic("pmap_map_chunk: no L1 table provided"); Modified: head/sys/arm/at91/at91_machdep.c ============================================================================== --- head/sys/arm/at91/at91_machdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/at91/at91_machdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -515,9 +515,9 @@ initarm(struct arm_boot_params *abp) pmap_link_l2pt(l1pagetable, KERNBASE + i * L1_S_SIZE, &kernel_pt_table[KERNEL_PT_KERN + i]); pmap_map_chunk(l1pagetable, KERNBASE, PHYSADDR, - (((uint32_t)lastaddr - KERNBASE) + PAGE_SIZE) & ~(PAGE_SIZE - 1), - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - afterkern = round_page((lastaddr + L1_S_SIZE) & ~(L1_S_SIZE - 1)); + rounddown2(((uint32_t)lastaddr - KERNBASE) + PAGE_SIZE, PAGE_SIZE), + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + afterkern = round_page(rounddown2(lastaddr + L1_S_SIZE, L1_S_SIZE)); for (i = 0; i < KERNEL_PT_AFKERNEL_NUM; i++) { pmap_link_l2pt(l1pagetable, afterkern + i * L1_S_SIZE, &kernel_pt_table[KERNEL_PT_AFKERNEL + i]); Modified: head/sys/arm/cavium/cns11xx/econa_machdep.c ============================================================================== --- head/sys/arm/cavium/cns11xx/econa_machdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/cavium/cns11xx/econa_machdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -229,9 +229,9 @@ initarm(struct arm_boot_params *abp) pmap_link_l2pt(l1pagetable, KERNBASE + i * L1_S_SIZE, &kernel_pt_table[KERNEL_PT_KERN + i]); pmap_map_chunk(l1pagetable, KERNBASE, PHYSADDR, - (((uint32_t)lastaddr - KERNBASE) + PAGE_SIZE) & ~(PAGE_SIZE - 1), - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - afterkern = round_page((lastaddr + L1_S_SIZE) & ~(L1_S_SIZE - 1)); + rounddown2(((uint32_t)lastaddr - KERNBASE) + PAGE_SIZE, PAGE_SIZE), + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + afterkern = round_page(rounddown2(lastaddr + L1_S_SIZE, L1_S_SIZE)); for (i = 0; i < KERNEL_PT_AFKERNEL_NUM; i++) { pmap_link_l2pt(l1pagetable, afterkern + i * L1_S_SIZE, &kernel_pt_table[KERNEL_PT_AFKERNEL + i]); Modified: head/sys/arm/mv/mv_common.c ============================================================================== --- head/sys/arm/mv/mv_common.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/mv/mv_common.c Thu Apr 21 19:57:40 2016 (r298433) @@ -823,7 +823,7 @@ decode_win_cpu_valid(void) continue; } - if (b != (b & ~(s - 1))) { + if (b != rounddown2(b, s)) { printf("CPU window#%d: address 0x%08x is not aligned " "to 0x%08x\n", i, b, s); rv = 0; Modified: head/sys/arm/xscale/i8134x/crb_machdep.c ============================================================================== --- head/sys/arm/xscale/i8134x/crb_machdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/xscale/i8134x/crb_machdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -131,8 +131,8 @@ static const struct arm_devmap_entry iq8 * Cheat and map a whole section, this will bring * both PCI-X and PCI-E outbound I/O */ - IOP34X_PCIX_OIOBAR_VADDR &~ (0x100000 - 1), - IOP34X_PCIX_OIOBAR &~ (0x100000 - 1), + rounddown2(IOP34X_PCIX_OIOBAR_VADDR, 0x100000), + rounddown2(IOP34X_PCIX_OIOBAR, 0x100000), 0x100000, }, { @@ -227,8 +227,8 @@ initarm(struct arm_boot_params *abp) l1pagetable = kernel_l1pt.pv_va; /* Map the L2 pages tables in the L1 page table */ - pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH & ~(0x00100000 - 1), - &kernel_pt_table[KERNEL_PT_SYS]); + pmap_link_l2pt(l1pagetable, rounddown2(ARM_VECTORS_HIGH, 0x00100000), + &kernel_pt_table[KERNEL_PT_SYS]); pmap_map_chunk(l1pagetable, KERNBASE, SDRAM_START, 0x100000, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); @@ -236,11 +236,10 @@ initarm(struct arm_boot_params *abp) 0x100000, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); pmap_map_chunk(l1pagetable, KERNBASE + 0x200000, SDRAM_START + 0x200000, - (((uint32_t)(lastaddr) - KERNBASE - 0x200000) + L1_S_SIZE) & ~(L1_S_SIZE - 1), - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - freemem_after = ((int)lastaddr + PAGE_SIZE) & ~(PAGE_SIZE - 1); - afterkern = round_page(((vm_offset_t)lastaddr + L1_S_SIZE) & ~(L1_S_SIZE - - 1)); + rounddown2(((uint32_t)(lastaddr) - KERNBASE - 0x200000) + L1_S_SIZE, L1_S_SIZE), + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + freemem_after = rounddown2((int)lastaddr + PAGE_SIZE, PAGE_SIZE); + afterkern = round_page(rounddown2((vm_offset_t)lastaddr + L1_S_SIZE, L1_S_SIZE)); for (i = 0; i < KERNEL_PT_AFKERNEL_NUM; i++) { pmap_link_l2pt(l1pagetable, afterkern + i * 0x00100000, &kernel_pt_table[KERNEL_PT_AFKERNEL + i]); Modified: head/sys/arm/xscale/i8134x/i81342_pci.c ============================================================================== --- head/sys/arm/xscale/i8134x/i81342_pci.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/xscale/i8134x/i81342_pci.c Thu Apr 21 19:57:40 2016 (r298433) @@ -121,8 +121,8 @@ i81342_pci_attach(device_t dev) memstart | PCI_MAPREG_MEM_PREFETCHABLE_MASK | PCI_MAPREG_MEM_TYPE_64BIT); bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IAUBAR1, 0); - bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR1, ~(memsize - 1) - &~(0xfff)); + bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR1, + rounddown2(~(0xfff), memsize)); bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IATVR1, memstart); bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IAUTVR1, 0); Modified: head/sys/arm/xscale/i8134x/i81342_space.c ============================================================================== --- head/sys/arm/xscale/i8134x/i81342_space.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/xscale/i8134x/i81342_space.c Thu Apr 21 19:57:40 2016 (r298433) @@ -178,13 +178,13 @@ i81342_mem_bs_map(bus_space_tag_t tag, b tmp = tmp->next; } addr = allocable; - endaddr = ((addr + size) &~ (0x1000000 - 1)) + 0x1000000; + endaddr = rounddown2(addr + size, 0x1000000) + 0x1000000; if (endaddr >= IOP34X_VADDR) panic("PCI virtual memory exhausted"); allocable = endaddr; tmp = malloc(sizeof(*tmp), M_DEVBUF, M_WAITOK); tmp->next = NULL; - paddr = bpa &~ (0x100000 - 1); + paddr = rounddown2(bpa, 0x100000); tmp->paddr = paddr; tmp->vaddr = addr; tmp->size = 0; Modified: head/sys/arm/xscale/ixp425/avila_machdep.c ============================================================================== --- head/sys/arm/xscale/ixp425/avila_machdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/xscale/ixp425/avila_machdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -291,7 +291,7 @@ initarm(struct arm_boot_params *abp) l1pagetable = kernel_l1pt.pv_va; /* Map the L2 pages tables in the L1 page table */ - pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH & ~(0x00100000 - 1), + pmap_link_l2pt(l1pagetable, rounddown2(ARM_VECTORS_HIGH, 0x00100000), &kernel_pt_table[KERNEL_PT_SYS]); pmap_link_l2pt(l1pagetable, IXP425_IO_VBASE, &kernel_pt_table[KERNEL_PT_IO]); Modified: head/sys/arm/xscale/pxa/pxa_machdep.c ============================================================================== --- head/sys/arm/xscale/pxa/pxa_machdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm/xscale/pxa/pxa_machdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -222,8 +222,8 @@ initarm(struct arm_boot_params *abp) l1pagetable = kernel_l1pt.pv_va; /* Map the L2 pages tables in the L1 page table */ - pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH & ~(0x00100000 - 1), - &kernel_pt_table[KERNEL_PT_SYS]); + pmap_link_l2pt(l1pagetable, rounddown2(ARM_VECTORS_HIGH, 0x00100000), + &kernel_pt_table[KERNEL_PT_SYS]); #if 0 /* XXXBJR: What is this? Don't know if there's an analogue. */ pmap_link_l2pt(l1pagetable, IQ80321_IOPXS_VBASE, &kernel_pt_table[KERNEL_PT_IOPXS]); @@ -235,11 +235,10 @@ initarm(struct arm_boot_params *abp) pmap_map_chunk(l1pagetable, KERNBASE + 0x100000, SDRAM_START + 0x100000, 0x100000, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); pmap_map_chunk(l1pagetable, KERNBASE + 0x200000, SDRAM_START + 0x200000, - (((uint32_t)(lastaddr) - KERNBASE - 0x200000) + L1_S_SIZE) & ~(L1_S_SIZE - 1), - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - freemem_after = ((int)lastaddr + PAGE_SIZE) & ~(PAGE_SIZE - 1); - afterkern = round_page(((vm_offset_t)lastaddr + L1_S_SIZE) & - ~(L1_S_SIZE - 1)); + rounddown2(((uint32_t)(lastaddr) - KERNBASE - 0x200000) + L1_S_SIZE, L1_S_SIZE), + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + freemem_after = rounddown2((int)lastaddr + PAGE_SIZE, PAGE_SIZE); + afterkern = round_page(rounddown2((vm_offset_t)lastaddr + L1_S_SIZE, L1_S_SIZE)); for (i = 0; i < KERNEL_PT_AFKERNEL_NUM; i++) { pmap_link_l2pt(l1pagetable, afterkern + i * 0x00100000, &kernel_pt_table[KERNEL_PT_AFKERNEL + i]); Modified: head/sys/arm64/arm64/pmap.c ============================================================================== --- head/sys/arm64/arm64/pmap.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/arm64/arm64/pmap.c Thu Apr 21 19:57:40 2016 (r298433) @@ -622,7 +622,7 @@ pmap_bootstrap_l3(vm_offset_t l1pt, vm_o KASSERT((va & L2_OFFSET) == 0, ("Invalid virtual address")); l2 = pmap_l2(kernel_pmap, va); - l2 = (pd_entry_t *)((uintptr_t)l2 & ~(PAGE_SIZE - 1)); + l2 = (pd_entry_t *)rounddown2((uintptr_t)l2, PAGE_SIZE); l2pt = (vm_offset_t)l2; l2_slot = pmap_l2_index(va); l3pt = l3_start; Modified: head/sys/boot/common/module.c ============================================================================== --- head/sys/boot/common/module.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/boot/common/module.c Thu Apr 21 19:57:40 2016 (r298433) @@ -744,7 +744,7 @@ file_search(const char *name, char **ext } #define INT_ALIGN(base, ptr) ptr = \ - (base) + (((ptr) - (base) + sizeof(int) - 1) & ~(sizeof(int) - 1)) + (base) + roundup2((ptr) - (base), sizeof(int)) static char * mod_search_hints(struct moduledir *mdp, const char *modname, Modified: head/sys/boot/mips/beri/loader/arch.c ============================================================================== --- head/sys/boot/mips/beri/loader/arch.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/boot/mips/beri/loader/arch.c Thu Apr 21 19:57:40 2016 (r298433) @@ -86,7 +86,7 @@ beri_arch_loadaddr(u_int type, void *dat /* Align ELF objects at page boundaries; others at cache lines. */ align = (type == LOAD_ELF) ? PAGE_SIZE : CACHE_LINE_SIZE; - return ((addr + align - 1) & ~(align - 1)); + return (roundup2(addr, align)); } static ssize_t Modified: head/sys/boot/zfs/zfs.c ============================================================================== --- head/sys/boot/zfs/zfs.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/boot/zfs/zfs.c Thu Apr 21 19:57:40 2016 (r298433) @@ -310,7 +310,7 @@ zfs_readdir(struct open_file *f, struct fzap_next: chunk = fp->f_seekp & (bsize - 1); if (chunk == ZAP_LEAF_NUMCHUNKS(&zl)) { - fp->f_seekp = (fp->f_seekp & ~(bsize - 1)) + bsize; + fp->f_seekp = rounddown2(fp->f_seekp, bsize) + bsize; chunk = 0; /* Modified: head/sys/dev/adb/adb_mouse.c ============================================================================== --- head/sys/dev/adb/adb_mouse.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/adb/adb_mouse.c Thu Apr 21 19:57:40 2016 (r298433) @@ -403,7 +403,7 @@ adb_mouse_receive_packet(device_t dev, u * high button events when they are touched. */ - if (buttons & ~((1 << sc->hw.buttons) - 1) + if (rounddown2(buttons, 1 << sc->hw.buttons) && !(sc->flags & AMS_TOUCHPAD)) { buttons |= 1 << (sc->hw.buttons - 1); } Modified: head/sys/dev/agp/agp_nvidia.c ============================================================================== --- head/sys/dev/agp/agp_nvidia.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/agp/agp_nvidia.c Thu Apr 21 19:57:40 2016 (r298433) @@ -216,8 +216,8 @@ agp_nvidia_attach (device_t dev) if (sc->num_dirs == 0) { sc->num_dirs = 1; sc->num_active_entries /= (64 / size); - sc->pg_offset = (apbase & (64 * 1024 * 1024 - 1) & - ~(AGP_GET_APERTURE(dev) - 1)) / PAGE_SIZE; + sc->pg_offset = rounddown2(apbase & (64 * 1024 * 1024 - 1), + AGP_GET_APERTURE(dev)) / PAGE_SIZE; } /* (G)ATT Base Address */ @@ -410,7 +410,7 @@ nvidia_init_iorr(u_int32_t addr, u_int32 } base = (addr & ~0xfff) | 0x18; - mask = (0xfULL << 32) | ((~(size - 1)) & 0xfffff000) | 0x800; + mask = (0xfULL << 32) | rounddown2(0xfffff000, size) | 0x800; wrmsr(IORR_BASE0 + 2 * iorr_addr, base); wrmsr(IORR_MASK0 + 2 * iorr_addr, mask); Modified: head/sys/dev/bce/if_bce.c ============================================================================== --- head/sys/dev/bce/if_bce.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/bce/if_bce.c Thu Apr 21 19:57:40 2016 (r298433) @@ -3047,7 +3047,7 @@ bce_get_rx_buffer_sizes(struct bce_softc sc->rx_bd_mbuf_alloc_size = MHLEN; /* Make sure offset is 16 byte aligned for hardware. */ sc->rx_bd_mbuf_align_pad = - roundup2((MSIZE - MHLEN), 16) - (MSIZE - MHLEN); + roundup2(MSIZE - MHLEN, 16) - (MSIZE - MHLEN); sc->rx_bd_mbuf_data_len = sc->rx_bd_mbuf_alloc_size - sc->rx_bd_mbuf_align_pad; } else { Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/cxgbe/common/t4_hw.c Thu Apr 21 19:57:40 2016 (r298433) @@ -607,8 +607,8 @@ int t4_mem_read(struct adapter *adap, in * need to round down the start and round up the end. We'll start * copying out of the first line at (addr - start) a word at a time. */ - start = addr & ~(64-1); - end = (addr + len + 64-1) & ~(64-1); + start = rounddown2(addr, 64); + end = roundup2(addr + len, 64); offset = (addr - start)/sizeof(__be32); for (pos = start; pos < end; pos += 64, offset = 0) { Modified: head/sys/dev/en/midway.c ============================================================================== --- head/sys/dev/en/midway.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/en/midway.c Thu Apr 21 19:57:40 2016 (r298433) @@ -1487,7 +1487,7 @@ en_init(struct en_softc *sc) loc = sc->txslot[slot].cur = sc->txslot[slot].start; loc = loc - MID_RAMOFF; /* mask, cvt to words */ - loc = (loc & ~((EN_TXSZ * 1024) - 1)) >> 2; + loc = rounddown2(loc, EN_TXSZ * 1024) >> 2; /* top 11 bits */ loc = loc >> MIDV_LOCTOPSHFT; en_write(sc, MIDX_PLACE(slot), MIDX_MKPLACE(en_k2sz(EN_TXSZ), @@ -2992,7 +2992,7 @@ en_attach(struct en_softc *sc) sc->rxslot[lcv].stop = ptr; midvloc = midvloc - MID_RAMOFF; /* mask, cvt to words */ - midvloc = (midvloc & ~((EN_RXSZ*1024) - 1)) >> 2; + midvloc = rounddown2(midvloc, EN_RXSZ * 1024) >> 2; /* we only want the top 11 bits */ midvloc = midvloc >> MIDV_LOCTOPSHFT; midvloc = (midvloc & MIDV_LOCMASK) << MIDV_LOCSHIFT; Modified: head/sys/dev/exca/exca.c ============================================================================== --- head/sys/dev/exca/exca.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/exca/exca.c Thu Apr 21 19:57:40 2016 (r298433) @@ -402,7 +402,7 @@ exca_mem_set_offset(struct exca_softc *s "set_memory_offset: specified resource not active\n"); return (ENOENT); } - sc->mem[win].cardaddr = cardaddr & ~(EXCA_MEM_PAGESIZE - 1); + sc->mem[win].cardaddr = rounddown2(cardaddr, EXCA_MEM_PAGESIZE); delta = cardaddr % EXCA_MEM_PAGESIZE; if (deltap) *deltap = delta; Modified: head/sys/dev/fatm/if_fatm.c ============================================================================== --- head/sys/dev/fatm/if_fatm.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/fatm/if_fatm.c Thu Apr 21 19:57:40 2016 (r298433) @@ -116,8 +116,8 @@ static const struct utopia_methods fatm_ }; #define VC_OK(SC, VPI, VCI) \ - (((VPI) & ~((1 << IFP2IFATM((SC)->ifp)->mib.vpi_bits) - 1)) == 0 && \ - (VCI) != 0 && ((VCI) & ~((1 << IFP2IFATM((SC)->ifp)->mib.vci_bits) - 1)) == 0) + (rounddown2(VPI, 1 << IFP2IFATM((SC)->ifp)->mib.vpi_bits) == 0 && \ + (VCI) != 0 && rounddown2(VCI, 1 << IFP2IFATM((SC)->ifp)->mib.vci_bits) == 0) static int fatm_load_vc(struct fatm_softc *sc, struct card_vcc *vc); Modified: head/sys/dev/hatm/if_hatm.c ============================================================================== --- head/sys/dev/hatm/if_hatm.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/hatm/if_hatm.c Thu Apr 21 19:57:40 2016 (r298433) @@ -788,16 +788,14 @@ hatm_init_cm(struct hatm_softc *sc) rsra = 0; mlbm = ((rsra + IFP2IFATM(sc->ifp)->mib.max_vccs * 8) + 0x7ff) & ~0x7ff; rabr = ((mlbm + numbuffs * 2) + 0x7ff) & ~0x7ff; - sc->rsrb = ((rabr + 2048) + (2 * IFP2IFATM(sc->ifp)->mib.max_vccs - 1)) & - ~(2 * IFP2IFATM(sc->ifp)->mib.max_vccs - 1); + sc->rsrb = roundup2(rabr + 2048, 2 * IFP2IFATM(sc->ifp)->mib.max_vccs); tsra = 0; sc->tsrb = tsra + IFP2IFATM(sc->ifp)->mib.max_vccs * 8; sc->tsrc = sc->tsrb + IFP2IFATM(sc->ifp)->mib.max_vccs * 4; sc->tsrd = sc->tsrc + IFP2IFATM(sc->ifp)->mib.max_vccs * 2; tabr = sc->tsrd + IFP2IFATM(sc->ifp)->mib.max_vccs * 1; - mtpd = ((tabr + 1024) + (16 * IFP2IFATM(sc->ifp)->mib.max_vccs - 1)) & - ~(16 * IFP2IFATM(sc->ifp)->mib.max_vccs - 1); + mtpd = roundup2(tabr + 1024, 16 * IFP2IFATM(sc->ifp)->mib.max_vccs); DBG(sc, ATTACH, ("rsra=%x mlbm=%x rabr=%x rsrb=%x", rsra, mlbm, rabr, sc->rsrb)); Modified: head/sys/dev/hptmv/gui_lib.c ============================================================================== --- head/sys/dev/hptmv/gui_lib.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/hptmv/gui_lib.c Thu Apr 21 19:57:40 2016 (r298433) @@ -783,8 +783,8 @@ simple: for(i = 0; i < pArray->u.array.bArnMember; i++) if(pArray->u.array.pMember[i]->VDeviceCapacity < capacity) capacity = pArray->u.array.pMember[i]->VDeviceCapacity; - pArray->VDeviceCapacity = (capacity & ~(pArray->u.array.bStripeWitch - 1)) - * (pArray->u.array.bArnMember - 1); + pArray->VDeviceCapacity = rounddown2(capacity, pArray->u.array.bStripeWitch) * + (pArray->u.array.bArnMember - 1); break; default: Modified: head/sys/dev/mpr/mpr.c ============================================================================== --- head/sys/dev/mpr/mpr.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/mpr/mpr.c Thu Apr 21 19:57:40 2016 (r298433) @@ -1084,8 +1084,8 @@ mpr_alloc_queues(struct mpr_softc *sc) * * These two queues are allocated together for simplicity. */ - sc->fqdepth = roundup2((sc->num_replies + 1), 16); - sc->pqdepth = roundup2((sc->num_replies + 1), 16); + sc->fqdepth = roundup2(sc->num_replies + 1, 16); + sc->pqdepth = roundup2(sc->num_replies + 1, 16); fqsize= sc->fqdepth * 4; pqsize = sc->pqdepth * 8; qsize = fqsize + pqsize; Modified: head/sys/dev/mps/mps.c ============================================================================== --- head/sys/dev/mps/mps.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/mps/mps.c Thu Apr 21 19:57:40 2016 (r298433) @@ -1080,8 +1080,8 @@ mps_alloc_queues(struct mps_softc *sc) * * These two queues are allocated together for simplicity. */ - sc->fqdepth = roundup2((sc->num_replies + 1), 16); - sc->pqdepth = roundup2((sc->num_replies + 1), 16); + sc->fqdepth = roundup2(sc->num_replies + 1, 16); + sc->pqdepth = roundup2(sc->num_replies + 1, 16); fqsize= sc->fqdepth * 4; pqsize = sc->pqdepth * 8; qsize = fqsize + pqsize; Modified: head/sys/dev/pccbb/pccbb.c ============================================================================== --- head/sys/dev/pccbb/pccbb.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/pccbb/pccbb.c Thu Apr 21 19:57:40 2016 (r298433) @@ -1155,7 +1155,7 @@ cbb_cardbus_auto_open(struct cbb_softc * if (starts[i] == START_NONE) continue; starts[i] &= ~(align - 1); - ends[i] = ((ends[i] + align - 1) & ~(align - 1)) - 1; + ends[i] = roundup2(ends[i], align) - 1; } if (starts[0] != START_NONE && starts[1] != START_NONE) { if (starts[0] < starts[1]) { Modified: head/sys/dev/pms/freebsd/driver/ini/src/agtiapi.c ============================================================================== --- head/sys/dev/pms/freebsd/driver/ini/src/agtiapi.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/pms/freebsd/driver/ini/src/agtiapi.c Thu Apr 21 19:57:40 2016 (r298433) @@ -5049,8 +5049,8 @@ STATIC void agtiapi_PrepCCBs( struct agt sizeof(tiSgl_t), max_ccb ); - ccb_sz = (AGTIAPI_CCB_SIZE + cache_line_size() - 1) & ~(cache_line_size() -1); - hdr_sz = (sizeof(*hdr) + cache_line_size() - 1) & ~(cache_line_size() - 1); + ccb_sz = roundup2(AGTIAPI_CCB_SIZE, cache_line_size()); + hdr_sz = roundup2(sizeof(*hdr), cache_line_size()); AGTIAPI_PRINTK("agtiapi_PrepCCBs: after cache line\n"); @@ -5174,9 +5174,8 @@ STATIC U32 agtiapi_InitCCBs(struct agtia #endif max_ccb = tgtCount * AGTIAPI_CCB_PER_DEVICE;// / 4; // TBR - ccb_sz = ( (AGTIAPI_CCB_SIZE + cache_line_size() - 1) & - ~(cache_line_size() -1) ); - hdr_sz = (sizeof(*hdr) + cache_line_size() - 1) & ~(cache_line_size() - 1); + ccb_sz = roundup2(AGTIAPI_CCB_SIZE, cache_line_size()); + hdr_sz = roundup2(sizeof(*hdr), cache_line_size()); size = ccb_sz * max_ccb + hdr_sz; for (i = 0; i < (1 << no_allocs); i++) @@ -5854,7 +5853,7 @@ STATIC void agtiapi_ReleaseCCBs( struct while ((hdr = pCard->ccbAllocList) != NULL) { pCard->ccbAllocList = hdr->next; - hdr_sz = (sizeof(*hdr) + cache_line_size() - 1) & ~(cache_line_size() - 1); + hdr_sz = roundup2(sizeof(*hdr), cache_line_size()); pccb = (ccb_t*) ((char*)hdr + hdr_sz); if (pCard->buffer_dmat != NULL && pccb->CCB_dmamap != NULL) { Modified: head/sys/dev/sym/sym_hipd.c ============================================================================== --- head/sys/dev/sym/sym_hipd.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/sym/sym_hipd.c Thu Apr 21 19:57:40 2016 (r298433) @@ -7903,7 +7903,7 @@ sym_scatter_sg_physical(hcb_p np, ccb_p pe = ps + psegs[t].ds_len; while (s >= 0) { - pn = (pe - 1) & ~(SYM_CONF_DMA_BOUNDARY - 1); + pn = rounddown2(pe - 1, SYM_CONF_DMA_BOUNDARY); if (pn <= ps) pn = ps; k = pe - pn; Modified: head/sys/dev/ti/if_ti.c ============================================================================== --- head/sys/dev/ti/if_ti.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/ti/if_ti.c Thu Apr 21 19:57:40 2016 (r298433) @@ -434,7 +434,7 @@ ti_mem_read(struct ti_softc *sc, uint32_ segsize = cnt; else segsize = TI_WINLEN - (segptr % TI_WINLEN); - CSR_WRITE_4(sc, TI_WINBASE, (segptr & ~(TI_WINLEN - 1))); + CSR_WRITE_4(sc, TI_WINBASE, rounddown2(segptr, TI_WINLEN)); bus_space_read_region_4(sc->ti_btag, sc->ti_bhandle, TI_WINDOW + (segptr & (TI_WINLEN - 1)), (uint32_t *)ptr, segsize / 4); @@ -464,7 +464,7 @@ ti_mem_write(struct ti_softc *sc, uint32 segsize = cnt; else segsize = TI_WINLEN - (segptr % TI_WINLEN); - CSR_WRITE_4(sc, TI_WINBASE, (segptr & ~(TI_WINLEN - 1))); + CSR_WRITE_4(sc, TI_WINBASE, rounddown2(segptr, TI_WINLEN)); bus_space_write_region_4(sc->ti_btag, sc->ti_bhandle, TI_WINDOW + (segptr & (TI_WINLEN - 1)), (uint32_t *)ptr, segsize / 4); @@ -491,7 +491,7 @@ ti_mem_zero(struct ti_softc *sc, uint32_ segsize = cnt; else segsize = TI_WINLEN - (segptr % TI_WINLEN); - CSR_WRITE_4(sc, TI_WINBASE, (segptr & ~(TI_WINLEN - 1))); + CSR_WRITE_4(sc, TI_WINBASE, rounddown2(segptr, TI_WINLEN)); bus_space_set_region_4(sc->ti_btag, sc->ti_bhandle, TI_WINDOW + (segptr & (TI_WINLEN - 1)), 0, segsize / 4); segptr += segsize; @@ -559,7 +559,7 @@ ti_copy_mem(struct ti_softc *sc, uint32_ segsize = cnt; else segsize = TI_WINLEN - (segptr % TI_WINLEN); - CSR_WRITE_4(sc, TI_WINBASE, (segptr & ~(TI_WINLEN - 1))); + CSR_WRITE_4(sc, TI_WINBASE, rounddown2(segptr, TI_WINLEN)); ti_offset = TI_WINDOW + (segptr & (TI_WINLEN -1)); @@ -628,7 +628,7 @@ ti_copy_mem(struct ti_softc *sc, uint32_ /* * Set the segment pointer. */ - CSR_WRITE_4(sc, TI_WINBASE, (segptr & ~(TI_WINLEN - 1))); + CSR_WRITE_4(sc, TI_WINBASE, rounddown2(segptr, TI_WINLEN)); ti_offset = TI_WINDOW + (segptr & (TI_WINLEN - 1)); Modified: head/sys/dev/usb/usb_busdma.c ============================================================================== --- head/sys/dev/usb/usb_busdma.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/usb/usb_busdma.c Thu Apr 21 19:57:40 2016 (r298433) @@ -467,7 +467,7 @@ usb_pc_common_mem_cb(void *arg, bus_dma_ off = 0; pg = pc->page_start; - pg->physaddr = segs->ds_addr & ~(USB_PAGE_SIZE - 1); + pg->physaddr = rounddown2(segs->ds_addr, USB_PAGE_SIZE); rem = segs->ds_addr & (USB_PAGE_SIZE - 1); pc->page_offset_buf = rem; pc->page_offset_end += rem; @@ -502,7 +502,7 @@ usb_pc_common_mem_cb(void *arg, bus_dma_ break; } pg++; - pg->physaddr = (segs->ds_addr + off) & ~(USB_PAGE_SIZE - 1); + pg->physaddr = rounddown2(segs->ds_addr + off, USB_PAGE_SIZE); } done: Modified: head/sys/dev/vt/hw/efifb/efifb.c ============================================================================== --- head/sys/dev/vt/hw/efifb/efifb.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/dev/vt/hw/efifb/efifb.c Thu Apr 21 19:57:40 2016 (r298433) @@ -116,7 +116,7 @@ vt_efifb_init(struct vt_device *vd) info->fb_depth = fls(efifb->fb_mask_red | efifb->fb_mask_green | efifb->fb_mask_blue | efifb->fb_mask_reserved); /* Round to a multiple of the bits in a byte. */ - info->fb_bpp = (info->fb_depth + NBBY - 1) & ~(NBBY - 1); + info->fb_bpp = roundup2(info->fb_depth, NBBY); /* Stride in bytes, not pixels */ info->fb_stride = efifb->fb_stride * (info->fb_bpp / NBBY); Modified: head/sys/fs/ext2fs/ext2_lookup.c ============================================================================== --- head/sys/fs/ext2fs/ext2_lookup.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/fs/ext2fs/ext2_lookup.c Thu Apr 21 19:57:40 2016 (r298433) @@ -540,7 +540,7 @@ found: * in the cache as to where the entry was found. */ if ((flags & ISLASTCN) && nameiop == LOOKUP) - dp->i_diroff = i_offset &~ (DIRBLKSIZ - 1); + dp->i_diroff = rounddown2(i_offset, DIRBLKSIZ); /* * If deleting, and at end of pathname, return * parameters which can be used to remove file. Modified: head/sys/geom/bde/g_bde_crypt.c ============================================================================== --- head/sys/geom/bde/g_bde_crypt.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/geom/bde/g_bde_crypt.c Thu Apr 21 19:57:40 2016 (r298433) @@ -311,7 +311,7 @@ g_bde_map_sector(struct g_bde_work *wp) /* Compensate for lock sectors */ for (u = 0; u < G_BDE_MAXKEYS; u++) { /* Find the start of this lock sector */ - ko = kp->lsector[u] & ~((uint64_t)kp->sectorsize - 1); + ko = rounddown2(kp->lsector[u], (uint64_t)kp->sectorsize); if (wp->kso >= ko) wp->kso += kp->sectorsize; Modified: head/sys/geom/part/g_part_bsd64.c ============================================================================== --- head/sys/geom/part/g_part_bsd64.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/geom/part/g_part_bsd64.c Thu Apr 21 19:57:40 2016 (r298433) @@ -447,9 +447,9 @@ g_part_bsd64_resize(struct g_part_table if (baseentry == NULL) { pp = LIST_FIRST(&basetable->gpt_gp->consumer)->provider; table = (struct g_part_bsd64_table *)basetable; - table->d_abase = ((pp->mediasize - - table->d_bbase * pp->sectorsize) & ~(table->d_align - 1)) / - pp->sectorsize; + table->d_abase = + rounddown2(pp->mediasize - table->d_bbase * pp->sectorsize, + table->d_align) / pp->sectorsize; basetable->gpt_last = table->d_abase - 1; return (0); } @@ -477,8 +477,8 @@ g_part_bsd64_probe(struct g_part_table * pp = cp->provider; if (pp->mediasize < 2 * PALIGN_SIZE) return (ENOSPC); - v = (pp->sectorsize + - offsetof(struct disklabel64, d_magic)) & ~(pp->sectorsize - 1); + v = rounddown2(pp->sectorsize + offsetof(struct disklabel64, d_magic), + pp->sectorsize); buf = g_read_data(cp, 0, v, &error); if (buf == NULL) return (error); @@ -502,8 +502,7 @@ g_part_bsd64_read(struct g_part_table *b pp = cp->provider; table = (struct g_part_bsd64_table *)basetable; - v32 = (pp->sectorsize + - sizeof(struct disklabel64) - 1) & ~(pp->sectorsize - 1); + v32 = roundup2(sizeof(struct disklabel64), pp->sectorsize); buf = g_read_data(cp, 0, v32, &error); if (buf == NULL) return (error); @@ -620,8 +619,7 @@ g_part_bsd64_write(struct g_part_table * pp = cp->provider; table = (struct g_part_bsd64_table *)basetable; - sz = (pp->sectorsize + - sizeof(struct disklabel64) - 1) & ~(pp->sectorsize - 1); + sz = roundup2(sizeof(struct disklabel64), pp->sectorsize); dlp = g_malloc(sz, M_WAITOK | M_ZERO); memcpy(dlp->d_reserved0, table->d_reserved0, Modified: head/sys/i386/i386/i686_mem.c ============================================================================== --- head/sys/i386/i386/i686_mem.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/i386/i386/i686_mem.c Thu Apr 21 19:57:40 2016 (r298433) @@ -377,7 +377,7 @@ i686_mrstoreone(void *arg) /* mask/active register */ if (mrd->mr_flags & MDF_ACTIVE) { msrv = MTRR_PHYSMASK_VALID | - (~(mrd->mr_len - 1) & mtrr_physmask); + rounddown2(mtrr_physmask, mrd->mr_len); } else { msrv = 0; } Modified: head/sys/i386/i386/minidump_machdep.c ============================================================================== --- head/sys/i386/i386/minidump_machdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/i386/i386/minidump_machdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -54,7 +54,7 @@ CTASSERT(sizeof(struct kerneldumpheader) #define SIZEOF_METADATA (64*1024) #define MD_ALIGN(x) (((off_t)(x) + PAGE_MASK) & ~PAGE_MASK) -#define DEV_ALIGN(x) (((off_t)(x) + (DEV_BSIZE-1)) & ~(DEV_BSIZE-1)) +#define DEV_ALIGN(x) roundup2((off_t)(x), DEV_BSIZE) uint32_t *vm_page_dump; int vm_page_dump_size; Modified: head/sys/i386/i386/sys_machdep.c ============================================================================== --- head/sys/i386/i386/sys_machdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/i386/i386/sys_machdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -63,7 +63,7 @@ __FBSDID("$FreeBSD$"); #define MAX_LD 8192 #define LD_PER_PAGE 512 -#define NEW_MAX_LD(num) ((num + LD_PER_PAGE) & ~(LD_PER_PAGE-1)) +#define NEW_MAX_LD(num) rounddown2(num + LD_PER_PAGE, LD_PER_PAGE) #define SIZE_FROM_LARGEST_LD(num) (NEW_MAX_LD(num) << 3) #define NULL_LDT_BASE ((caddr_t)NULL) Modified: head/sys/i386/svr4/svr4_machdep.c ============================================================================== --- head/sys/i386/svr4/svr4_machdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/i386/svr4/svr4_machdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -159,7 +159,7 @@ svr4_getcontext(td, uc, mask, oonstack) #if defined(DONE_MORE_SIGALTSTACK_WORK) bsd_to_svr4_sigaltstack(sf, s); #else - s->ss_sp = (void *)(((u_long) tf->tf_esp) & ~(16384 - 1)); + s->ss_sp = (void *)rounddown2((u_long)tf->tf_esp, 16384); s->ss_size = 16384; s->ss_flags = 0; #endif Modified: head/sys/kern/imgact_elf.c ============================================================================== --- head/sys/kern/imgact_elf.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/kern/imgact_elf.c Thu Apr 21 19:57:40 2016 (r298433) @@ -139,8 +139,8 @@ SYSCTL_INT(_kern_elf32, OID_AUTO, read_e static Elf_Brandinfo *elf_brand_list[MAX_BRANDS]; -#define trunc_page_ps(va, ps) ((va) & ~(ps - 1)) -#define round_page_ps(va, ps) (((va) + (ps - 1)) & ~(ps - 1)) +#define trunc_page_ps(va, ps) rounddown2(va, ps) +#define round_page_ps(va, ps) roundup2(va, ps) #define aligned(a, t) (trunc_page_ps((u_long)(a), sizeof(t)) == (u_long)(a)) static const char FREEBSD_ABI_VENDOR[] = "FreeBSD"; Modified: head/sys/kern/init_main.c ============================================================================== --- head/sys/kern/init_main.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/kern/init_main.c Thu Apr 21 19:57:40 2016 (r298433) @@ -787,7 +787,7 @@ start_init(void *dummy) /* * Move out the arg pointers. */ - uap = (char **)((intptr_t)ucp & ~(sizeof(intptr_t)-1)); + uap = (char **)rounddown2((intptr_t)ucp, sizeof(intptr_t)); (void)suword((caddr_t)--uap, (long)0); /* terminator */ (void)suword((caddr_t)--uap, (long)(intptr_t)arg1); (void)suword((caddr_t)--uap, (long)(intptr_t)arg0); Modified: head/sys/kern/kern_linker.c ============================================================================== --- head/sys/kern/kern_linker.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/kern/kern_linker.c Thu Apr 21 19:57:40 2016 (r298433) @@ -1713,7 +1713,7 @@ linker_lookup_file(const char *path, int } #define INT_ALIGN(base, ptr) ptr = \ - (base) + (((ptr) - (base) + sizeof(int) - 1) & ~(sizeof(int) - 1)) + (base) + roundup2((ptr) - (base), sizeof(int)) /* * Lookup KLD which contains requested module in the "linker.hints" file. If Modified: head/sys/kern/sysv_sem.c ============================================================================== --- head/sys/kern/sysv_sem.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/kern/sysv_sem.c Thu Apr 21 19:57:40 2016 (r298433) @@ -164,7 +164,7 @@ struct sem_undo { * SEMUSZ is properly aligned. */ -#define SEM_ALIGN(bytes) (((bytes) + (sizeof(long) - 1)) & ~(sizeof(long) - 1)) +#define SEM_ALIGN(bytes) roundup2(bytes, sizeof(long)) /* actual size of an undo structure */ #define SEMUSZ SEM_ALIGN(offsetof(struct sem_undo, un_ent[SEMUME])) Modified: head/sys/kern/sysv_shm.c ============================================================================== --- head/sys/kern/sysv_shm.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/kern/sysv_shm.c Thu Apr 21 19:57:40 2016 (r298433) @@ -370,7 +370,7 @@ kern_shmat_locked(struct thread *td, int prot |= VM_PROT_WRITE; if (shmaddr != NULL) { if ((shmflg & SHM_RND) != 0) - attach_va = (vm_offset_t)shmaddr & ~(SHMLBA-1); + attach_va = rounddown2((vm_offset_t)shmaddr, SHMLBA); else if (((vm_offset_t)shmaddr & (SHMLBA-1)) == 0) attach_va = (vm_offset_t)shmaddr; else Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/kern/vfs_bio.c Thu Apr 21 19:57:40 2016 (r298433) @@ -3865,7 +3865,7 @@ allocbuf(struct buf *bp, int size) if (bp->b_kvasize != 0 && bp->b_kvasize < size) panic("allocbuf: buffer too small"); - newbsize = (size + DEV_BSIZE - 1) & ~(DEV_BSIZE - 1); + newbsize = roundup2(size, DEV_BSIZE); if ((bp->b_flags & B_VMIO) == 0) { if ((bp->b_flags & B_MALLOC) == 0) newbsize = round_page(newbsize); Modified: head/sys/mips/cavium/octopci.c ============================================================================== --- head/sys/mips/cavium/octopci.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/mips/cavium/octopci.c Thu Apr 21 19:57:40 2016 (r298433) @@ -487,7 +487,7 @@ octopci_init_bar(device_t dev, unsigned if (PCI_BAR_IO(bar)) { size = ~(bar & PCIM_BAR_IO_BASE) + 1; - sc->sc_io_next = (sc->sc_io_next + size - 1) & ~(size - 1); + sc->sc_io_next = roundup2(sc->sc_io_next, size); if (sc->sc_io_next + size > CVMX_OCT_PCI_IO_SIZE) { device_printf(dev, "%02x.%02x:%02x: no ports for BAR%u.\n", b, s, f, barnum); @@ -527,7 +527,7 @@ octopci_init_bar(device_t dev, unsigned size = ~(bar & (uint32_t)PCIM_BAR_MEM_BASE) + 1; - sc->sc_mem1_next = (sc->sc_mem1_next + size - 1) & ~(size - 1); + sc->sc_mem1_next = roundup2(sc->sc_mem1_next, size); if (sc->sc_mem1_next + size > CVMX_OCT_PCI_MEM1_SIZE) { device_printf(dev, "%02x.%02x:%02x: no memory for BAR%u.\n", b, s, f, barnum); Modified: head/sys/mips/mips/tlb.c ============================================================================== --- head/sys/mips/mips/tlb.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/mips/mips/tlb.c Thu Apr 21 19:57:40 2016 (r298433) @@ -215,7 +215,7 @@ tlb_invalidate_range(pmap_t pmap, vm_off * and round the virtual address "end" to an even page frame number. */ start &= ~((1 << TLBMASK_SHIFT) - 1); - end = (end + (1 << TLBMASK_SHIFT) - 1) & ~((1 << TLBMASK_SHIFT) - 1); + end = roundup2(end, 1 << TLBMASK_SHIFT); s = intr_disable(); save_asid = mips_rd_entryhi() & TLBHI_ASID_MASK; Modified: head/sys/mips/mips/trap.c ============================================================================== --- head/sys/mips/mips/trap.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/mips/mips/trap.c Thu Apr 21 19:57:40 2016 (r298433) @@ -1576,7 +1576,7 @@ mips_unaligned_load_store(struct trapfra return (0); } - if (!useracc((void *)((vm_offset_t)addr & ~(size - 1)), size * 2, mode)) + if (!useracc((void *)rounddown2((vm_offset_t)addr, size), size * 2, mode)) return (0); /* Modified: head/sys/mips/rmi/dev/sec/rmilib.c ============================================================================== --- head/sys/mips/rmi/dev/sec/rmilib.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/mips/rmi/dev/sec/rmilib.c Thu Apr 21 19:57:40 2016 (r298433) @@ -397,7 +397,7 @@ xlr_sec_setup_packet(xlr_sec_io_pt op, /* physical address of the source buffer */ addr = (uint64_t) vtophys((void *)(unsigned long)op->source_buf); /* cache-aligned base of the source buffer */ - seg_addr = (addr & ~(SMP_CACHE_BYTES - 1)); + seg_addr = rounddown2(addr, SMP_CACHE_BYTES); /* offset in bytes to the source buffer start from the segment base */ byte_offset = addr - seg_addr; /* global offset: 0-7 bytes */ @@ -417,7 +417,7 @@ xlr_sec_setup_packet(xlr_sec_io_pt op, len = op->source_buf_size + byte_offset - global_offset; if (multi_frag_flag) { next_seg_addr = (uint64_t)vtophys((void *)(uintptr_t)desc->next_src_buf); - next_seg_addr = (next_seg_addr & ~(SMP_CACHE_BYTES - 1)); + next_seg_addr = rounddown2(next_seg_addr, SMP_CACHE_BYTES); next_len = desc->next_src_len; } /* length of the whole thing in dwords */ @@ -602,10 +602,10 @@ xlr_sec_setup_packet(xlr_sec_io_pt op, */ if (multi_frag_flag) { next_seg_addr = (uint64_t) vtophys((void *)(unsigned long)(desc->next_dest_buf)); - next_seg_addr = (next_seg_addr & ~(SMP_CACHE_BYTES - 1)); + next_seg_addr = rounddown2(next_seg_addr, SMP_CACHE_BYTES); } addr = (uint64_t) vtophys((void *)(unsigned long)op->dest_buf); - seg_addr = (addr & ~(SMP_CACHE_BYTES - 1)); + seg_addr = rounddown2(addr, SMP_CACHE_BYTES); byte_offset = addr - seg_addr; global_offset = byte_offset & 0x7; Modified: head/sys/mips/sibyte/sb_zbpci.c ============================================================================== --- head/sys/mips/sibyte/sb_zbpci.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/mips/sibyte/sb_zbpci.c Thu Apr 21 19:57:40 2016 (r298433) @@ -345,7 +345,7 @@ zbpci_config_space_va(int bus, int slot, #if _BYTE_ORDER == _BIG_ENDIAN pa = pa ^ (4 - bytes); #endif - pa_page = pa & ~(PAGE_SIZE - 1); + pa_page = rounddown2(pa, PAGE_SIZE); if (zbpci_config_space[cpu].paddr != pa_page) { pmap_kremove(va_page); pmap_kenter_attr(va_page, pa_page, PTE_C_UNCACHED); Modified: head/sys/net/bpf.c ============================================================================== --- head/sys/net/bpf.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/net/bpf.c Thu Apr 21 19:57:40 2016 (r298433) @@ -121,7 +121,7 @@ CTASSERT(offsetof(struct bpf_if, bif_ext #include #include #define BPF_ALIGNMENT32 sizeof(int32_t) -#define BPF_WORDALIGN32(x) (((x)+(BPF_ALIGNMENT32-1))&~(BPF_ALIGNMENT32-1)) +#define BPF_WORDALIGN32(x) roundup2(x, BPF_ALIGNMENT32) #ifndef BURN_BRIDGES /* Modified: head/sys/net80211/ieee80211_freebsd.c ============================================================================== --- head/sys/net80211/ieee80211_freebsd.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/net80211/ieee80211_freebsd.c Thu Apr 21 19:57:40 2016 (r298433) @@ -340,7 +340,7 @@ ieee80211_flush_ifq(struct ifqueue *ifq, */ #define MC_ALIGN(m, len) \ do { \ - (m)->m_data += (MCLBYTES - (len)) &~ (sizeof(long) - 1); \ + (m)->m_data += rounddown2(MCLBYTES - (len), sizeof(long)); \ } while (/* CONSTCOND */ 0) /* Modified: head/sys/powerpc/aim/mmu_oea.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/powerpc/aim/mmu_oea.c Thu Apr 21 19:57:40 2016 (r298433) @@ -1673,7 +1673,7 @@ moea_pinit(mmu_t mmu, pmap_t pmap) } i = ffs(~moea_vsid_bitmap[n]) - 1; mask = 1 << i; - hash &= 0xfffff & ~(VSID_NBPW - 1); + hash &= rounddown2(0xfffff, VSID_NBPW); hash |= i; } KASSERT(!(moea_vsid_bitmap[n] & mask), @@ -1865,7 +1865,7 @@ moea_bootstrap_alloc(vm_size_t size, u_i size = round_page(size); for (i = 0; phys_avail[i + 1] != 0; i += 2) { if (align != 0) - s = (phys_avail[i] + align - 1) & ~(align - 1); + s = roundup2(phys_avail[i], align); else s = phys_avail[i]; e = s + size; Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/powerpc/aim/mmu_oea64.c Thu Apr 21 19:57:40 2016 (r298433) @@ -1966,7 +1966,7 @@ moea64_get_unique_vsid(void) { } i = ffs(~moea64_vsid_bitmap[n]) - 1; mask = 1 << i; - hash &= VSID_HASHMASK & ~(VSID_NBPW - 1); + hash &= rounddown2(VSID_HASHMASK, VSID_NBPW); hash |= i; } if (hash == VSID_VRMA) /* also special, avoid this too */ @@ -2296,7 +2296,7 @@ moea64_bootstrap_alloc(vm_size_t size, u size = round_page(size); for (i = 0; phys_avail[i + 1] != 0; i += 2) { if (align != 0) - s = (phys_avail[i] + align - 1) & ~(align - 1); + s = roundup2(phys_avail[i], align); else s = phys_avail[i]; e = s + size; Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/powerpc/booke/pmap.c Thu Apr 21 19:57:40 2016 (r298433) @@ -2687,7 +2687,7 @@ mmu_booke_dumpsys_map(mmu_t mmu, vm_padd /* Raw physical memory dumps don't have a virtual address. */ /* We always map a 256MB page at 256M. */ gran = 256 * 1024 * 1024; - ppa = pa & ~(gran - 1); + ppa = rounddown2(pa, gran); ofs = pa - ppa; *va = (void *)gran; tlb1_set_entry((vm_offset_t)va, ppa, gran, _TLB_ENTRY_IO); @@ -2725,7 +2725,7 @@ mmu_booke_dumpsys_unmap(mmu_t mmu, vm_pa tlb1_write_entry(&e, i); gran = 256 * 1024 * 1024; - ppa = pa & ~(gran - 1); + ppa = rounddown2(pa, gran); ofs = pa - ppa; if (sz > (gran - ofs)) { i--; @@ -3332,7 +3332,7 @@ tlb1_mapin_region(vm_offset_t va, vm_pad int idx, nents; /* Round up to the next 1M */ - size = (size + (1 << 20) - 1) & ~((1 << 20) - 1); + size = roundup2(size, 1 << 20); mapped = 0; idx = 0; Modified: head/sys/powerpc/powerpc/machdep.c ============================================================================== --- head/sys/powerpc/powerpc/machdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/powerpc/powerpc/machdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -449,7 +449,7 @@ cpu_flush_dcache(void *ptr, size_t len) addr = (uintptr_t)ptr; off = addr & (cacheline_size - 1); addr -= off; - len = (len + off + cacheline_size - 1) & ~(cacheline_size - 1); + len = roundup2(len + off, cacheline_size); while (len > 0) { __asm __volatile ("dcbf 0,%0" :: "r"(addr)); Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/ufs/ffs/ffs_softdep.c Thu Apr 21 19:57:40 2016 (r298433) @@ -13594,7 +13594,7 @@ clear_inodedeps(mp) /* * Find the last inode in the block with dependencies. */ - firstino = inodedep->id_ino & ~(INOPB(fs) - 1); + firstino = rounddown2(inodedep->id_ino, INOPB(fs)); for (lastino = firstino + INOPB(fs) - 1; lastino > firstino; lastino--) if (inodedep_lookup(mp, lastino, 0, &inodedep) != 0) break; Modified: head/sys/ufs/ufs/ufs_dirhash.c ============================================================================== --- head/sys/ufs/ufs/ufs_dirhash.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/ufs/ufs/ufs_dirhash.c Thu Apr 21 19:57:40 2016 (r298433) @@ -1145,7 +1145,7 @@ ufsdirhash_getprev(struct direct *dirp, doff_t blkoff, prevoff; int entrypos, i; - blkoff = offset & ~(DIRBLKSIZ - 1); /* offset of start of block */ + blkoff = rounddown2(offset, DIRBLKSIZ); /* offset of start of block */ entrypos = offset & (DIRBLKSIZ - 1); /* entry relative to block */ blkbuf = (char *)dirp - entrypos; prevoff = blkoff; Modified: head/sys/ufs/ufs/ufs_lookup.c ============================================================================== --- head/sys/ufs/ufs/ufs_lookup.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/ufs/ufs/ufs_lookup.c Thu Apr 21 19:57:40 2016 (r298433) @@ -577,7 +577,7 @@ found: * in the cache as to where the entry was found. */ if ((flags & ISLASTCN) && nameiop == LOOKUP) - dp->i_diroff = i_offset &~ (DIRBLKSIZ - 1); + dp->i_diroff = rounddown2(i_offset, DIRBLKSIZ); /* * If deleting, and at end of pathname, return @@ -1100,7 +1100,7 @@ ufs_direnter(dvp, tvp, dirp, cnp, newdir if (dp->i_dirhash != NULL) ufsdirhash_checkblock(dp, dirbuf - (dp->i_offset & (DIRBLKSIZ - 1)), - dp->i_offset & ~(DIRBLKSIZ - 1)); + rounddown2(dp->i_offset, DIRBLKSIZ)); #endif if (DOINGSOFTDEP(dvp)) { @@ -1231,7 +1231,7 @@ ufs_dirremove(dvp, ip, flags, isrmdir) if (dp->i_dirhash != NULL) ufsdirhash_checkblock(dp, (char *)ep - ((dp->i_offset - dp->i_count) & (DIRBLKSIZ - 1)), - dp->i_offset & ~(DIRBLKSIZ - 1)); + rounddown2(dp->i_offset, DIRBLKSIZ)); #endif out: error = 0; Modified: head/sys/vm/phys_pager.c ============================================================================== --- head/sys/vm/phys_pager.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/vm/phys_pager.c Thu Apr 21 19:57:40 2016 (r298433) @@ -187,7 +187,7 @@ phys_pager_haspage(vm_object_t object, v { vm_pindex_t base, end; - base = pindex & (~(PHYSCLUSTER - 1)); + base = rounddown2(pindex, PHYSCLUSTER); end = base + (PHYSCLUSTER - 1); if (before != NULL) *before = pindex - base; Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Thu Apr 21 19:48:28 2016 (r298432) +++ head/sys/vm/vm_page.c Thu Apr 21 19:57:40 2016 (r298433) @@ -2157,8 +2157,8 @@ vm_page_scan_contig(u_long npages, vm_pa m_inc = atop(roundup2(pa, alignment) - pa); continue; } - if (((pa ^ (pa + ptoa(npages) - 1)) & ~(boundary - - 1)) != 0) { + if (rounddown2(pa ^ (pa + ptoa(npages) - 1), + boundary) != 0) { m_inc = atop(roundup2(pa, boundary) - pa); continue; } @@ -3495,7 +3495,7 @@ vm_page_set_valid_range(vm_page_t m, int * bit is clear, we have to zero out a portion of the * first block. */ - if ((frag = base & ~(DEV_BSIZE - 1)) != base && + if ((frag = rounddown2(base, DEV_BSIZE)) != base && (m->valid & (1 << (base >> DEV_BSHIFT))) == 0) pmap_zero_page_area(m, frag, base - frag); @@ -3505,7 +3505,7 @@ vm_page_set_valid_range(vm_page_t m, int * the last block. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***