diff mbox series

[1/2] package/xvisor: drop arm support

Message ID 20220125190650.107677-1-fontaine.fabrice@gmail.com
State Superseded
Headers show
Series [1/2] package/xvisor: drop arm support | expand

Commit Message

Fabrice Fontaine Jan. 25, 2022, 7:06 p.m. UTC
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(-)

Comments

Thomas Petazzoni Jan. 26, 2022, 10:32 p.m. UTC | #1
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
Fabrice Fontaine Jan. 26, 2022, 10:38 p.m. UTC | #2
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 mbox series

Patch

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