diff options
author | 2014-07-09 18:31:34 +0000 | |
---|---|---|
committer | 2014-07-09 18:31:34 +0000 | |
commit | cc12d4dd3d100f4d6c4da33b65b7df9927f5b01e (patch) | |
tree | 1091d0af977366067f08380dd8dad5f9bb899d31 | |
parent | Minor cleanups (diff) | |
download | wireguard-openbsd-cc12d4dd3d100f4d6c4da33b65b7df9927f5b01e.tar.xz wireguard-openbsd-cc12d4dd3d100f4d6c4da33b65b7df9927f5b01e.zip |
Add ffs routine needed for upcoming octhci interrupt routine.
Okay miod@
-rw-r--r-- | sys/arch/octeon/include/octeonvar.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/arch/octeon/include/octeonvar.h b/sys/arch/octeon/include/octeonvar.h index 06192de024e..7457466f6f6 100644 --- a/sys/arch/octeon/include/octeonvar.h +++ b/sys/arch/octeon/include/octeonvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: octeonvar.h,v 1.17 2014/06/17 01:33:04 jmatthew Exp $ */ +/* $OpenBSD: octeonvar.h,v 1.18 2014/07/09 18:31:34 pirofti Exp $ */ /* $NetBSD: maltavar.h,v 1.3 2002/03/18 10:10:16 simonb Exp $ */ /*- @@ -308,6 +308,19 @@ ffs64(uint64_t val) return 64 - ret; } +static inline int +ffs32(uint32_t val) +{ + int ret; + + __asm __volatile ( \ + _ASM_PROLOGUE_MIPS64 + " clz %0, %1 \n" + _ASM_EPILOGUE + : "=r"(ret) : "r"(val)); + return 32 - ret; +} + static inline uint64_t octeon_xkphys_read_8(paddr_t address) { |