--- src/arch/mips/kernel/unaligned.c 2006-09-20 11:42:06.000000000 +0800 +++ pmc/arch/mips/kernel/unaligned.c 2007-05-15 18:30:33.000000000 +0800 @@ -239,7 +239,7 @@ break; case lwu_op: -#ifdef CONFIG_64BIT +#if (defined (CONFIG_64BIT) || defined (CONFIG_CPU_GODSON2) ) /* * A 32-bit kernel might be running on a 64-bit processor. But * if we're on a 32-bit processor and an i-cache incoherency @@ -283,7 +283,7 @@ goto sigill; case ld_op: -#ifdef CONFIG_64BIT +#if (defined (CONFIG_64BIT) || defined (CONFIG_CPU_GODSON2) ) /* * A 32-bit kernel might be running on a 64-bit processor. But * if we're on a 32-bit processor and an i-cache incoherency @@ -293,6 +293,7 @@ */ if (!access_ok(VERIFY_READ, addr, 8)) goto sigbus; + //printk(KERN_EMERG "ld after access\n"); __asm__ __volatile__ ( #ifdef __BIG_ENDIAN @@ -391,7 +392,7 @@ break; case sd_op: -#ifdef CONFIG_64BIT +#if (defined (CONFIG_64BIT) || defined (CONFIG_CPU_GODSON2) ) /* * A 32-bit kernel might be running on a 64-bit processor. But * if we're on a 32-bit processor and an i-cache incoherency