[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] xen/arm: fix the build error for GIC on ARM64 QEMU Platform



Hi,

On 24/12/2021 13:24, Dongjiu Geng wrote:
when enable CONFIG_NEW_VGIC in ARM64 QEMU Platform, it will build failed.
so fix it and make it can select GICV2.

As I said in v1, last time I checked QEMU was only able to support virtualization with GICv3. This is why we added a depends on.

If you want to remove it, then I think you ought to explain in the commit message why this is fine. A pointer to the commit or a QEMU version used would be useful.


Signed-off-by: Dongjiu Geng <gengdongjiu1@xxxxxxxxx>
---
$ make dist-xen XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j10
make -C xen install
make[1]: Entering directory 
'/home/workspace/gengdongjiu/old_machine/XEN/xen/xen'
make -f /home/workspace/gengdongjiu/old_machine/XEN/xen/xen/tools/kconfig/Makefile.kconfig 
ARCH=arm64 SRCARCH=arm HOSTCC="gcc" HOSTCXX="g++" syncconfig
make[2]: Entering directory 
'/home/workspace/gengdongjiu/old_machine/XEN/xen/xen'
gcc -Wp,-MD,tools/kconfig/.conf.o.d      -c -o tools/kconfig/conf.o 
tools/kconfig/conf.c
gcc -Wp,-MD,tools/kconfig/.confdata.o.d      -c -o tools/kconfig/confdata.o 
tools/kconfig/confdata.c
gcc -Wp,-MD,tools/kconfig/.expr.o.d      -c -o tools/kconfig/expr.o 
tools/kconfig/expr.c
flex -otools/kconfig/lexer.lex.c -L tools/kconfig/lexer.l
bison -o tools/kconfig/parser.tab.c --defines=tools/kconfig/parser.tab.h -t -l 
tools/kconfig/parser.y
gcc -Wp,-MD,tools/kconfig/.preprocess.o.d      -c -o tools/kconfig/preprocess.o 
tools/kconfig/preprocess.c
gcc -Wp,-MD,tools/kconfig/.symbol.o.d      -c -o tools/kconfig/symbol.o 
tools/kconfig/symbol.c
gcc -Wp,-MD,tools/kconfig/.lexer.lex.o.d     -I 
/home/workspace/gengdongjiu/old_machine/XEN/xen/xen/tools/kconfig -c -o 
tools/kconfig/lexer.lex.o tools/kconfig/lexer.lex.c
gcc -Wp,-MD,tools/kconfig/.parser.tab.o.d     -I 
/home/workspace/gengdongjiu/old_machine/XEN/xen/xen/tools/kconfig -c -o 
tools/kconfig/parser.tab.o tools/kconfig/parser.tab.c
gcc  -o tools/kconfig/conf tools/kconfig/conf.o tools/kconfig/confdata.o 
tools/kconfig/expr.o tools/kconfig/lexer.lex.o tools/kconfig/parser.tab.o 
tools/kconfig/preprocess.o tools/kconfig/symbol.o
tools/kconfig/conf  --syncconfig Kconfig

WARNING: unmet direct dependencies detected for GICV3
   Depends on [n]: ARM_64 [=y] && !NEW_VGIC [=y]
   Selected by [y]:
   - QEMU [=y] && <choice> && ARM_64 [=y]

WARNING: unmet direct dependencies detected for GICV3
   Depends on [n]: ARM_64 [=y] && !NEW_VGIC [=y]
   Selected by [y]:
   - QEMU [=y] && <choice> && ARM_64 [=y]

WARNING: unmet direct dependencies detected for GICV3
   Depends on [n]: ARM_64 [=y] && !NEW_VGIC [=y]
   Selected by [y]:
   - QEMU [=y] && <choice> && ARM_64 [=y]
make[2]: Leaving directory '/home/workspace/gengdongjiu/old_machine/XEN/xen/xen'
make -f Rules.mk _install
make[2]: Entering directory 
'/home/workspace/gengdongjiu/old_machine/XEN/xen/xen'
---
  xen/arch/arm/Kconfig           | 5 +++--
  xen/arch/arm/platforms/Kconfig | 1 -
  2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index ecfa6822e4..373c698018 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig

The change in arch/arm/Kconfig is not really related to this patch. Technically the part in platforms/Kconfig is sufficient. I still think the change is good to have but it should be in a separate patch.

@@ -35,7 +35,7 @@ config ACPI
config GICV3
        bool "GICv3 driver"
-       depends on ARM_64 && !NEW_VGIC
+       depends on ARM_64
        default y
        ---help---
@@ -44,13 +44,14 @@ config GICV3 config HAS_ITS
          bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
-        depends on GICV3 && !NEW_VGIC
+        depends on GICV3
config HVM
          def_bool y
config NEW_VGIC
        bool "Use new VGIC implementation"
+       depends on !GICV3
        ---help---
This is an alternative implementation of the ARM GIC interrupt
diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
index c93a6b2756..6d3ee99456 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -15,7 +15,6 @@ config ALL_PLAT
  config QEMU
        bool "QEMU aarch virt machine support"
        depends on ARM_64
-       select GICV3
        select HAS_PL011
        ---help---
        Enable all the required drivers for QEMU aarch64 virt emulated

Cheers,

--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.