Message ID | 20220125190650.107677-1-fontaine.fabrice@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] package/xvisor: drop arm support | expand |
On Tue, 25 Jan 2022 20:06:49 +0100 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: > Support for old 32-bit ARM boards (i.e. ARMv5, ARMv6, ARMv7a) without > virtualization has been dropped since > https://github.com/xvisor/xvisor/commit/9fcd69692484e0f6aa5036c27196f55c797582c5 > resulting in the following build failure since bump to version 0.3.1 in > commit c4f8b8968770ecbf6444a5921c6472f126717626: > > *** Can't find default configuration "/home/giuliobenetti/autobuild/run/instance-3/output-1/build/xvisor-0.3.1/arch/arm/configs/generic-v6-defconfig"! > > *** Can't find default configuration "/home/giuliobenetti/autobuild/run/instance-0/output-1/build/xvisor-0.3.1/arch/arm/configs/generic-v7-defconfig"! > > Fixes: > - http://autobuild.buildroot.org/results/1211bf6ff10c75815fa3ac320532fab5fe649a2b > - http://autobuild.buildroot.org/results/2bcbbb270df71d2489b7bc83e56c898c58cc90d2 > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > package/xvisor/Config.in | 6 +----- > package/xvisor/xvisor.mk | 2 +- > 2 files changed, 2 insertions(+), 6 deletions(-) I think this is based on a misunderstanding of the https://github.com/xvisor/xvisor/commit/9fcd69692484e0f6aa5036c27196f55c797582c5 commit. This commit says that they remove support for "ARM32 without virtualization support", but there are ARM32 cores with virtualization support! As explained in the commit log, the ARM32 cores that support the ARMv7ve instruction set are still supported by Xvisor. This means that Cortex-A7, Cortex-A12, Cortex-A15 and Cortex-A17, which are all ARM32 cores, are still supported by Xvisor. So this patch entirely dropping ARM32 from Xvisor isn't entirely correct. So, the change should be more like this: config BR2_PACKAGE_XVISOR_ARCH_SUPPORTS bool depends on BR2_USE_MMU default y if BR2_aarch64 default y if BR2_x86_64 default y if BR2_cortex_a7 || BR2_cortex_a12 || BR2_cortex_a15 || BR2_cortex_a17 config BR2_PACKAGE_XVISOR_DEFCONFIG string "Defconfig name" - default "generic-v5" if BR2_ARM_CPU_ARMV5 - default "generic-v6" if BR2_ARM_CPU_ARMV6 - default "generic-v7" if BR2_ARM_CPU_ARMV7A + default "generic-v7-ve" if BR2_ARM_CPU_ARMV7A default "generic-v8" if BR2_aarch64 default "x86_64_generic" if BR2_x86_64 What do you think ? Best regards, Thomas
Le mer. 26 janv. 2022 à 23:32, Thomas Petazzoni <thomas.petazzoni@bootlin.com> a écrit : > > On Tue, 25 Jan 2022 20:06:49 +0100 > Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: > > > Support for old 32-bit ARM boards (i.e. ARMv5, ARMv6, ARMv7a) without > > virtualization has been dropped since > > https://github.com/xvisor/xvisor/commit/9fcd69692484e0f6aa5036c27196f55c797582c5 > > resulting in the following build failure since bump to version 0.3.1 in > > commit c4f8b8968770ecbf6444a5921c6472f126717626: > > > > *** Can't find default configuration "/home/giuliobenetti/autobuild/run/instance-3/output-1/build/xvisor-0.3.1/arch/arm/configs/generic-v6-defconfig"! > > > > *** Can't find default configuration "/home/giuliobenetti/autobuild/run/instance-0/output-1/build/xvisor-0.3.1/arch/arm/configs/generic-v7-defconfig"! > > > > Fixes: > > - http://autobuild.buildroot.org/results/1211bf6ff10c75815fa3ac320532fab5fe649a2b > > - http://autobuild.buildroot.org/results/2bcbbb270df71d2489b7bc83e56c898c58cc90d2 > > > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > > --- > > package/xvisor/Config.in | 6 +----- > > package/xvisor/xvisor.mk | 2 +- > > 2 files changed, 2 insertions(+), 6 deletions(-) > > I think this is based on a misunderstanding of the > https://github.com/xvisor/xvisor/commit/9fcd69692484e0f6aa5036c27196f55c797582c5 > commit. This commit says that they remove support for "ARM32 without > virtualization support", but there are ARM32 cores with virtualization > support! As explained in the commit log, the ARM32 cores that support > the ARMv7ve instruction set are still supported by Xvisor. > > This means that Cortex-A7, Cortex-A12, Cortex-A15 and Cortex-A17, which > are all ARM32 cores, are still supported by Xvisor. So this patch > entirely dropping ARM32 from Xvisor isn't entirely correct. > > So, the change should be more like this: > > config BR2_PACKAGE_XVISOR_ARCH_SUPPORTS > bool > depends on BR2_USE_MMU > default y if BR2_aarch64 > default y if BR2_x86_64 > default y if BR2_cortex_a7 || BR2_cortex_a12 || BR2_cortex_a15 || BR2_cortex_a17 > > config BR2_PACKAGE_XVISOR_DEFCONFIG > string "Defconfig name" > - default "generic-v5" if BR2_ARM_CPU_ARMV5 > - default "generic-v6" if BR2_ARM_CPU_ARMV6 > - default "generic-v7" if BR2_ARM_CPU_ARMV7A > + default "generic-v7-ve" if BR2_ARM_CPU_ARMV7A > default "generic-v8" if BR2_aarch64 > default "x86_64_generic" if BR2_x86_64 > > What do you think ? You have more knowledge than me on ARM32. I'll send a v2 of the serie. > > Best regards, > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com Best Regards, Fabrice
diff --git a/package/xvisor/Config.in b/package/xvisor/Config.in index eb7475b86d..55c43e6959 100644 --- a/package/xvisor/Config.in +++ b/package/xvisor/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_XVISOR_ARCH_SUPPORTS bool default y depends on BR2_USE_MMU - depends on BR2_arm || BR2_aarch64 || BR2_x86_64 - depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV7M + depends on BR2_aarch64 || BR2_x86_64 menuconfig BR2_PACKAGE_XVISOR bool "xvisor" @@ -32,9 +31,6 @@ endchoice config BR2_PACKAGE_XVISOR_DEFCONFIG string "Defconfig name" - default "generic-v5" if BR2_ARM_CPU_ARMV5 - default "generic-v6" if BR2_ARM_CPU_ARMV6 - default "generic-v7" if BR2_ARM_CPU_ARMV7A default "generic-v8" if BR2_aarch64 default "x86_64_generic" if BR2_x86_64 depends on BR2_PACKAGE_XVISOR_USE_DEFCONFIG diff --git a/package/xvisor/xvisor.mk b/package/xvisor/xvisor.mk index dc49258400..4ceb5ed7cb 100644 --- a/package/xvisor/xvisor.mk +++ b/package/xvisor/xvisor.mk @@ -30,7 +30,7 @@ XVISOR_KCONFIG_EDITORS = menuconfig ifeq ($(BR2_x86_64),y) XVISOR_ARCH = x86 -else ifeq ($(BR2_arm)$(BR2_aarch64),y) +else ifeq ($(BR2_aarch64),y) XVISOR_ARCH = arm endif
Support for old 32-bit ARM boards (i.e. ARMv5, ARMv6, ARMv7a) without virtualization has been dropped since https://github.com/xvisor/xvisor/commit/9fcd69692484e0f6aa5036c27196f55c797582c5 resulting in the following build failure since bump to version 0.3.1 in commit c4f8b8968770ecbf6444a5921c6472f126717626: *** Can't find default configuration "/home/giuliobenetti/autobuild/run/instance-3/output-1/build/xvisor-0.3.1/arch/arm/configs/generic-v6-defconfig"! *** Can't find default configuration "/home/giuliobenetti/autobuild/run/instance-0/output-1/build/xvisor-0.3.1/arch/arm/configs/generic-v7-defconfig"! Fixes: - http://autobuild.buildroot.org/results/1211bf6ff10c75815fa3ac320532fab5fe649a2b - http://autobuild.buildroot.org/results/2bcbbb270df71d2489b7bc83e56c898c58cc90d2 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- package/xvisor/Config.in | 6 +----- package/xvisor/xvisor.mk | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-)