编译内核的时候出现了这个错误,也是很郁闷。经过查阅资料。这是由于
psci_smp_available() 函数只在SMP模式下能够使用。解决办法如下:
arch/arm/include/asm/psci.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/arm/include/asm/psci.h b/arch/arm/include/asm/psci.h index e3789fb02c9c..8ca5308a05d7 100644 --- a/arch/arm/include/asm/psci.h +++ b/arch/arm/include/asm/psci.h @@ -37,11 +37,15 @@ struct psci_operations { extern struct psci_operations psci_ops; extern struct smp_operations psci_smp_ops; -#if defined(CONFIG_SMP) && defined(CONFIG_ARM_PSCI) +#ifdef CONFIG_ARM_PSCI int psci_init(void); -bool psci_smp_available(void); #else static inline int psci_init(void) { return 0; } +#endif + +#if defined(CONFIG_SMP) && defined(CONFIG_ARM_PSCI) +bool psci_smp_available(void); +#else static inline bool psci_smp_available(void) { return false; } #endif