···9090 return (*(volatile u32 *)reg);9191}92929393-/* These next three functions should be a generic part of the MIPS9494- * kernel (with the 'au_' removed from the name) and selected for9595- * processors that support the instructions.9696- * Taken from PPC tree. -- Dan9797- */9898-/* Return the bit position of the most significant 1 bit in a word */9999-static __inline__ int __ilog2(unsigned int x)100100-{101101- int lz;102102-103103- asm volatile (104104- ".set\tnoreorder\n\t"105105- ".set\tnoat\n\t"106106- ".set\tmips32\n\t"107107- "clz\t%0,%1\n\t"108108- ".set\tmips0\n\t"109109- ".set\tat\n\t"110110- ".set\treorder"111111- : "=r" (lz)112112- : "r" (x));113113-114114- return 31 - lz;115115-}1169311794static __inline__ int au_ffz(unsigned int x)11895{