From: Lennart Poettering Date: Wed, 10 Jan 2024 08:55:44 +0000 (+0100) Subject: Merge pull request #30839 from yuwata/detect-virt-google X-Git-Tag: v256-rc1~1218 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a795ec8100b05bf7a257b4ebf425541d7e3c6111;hp=f5812f337dcb04866a8ac86228d4556fe75b524a;p=thirdparty%2Fsystemd.git Merge pull request #30839 from yuwata/detect-virt-google detect-virt: add Google Compute Engine support --- diff --git a/man/systemd-detect-virt.xml b/man/systemd-detect-virt.xml index 9993ac77828..2239294145a 100644 --- a/man/systemd-detect-virt.xml +++ b/man/systemd-detect-virt.xml @@ -139,7 +139,7 @@ apple - Apple Virtualization.framework + Apple virtualization framework @@ -147,6 +147,11 @@ LMHS SRE hypervisor + + google + Google Compute Engine + + Container openvz diff --git a/src/basic/virt.c b/src/basic/virt.c index 2800f63f52d..9c1410886f4 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -169,22 +169,23 @@ static Virtualization detect_vm_dmi_vendor(void) { const char *vendor; Virtualization id; } dmi_vendor_table[] = { - { "KVM", VIRTUALIZATION_KVM }, - { "OpenStack", VIRTUALIZATION_KVM }, /* Detect OpenStack instance as KVM in non x86 architecture */ - { "KubeVirt", VIRTUALIZATION_KVM }, /* Detect KubeVirt instance as KVM in non x86 architecture */ - { "Amazon EC2", VIRTUALIZATION_AMAZON }, - { "QEMU", VIRTUALIZATION_QEMU }, - { "VMware", VIRTUALIZATION_VMWARE }, /* https://kb.vmware.com/s/article/1009458 */ - { "VMW", VIRTUALIZATION_VMWARE }, - { "innotek GmbH", VIRTUALIZATION_ORACLE }, - { "VirtualBox", VIRTUALIZATION_ORACLE }, - { "Xen", VIRTUALIZATION_XEN }, - { "Bochs", VIRTUALIZATION_BOCHS }, - { "Parallels", VIRTUALIZATION_PARALLELS }, + { "KVM", VIRTUALIZATION_KVM }, + { "OpenStack", VIRTUALIZATION_KVM }, /* Detect OpenStack instance as KVM in non x86 architecture */ + { "KubeVirt", VIRTUALIZATION_KVM }, /* Detect KubeVirt instance as KVM in non x86 architecture */ + { "Amazon EC2", VIRTUALIZATION_AMAZON }, + { "QEMU", VIRTUALIZATION_QEMU }, + { "VMware", VIRTUALIZATION_VMWARE }, /* https://kb.vmware.com/s/article/1009458 */ + { "VMW", VIRTUALIZATION_VMWARE }, + { "innotek GmbH", VIRTUALIZATION_ORACLE }, + { "VirtualBox", VIRTUALIZATION_ORACLE }, + { "Xen", VIRTUALIZATION_XEN }, + { "Bochs", VIRTUALIZATION_BOCHS }, + { "Parallels", VIRTUALIZATION_PARALLELS }, /* https://wiki.freebsd.org/bhyve */ - { "BHYVE", VIRTUALIZATION_BHYVE }, - { "Hyper-V", VIRTUALIZATION_MICROSOFT }, - { "Apple Virtualization", VIRTUALIZATION_APPLE }, + { "BHYVE", VIRTUALIZATION_BHYVE }, + { "Hyper-V", VIRTUALIZATION_MICROSOFT }, + { "Apple Virtualization", VIRTUALIZATION_APPLE }, + { "Google Compute Engine", VIRTUALIZATION_GOOGLE }, /* https://cloud.google.com/run/docs/container-contract#sandbox */ }; int r; @@ -1046,6 +1047,7 @@ static const char *const virtualization_table[_VIRTUALIZATION_MAX] = { [VIRTUALIZATION_POWERVM] = "powervm", [VIRTUALIZATION_APPLE] = "apple", [VIRTUALIZATION_SRE] = "sre", + [VIRTUALIZATION_GOOGLE] = "google", [VIRTUALIZATION_VM_OTHER] = "vm-other", [VIRTUALIZATION_SYSTEMD_NSPAWN] = "systemd-nspawn", diff --git a/src/basic/virt.h b/src/basic/virt.h index d49f3237e81..dea39e4e763 100644 --- a/src/basic/virt.h +++ b/src/basic/virt.h @@ -27,6 +27,7 @@ typedef enum Virtualization { VIRTUALIZATION_POWERVM, VIRTUALIZATION_APPLE, VIRTUALIZATION_SRE, + VIRTUALIZATION_GOOGLE, VIRTUALIZATION_VM_OTHER, VIRTUALIZATION_VM_LAST = VIRTUALIZATION_VM_OTHER,