]> xenbits.xensource.com Git - xen.git/commitdiff
tools: Fix ifdef for aarch64 that should include also arm
authorLuca Fancellu <luca.fancellu@arm.com>
Thu, 8 Jun 2023 13:59:12 +0000 (14:59 +0100)
committerJulien Grall <jgrall@amazon.com>
Tue, 4 Jul 2023 19:10:20 +0000 (20:10 +0100)
Commit 56a7aaa16bfe introduced some SVE related code that is protected by
'#if defined(__aarch64__)', the issue is that this doesn't take into
consideration when the toolstack is compiled for an arm32 Dom0 running on
an arm64 platform, it should be able to create SVE enabled guests but with
the current code it's not.

So fix the issue by compiling the code when the toolstack is compiled for
both arm32 and arm64.

Fixes: 56a7aaa16bfe ("tools: add physinfo arch_capabilities handling for Arm")
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
tools/include/xen-tools/arm-arch-capabilities.h
tools/python/xen/lowlevel/xc/xc.c
tools/xl/xl_info.c

index 3849e897925d8f9cf500496b445aa7d797593c83..4aa4c6c34a99356e0c4e8da6af0e88c4ed244019 100644 (file)
@@ -14,7 +14,7 @@
 static inline
 unsigned int arch_capabilities_arm_sve(unsigned int arch_capabilities)
 {
-#if defined(__aarch64__)
+#if defined(__arm__) || defined(__aarch64__)
     unsigned int sve_vl = MASK_EXTR(arch_capabilities,
                                     XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
 
index 491e88977fd3c5b126bff041d75a10b1a79ec173..e14e223ec903180a4ad659fce5106bbb4bad76ee 100644 (file)
@@ -911,7 +911,7 @@ static PyObject *pyxc_physinfo(XcObject *self)
                            "hw_caps",          cpu_cap,
                            "virt_caps",        virt_caps);
 
-#if defined(__aarch64__)
+#if defined(__arm__) || defined(__aarch64__)
     if ( objret ) {
         unsigned int sve_vl_bits;
         PyObject *py_arm_sve_vl;
index ddc42f96b97951d497830899ceed38b4c9968224..72e87eac46d11984870a01f979fcfacf1d969579 100644 (file)
@@ -226,7 +226,7 @@ static void output_physinfo(void)
         );
 
     /* Print arm SVE vector length only on ARM platforms */
-#if defined(__aarch64__)
+#if defined(__arm__) || defined(__aarch64__)
     maybe_printf("arm_sve_vector_length  : %u\n",
          arch_capabilities_arm_sve(info.arch_capabilities)
         );