From ff6d286902b4330a07e0d4a141751344257ef0c1 Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Mon, 19 Apr 2021 18:19:17 +0800 Subject: [PATCH 1/3] dmi: add LoongArch 64bit support --- src/udev/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/udev/meson.build b/src/udev/meson.build index cd0bb6653f..29ac85da12 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -133,7 +133,7 @@ udev_progs = [['ata_id/ata_id.c'], 'mtd_probe/mtd_probe.h', 'mtd_probe/probe_smartmedia.c']] -dmi_arches = ['x86', 'x86_64', 'aarch64', 'arm', 'ia64', 'mips'] +dmi_arches = ['x86', 'x86_64', 'aarch64', 'arm', 'ia64', 'loongarch64', 'mips'] if dmi_arches.contains(host_machine.cpu_family()) udev_progs += [['dmi_memory_id/dmi_memory_id.c']] endif From eebbd595f0de9505f4df3c3460ab36d46d8262f8 Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Fri, 5 Nov 2021 09:23:13 +0800 Subject: [PATCH 2/3] virt: add detection for LoongArch 64bit --- src/basic/virt.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/basic/virt.c b/src/basic/virt.c index 617439708d..156a19ee52 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -139,7 +139,7 @@ static int detect_vm_device_tree(void) { #endif } -#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) +#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__loongarch64) static int detect_vm_dmi_vendor(void) { static const char *const dmi_vendors[] = { "/sys/class/dmi/id/product_name", /* Test this before sys_vendor to detect KVM over QEMU */ @@ -226,10 +226,10 @@ static int detect_vm_smbios(void) { log_debug("DMI BIOS Extension table does not indicate virtualization."); return SMBIOS_VM_BIT_UNSET; } -#endif /* defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) */ +#endif /* defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__loongarch64) */ static int detect_vm_dmi(void) { -#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) +#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__loongarch64) int r; r = detect_vm_dmi_vendor(); From 646b01121a9cf2009768af2dac080940b9803624 Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Sat, 6 Nov 2021 16:29:45 +0800 Subject: [PATCH 3/3] test: add LoongArch 64bit testcase --- src/test/test-execute.c | 2 ++ test/test-execute/exec-personality-loongarch64.service | 7 +++++++ 2 files changed, 9 insertions(+) create mode 100644 test/test-execute/exec-personality-loongarch64.service diff --git a/src/test/test-execute.c b/src/test/test-execute.c index 5818adbb55..49629c6bc2 100644 --- a/src/test/test-execute.c +++ b/src/test/test-execute.c @@ -381,6 +381,8 @@ static void test_exec_personality(Manager *m) { #elif defined(__i386__) test(m, "exec-personality-x86.service", 0, CLD_EXITED); +#elif defined(__loongarch64) + test(m, "exec-personality-loongarch64.service", 0, CLD_EXITED); #else log_notice("Unknown personality, skipping %s", __func__); #endif diff --git a/test/test-execute/exec-personality-loongarch64.service b/test/test-execute/exec-personality-loongarch64.service new file mode 100644 index 0000000000..0531ad1164 --- /dev/null +++ b/test/test-execute/exec-personality-loongarch64.service @@ -0,0 +1,7 @@ +[Unit] +Description=Test for Personality=loongarch64 + +[Service] +ExecStart=/bin/sh -c 'echo $(uname -m); exit $(test $(uname -m) = "loongarch64")' +Type=oneshot +Personality=loongarch64