On Wed, May 13, 2015 at 04:17:13PM +0100, James Hogan wrote: > The MIPS_CPU_* definitions accidentally missed bits 27..30 when > MIPS_CPU_EVA was added, and further definitions have continued from > there. > > Shift all the definitions since MIPS_CPU_EVA right by 4 so there are no > gaps. I like the patches but I think there is a bit more cleanup to be done here. For one, we're using long longs to store the CPU feature flags and while recent versions of GCC appear to be smarter, older versions used to load both 32 bit words of a long long into a register for any kind of arithmetic or test on the value. So I'd be happy if we could go back to sorting bits in an array of longs. And then maybe use test_bit() for testing the bits. And use an enum to number the bits. After solving the include ordering issue, that is ... Ralf