mod_unload modversions ARMv6 p2v8 中的 p2v8 代表什么?

What stands p2v8 in mod_unload modversions ARMv6 p2v8 for?

在为 qemu 编译内核后,我得到了很多如下所列的错误:

ipv6: version magic '3.18.11-hypriotos+ mod_unload modversions ARMv6 ' 
          should be '3.18.11-hypriotos+ mod_unload modversions ARMv6 p2v8 ' 

显然我的内核和 Hypriotos 内核有些不同。 p2v8 是什么意思?以及如何在我的内核中启用它?

arch/arm/include/asm/module.h. It's added when CONFIG_ARM_PATCH_PHYS_VIRT is set. So you obviously need this config to be enabled. You can read the description of this option in arch/arm/Kconfig

看看自己

但是请记住,如果您使用的内核源代码与用于主内核构建的内核源代码不同,那么即使您的模块已成功加载,您也可能会遇到奇怪的问题。

#define VERMAGIC_STRING                                                 \
    UTS_RELEASE "4.4.76 SMP mod_unload ARMv7 p2v8 " \
    MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT                     \
    MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS       \
    MODULE_ARCH_VERMAGIC
#endif