diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c index 0802124eff9f062ef295618604145830831ea1d4..1c8cae53403d922bafdfc29ccdeafa4334bae0c7 100644 --- a/src/util/virsysinfo.c +++ b/src/util/virsysinfo.c @@ -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 index 0000000000000000000000000000000000000000..0d63139357be94d6fc8b13b122039fbec0fc8d66 --- /dev/null +++ b/tests/sysinfodata/aarch64cpuinfo.data @@ -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 index 0000000000000000000000000000000000000000..518434d771b653a3c2bfe6610d8546929f82fd17 --- /dev/null +++ b/tests/sysinfodata/aarch64sysinfo.expect @@ -0,0 +1,10 @@ + + + 0 + AArch64 Processor rev 0 (aarch64) + + + 1 + AArch64 Processor rev 0 (aarch64) + + diff --git a/tests/sysinfotest.c b/tests/sysinfotest.c index 74c47005b88390adeed8f4b40257e5b27daaf4b1..6d287b1c7e3a94c25c90d7d5ff09110c4960da88 100644 --- a/tests/sysinfotest.c +++ b/tests/sysinfotest.c @@ -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)