]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Implement minimal sysinfo for AArch64 platforms.
authorPranavkumar Sawargaonkar <pranavkumar@linaro.org>
Tue, 8 Oct 2013 13:49:09 +0000 (19:19 +0530)
committerCole Robinson <crobinso@redhat.com>
Tue, 15 Oct 2013 20:59:43 +0000 (16:59 -0400)
Implement the bare minimal sysinfo for AArch64 platforms by
reading the CPU models from /proc/cpuinfo.

Signed-off-by: Anup Patel <anup.patel@linaro.org>
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
src/util/virsysinfo.c
tests/sysinfodata/aarch64cpuinfo.data [new file with mode: 0644]
tests/sysinfodata/aarch64sysinfo.expect [new file with mode: 0644]
tests/sysinfotest.c

index 0802124eff9f062ef295618604145830831ea1d4..1c8cae53403d922bafdfc29ccdeafa4334bae0c7 100644 (file)
@@ -244,7 +244,7 @@ no_memory:
     return NULL;
 }
 
-#elif defined(__arm__)
+#elif defined(__arm__) || defined(__aarch64__)
 static int
 virSysinfoParseSystem(const char *base, virSysinfoDefPtr ret)
 {
@@ -505,6 +505,7 @@ no_memory:
       defined(__i386__) ||   \
       defined(__amd64__) || \
       defined(__arm__) || \
+      defined(__aarch64__) || \
       defined(__powerpc__))
 virSysinfoDefPtr
 virSysinfoRead(void) {
diff --git a/tests/sysinfodata/aarch64cpuinfo.data b/tests/sysinfodata/aarch64cpuinfo.data
new file mode 100644 (file)
index 0000000..0d63139
--- /dev/null
@@ -0,0 +1,10 @@
+Processor      : AArch64 Processor rev 0 (aarch64)
+BogoMIPS       : 100.00
+
+Features       : fp asimd
+CPU architecture: AArch64
+CPU variant    : 0x0
+CPU part       : 0x000
+CPU revision   : 0
+
+Hardware       : Generic AArch64
diff --git a/tests/sysinfodata/aarch64sysinfo.expect b/tests/sysinfodata/aarch64sysinfo.expect
new file mode 100644 (file)
index 0000000..518434d
--- /dev/null
@@ -0,0 +1,10 @@
+<sysinfo type='smbios'>
+  <processor>
+    <entry name='socket_destination'>0</entry>
+    <entry name='type'>AArch64 Processor rev 0 (aarch64) </entry>
+  </processor>
+  <processor>
+    <entry name='socket_destination'>1</entry>
+    <entry name='type'>AArch64 Processor rev 0 (aarch64)</entry>
+  </processor>
+</sysinfo>
index 74c47005b88390adeed8f4b40257e5b27daaf4b1..6d287b1c7e3a94c25c90d7d5ff09110c4960da88 100644 (file)
@@ -43,7 +43,7 @@
 # if defined(__s390__) || defined(__s390x__) || \
      defined(__powerpc__) || defined(__powerpc64__) || \
      defined(__i386__) || defined(__x86_64__) || defined(__amd64__) || \
-     defined(__arm__)
+     defined(__arm__) || defined(__aarch64__)
 
 /* from sysinfo.c */
 void virSysinfoSetup(const char *decoder,
@@ -179,6 +179,18 @@ test_arm(void)
 }
 
 VIRT_TEST_MAIN(test_arm)
+# elif defined(__aarch64__)
+static int
+test_aarch64(void)
+{
+    return sysinfotest_run("aarch64 sysinfo",
+                           NULL,
+                           NULL,
+                           "/sysinfodata/aarch64cpuinfo.data",
+                           "/sysinfodata/aarch64sysinfo.expect");
+}
+
+VIRT_TEST_MAIN(test_aarch64)
 # else
 int
 main(void)