svn commit: r541126 - head/devel/libvirt/files
Mikael Urankar
mikael at FreeBSD.org
Fri Jul 3 17:59:50 UTC 2020
Author: mikael
Date: Fri Jul 3 17:59:49 2020
New Revision: 541126
URL: https://svnweb.freebsd.org/changeset/ports/541126
Log:
devel/libvirt: fix build on arm
PR: 247722
Approved by: novel (maintainer)
Added:
head/devel/libvirt/files/patch-src_cpu_cpu__arm.c (contents, props changed)
Added: head/devel/libvirt/files/patch-src_cpu_cpu__arm.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/libvirt/files/patch-src_cpu_cpu__arm.c Fri Jul 3 17:59:49 2020 (r541126)
@@ -0,0 +1,39 @@
+--- src/cpu/cpu_arm.c.orig 2020-07-02 18:19:46 UTC
++++ src/cpu/cpu_arm.c
+@@ -22,7 +22,9 @@
+
+ #include <config.h>
+ #if defined(__aarch64__)
+-# include <asm/hwcap.h>
++# if defined(__linux__)
++# include <asm/hwcap.h>
++# endif
+ # include <sys/auxv.h>
+ #endif
+
+@@ -518,11 +520,13 @@ virCPUarmCpuDataFromRegs(virCPUarmData *data)
+ int cpu_feature_index = 0;
+ size_t i;
+
++#if defined(__linux__)
+ if (!(getauxval(AT_HWCAP) & HWCAP_CPUID)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("CPUID registers unavailable"));
+ return -1;
+ }
++#endif
+
+ /* read the cpuid data from MIDR_EL1 register */
+ asm("mrs %0, MIDR_EL1" : "=r" (cpuid));
+@@ -533,7 +537,11 @@ virCPUarmCpuDataFromRegs(virCPUarmData *data)
+ /* parse the coresponding vendor_id bits */
+ data->vendor_id = (cpuid >> 24) & 0xff;
+
++#if defined(__linux__)
+ hwcaps = getauxval(AT_HWCAP);
++#elif defined(__FreeBSD__)
++ elf_aux_info(AT_HWCAP, &hwcaps, sizeof(u_long));
++#endif
+ VIR_DEBUG("CPU flags read from register: 0x%016lx", hwcaps);
+
+ features = g_new0(char *, MAX_CPU_FLAGS + 1);
More information about the svn-ports-all
mailing list