diff --git a/generator/actions_core.ml b/generator/actions_core.ml index 8fb5a665a..80c830239 100644 --- a/generator/actions_core.ml +++ b/generator/actions_core.ml @@ -9383,6 +9383,8 @@ with large files, such as the resulting squashfs will be over 3GB big." }; [["file_architecture"; "/bin-ppc64le-dynamic"]], "ppc64le"), []; InitISOFS, Always, TestResultString ( [["file_architecture"; "/bin-riscv64-dynamic"]], "riscv64"), []; + InitISOFS, Always, TestResultString ( + [["file_architecture"; "/bin-loongarch64-dynamic"]], "loongarch64"), []; InitISOFS, Always, TestResultString ( [["file_architecture"; "/bin-s390x-dynamic"]], "s390x"), []; InitISOFS, Always, TestResultString ( @@ -9405,6 +9407,8 @@ with large files, such as the resulting squashfs will be over 3GB big." }; [["file_architecture"; "/lib-ppc64le.so"]], "ppc64le"), []; InitISOFS, Always, TestResultString ( [["file_architecture"; "/lib-riscv64.so"]], "riscv64"), []; + InitISOFS, Always, TestResultString ( + [["file_architecture"; "/lib-loongarch64.so"]], "loongarch64"), []; InitISOFS, Always, TestResultString ( [["file_architecture"; "/lib-s390x.so"]], "s390x"), []; InitISOFS, Always, TestResultString ( @@ -9464,6 +9468,10 @@ Intel Itanium. 64 bit Power PC (little endian). +=item \"loongarch64\" + +64 bit LoongArch64 (little endian). + =item \"riscv32\" =item \"riscv64\" diff --git a/lib/appliance-cpu.c b/lib/appliance-cpu.c index 57745973c..8ce5084b0 100644 --- a/lib/appliance-cpu.c +++ b/lib/appliance-cpu.c @@ -87,6 +87,9 @@ guestfs_int_get_cpu_model (int kvm) #elif defined(__riscv) /* qemu-system-riscv64 (7.0) doesn't yet support -cpu max */ return NULL; +#elif defined(__loongarch64) + /* qemu-system-loongarch64 doesn't yet support -cpu max */ + return NULL; #else /* On most architectures we can use "max" to get the best possible CPU. * For recent qemu this should work even on TCG. diff --git a/test-data/Makefile.am b/test-data/Makefile.am index 12ec938e4..88cf4d5cc 100644 --- a/test-data/Makefile.am +++ b/test-data/Makefile.am @@ -38,6 +38,7 @@ image_files = \ $(srcdir)/binaries/bin-ppc64-dynamic \ $(srcdir)/binaries/bin-ppc64le-dynamic \ $(srcdir)/binaries/bin-riscv64-dynamic \ + $(srcdir)/binaries/bin-loongarch64-dynamic \ $(srcdir)/binaries/bin-s390x-dynamic \ $(srcdir)/binaries/bin-sparc-dynamic \ $(srcdir)/binaries/bin-win32.exe \ @@ -51,6 +52,7 @@ image_files = \ $(srcdir)/binaries/lib-ppc64.so \ $(srcdir)/binaries/lib-ppc64le.so \ $(srcdir)/binaries/lib-riscv64.so \ + $(srcdir)/binaries/lib-loongarch64.so \ $(srcdir)/binaries/lib-s390x.so \ $(srcdir)/binaries/lib-sparc.so \ $(srcdir)/binaries/lib-win32.dll \ diff --git a/test-data/binaries/Makefile.am b/test-data/binaries/Makefile.am index 3e5cec8f2..f2da92107 100644 --- a/test-data/binaries/Makefile.am +++ b/test-data/binaries/Makefile.am @@ -27,6 +27,7 @@ EXTRA_DIST = \ bin-ppc64-dynamic \ bin-ppc64le-dynamic \ bin-riscv64-dynamic \ + bin-loongarch64-dynamic \ bin-s390x-dynamic \ bin-sparc-dynamic \ bin-win32.exe \ @@ -40,6 +41,7 @@ EXTRA_DIST = \ lib-ppc64le.so \ lib-mipsel.so \ lib-riscv64.so \ + lib-loongarch64.so \ lib-s390x.so \ lib-sparc.so \ lib-win32.dll \ diff --git a/test-data/binaries/bin-loongarch64-dynamic b/test-data/binaries/bin-loongarch64-dynamic new file mode 100644 index 000000000..645a5744a Binary files /dev/null and b/test-data/binaries/bin-loongarch64-dynamic differ diff --git a/test-data/binaries/lib-loongarch64.so b/test-data/binaries/lib-loongarch64.so new file mode 100644 index 000000000..92ba69658 Binary files /dev/null and b/test-data/binaries/lib-loongarch64.so differ