On Thu, Jan 27, 2011 at 11:14:16AM +0000, Richard Mortimer wrote: > > > On 27/01/2011 11:06, Daniel Hellstrom wrote: >> Signed-off-by: Daniel Hellstrom<daniel@xxxxxxxxxxx> >> --- >> arch/sparc/include/asm/psr.h | 51 ++++++++++++++++++++++++++++++++++++++++++ >> arch/sparc/kernel/cpu.c | 11 +++++--- >> 2 files changed, 58 insertions(+), 4 deletions(-) >> > ... > >> diff --git a/arch/sparc/kernel/cpu.c b/arch/sparc/kernel/cpu.c >> index 7925c54..bc8d5ef 100644 >> --- a/arch/sparc/kernel/cpu.c >> +++ b/arch/sparc/kernel/cpu.c >> @@ -318,15 +318,18 @@ void __cpuinit cpu_probe(void) >> int psr_impl, psr_vers, fpu_vers; >> int psr; >> >> - psr_impl = ((get_psr()>> 28)& 0xf); >> - psr_vers = ((get_psr()>> 24)& 0xf); >> + psr_impl = ((get_psr()& PSR_IMPL)>> PSR_IMPL_SHIFT); > This is going to break. If the top bit of psr_impl is set it > will get sign extended when the left shift is done. That would not matter as we use the " & PSR_IMPL" to clear the unused upper bits. So IMO the patch is correct. Sam -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html