解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题

最近在用arm-2014.05编译器编译Linux内核时,出现如下问题:

 Error: selected processor does not support ARM mode 'smc 0'

解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题_第1张图片

 

这是我使用的交叉编译器:

 

解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题_第2张图片

 

解决步骤:

(1)arch/arm/mach-exynos/include/mach/smc.h文件:

              在第54行和第69下面添加:

    __asm__ volatile (
       +       ".arch_extension sec\n"        //
        "smc    0\n"
        : "+r"(reg0), "+r"(reg1), "+r"(reg2), "+r"(reg3)
    );

解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题_第3张图片

 

(2)arch/arm/mach-exynos/sleep-exynos4.S文件:
              在第43行上面添加:

#ifdef   CONFIG_ARM_TRUSTZONE
          .arch_extension sec
#endif

解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题_第4张图片


(3)arch/arm/mach-exynos/idle-exynos4.S文件:
             在第47行上面添加:

#ifdef   CONFIG_ARM_TRUSTZONE
          .arch_extension sec
#endif


解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题_第5张图片

 

再次使用make zImage命令,发现出现新的错误:

Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/home/skyfall/kernel/kernel/iTop4412_Kernel_3.0/kernel/Makefile:140: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:953: recipe for target 'kernel' failed
解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题_第6张图片解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题_第7张图片解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题_第8张图片

这个问题我在是编译树莓派内核时遇到过,修改kernel/timeconst.pl文件内容,

将if (!defined(@val)) 改为if (!(@val))。

解决编译内核时“ Error: selected processor does not support ARM mode 'smc 0'”相关问题_第9张图片

再次编译即可。

 

你可能感兴趣的:(itop4412,ubuntu,4412)