Index: sys/sparc64/sparc64/machdep.c =================================================================== --- sys/sparc64/sparc64/machdep.c (wersja 228125) +++ sys/sparc64/sparc64/machdep.c (kopia robocza) @@ -1007,7 +1007,7 @@ pcb = td->td_pcb; tf = td->td_frame; - sp = rounddown(stack, 16); + sp = rounddown2(stack, 16); bzero(pcb, sizeof(*pcb)); bzero(tf, sizeof(*tf)); tf->tf_out[0] = stack; Index: sys/dev/firewire/sbp.c =================================================================== --- sys/dev/firewire/sbp.c (wersja 228125) +++ sys/dev/firewire/sbp.c (kopia robocza) @@ -161,7 +161,7 @@ #define NEED_RESPONSE 0 -#define SBP_SEG_MAX rounddown(0xffff, PAGE_SIZE) +#define SBP_SEG_MAX rounddown2(0xffff, PAGE_SIZE) #ifdef __sparc64__ /* iommu */ #define SBP_IND_MAX howmany(SBP_MAXPHYS, SBP_SEG_MAX) #else Index: sys/dev/msk/if_msk.c =================================================================== --- sys/dev/msk/if_msk.c (wersja 228125) +++ sys/dev/msk/if_msk.c (kopia robocza) @@ -1218,7 +1218,7 @@ * of 1024. Tx/Rx RAM buffer size of Yukon II should be multiple * of 1024. */ - sc->msk_rxqsize = rounddown((sc->msk_ramsize * 1024 * 2) / 3, 1024); + sc->msk_rxqsize = rounddown2((sc->msk_ramsize * 1024 * 2) / 3, 1024); sc->msk_txqsize = (sc->msk_ramsize * 1024) - sc->msk_rxqsize; for (i = 0, next = 0; i < sc->msk_num_port; i++) { sc->msk_rxqstart[i] = next; Index: sys/compat/x86bios/x86bios.c =================================================================== --- sys/compat/x86bios/x86bios.c (wersja 228125) +++ sys/compat/x86bios/x86bios.c (kopia robocza) @@ -687,7 +687,7 @@ if (x86bios_rom_phys != 0 && x86bios_rom_phys < X86BIOS_ROM_BASE && X86BIOS_ROM_BASE - x86bios_rom_phys <= 128 * 1024) x86bios_rom_phys = - rounddown(x86bios_rom_phys, X86BIOS_PAGE_SIZE); + rounddown2(x86bios_rom_phys, X86BIOS_PAGE_SIZE); else #else x86bios_ivt = malloc(X86BIOS_IVT_SIZE, M_DEVBUF, M_ZERO | M_WAITOK); Index: sys/amd64/include/pmap.h =================================================================== --- sys/amd64/include/pmap.h (wersja 228125) +++ sys/amd64/include/pmap.h (kopia robocza) @@ -139,7 +139,7 @@ #define PML4PML4I (NPML4EPG/2) /* Index of recursive pml4 mapping */ #define KPML4I (NPML4EPG-1) /* Top 512GB for KVM */ -#define DMPML4I rounddown(KPML4I - NDMPML4E, NDMPML4E) /* Below KVM */ +#define DMPML4I rounddown2(KPML4I - NDMPML4E, NDMPML4E) /* Below KVM */ #define KPDPI (NPDPEPG-2) /* kernbase at -2GB */ Index: sys/sys/param.h =================================================================== --- sys/sys/param.h (wersja 228125) +++ sys/sys/param.h (kopia robocza) @@ -273,7 +273,8 @@ #ifndef howmany #define howmany(x, y) (((x)+((y)-1))/(y)) #endif -#define rounddown(x, y) (((x)/(y))*(y)) +#define rounddown(x, y) (((x)/(y))*(y)) /* to any y */ +#define rounddown2(x, y) ((x)&(~((y)-1))) /* if y is power of two */ #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) /* to any y */ #define roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */ #define powerof2(x) ((((x)-1)&(x))==0)