c0cff7
From 54c2ad4a764658ec8a9aadc52c749eabf1de73a0 Mon Sep 17 00:00:00 2001
c0cff7
From: "Richard W.M. Jones" <rjones@redhat.com>
c0cff7
Date: Thu, 5 Jan 2023 12:34:02 +0000
c0cff7
Subject: [PATCH] Detect OCI containers
c0cff7
c0cff7
Podman using OCI containers sets container=oci in PID 1's environment.
c0cff7
Detect that and print "oci" fact.
c0cff7
c0cff7
This patch was originally contributed by Alessandro Valentini.  I
c0cff7
modified it and added tests and documentation.
c0cff7
c0cff7
Reported-by: Alessandro Valentini
c0cff7
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2155233
c0cff7
---
c0cff7
 configure.ac                          |   2 +
c0cff7
 tests/oci/Makefile.am                 |  28 ++
c0cff7
 tests/oci/proc/1/environ              | Bin 0 -> 124 bytes
c0cff7
 tests/oci/proc/cpuinfo                | 671 ++++++++++++++++++++++++++
c0cff7
 tests/oci/sbin/dmidecode              |   7 +
c0cff7
 tests/oci/sbin/uname                  |   2 +
c0cff7
 tests/oci/sbin/virt-what-cpuid-helper |   2 +
c0cff7
 tests/oci/test.sh                     |  32 ++
c0cff7
 virt-what.in                          |   6 +
c0cff7
 virt-what.pod                         |   8 +-
c0cff7
 10 files changed, 757 insertions(+), 1 deletion(-)
c0cff7
 create mode 100644 tests/oci/Makefile.am
c0cff7
 create mode 100644 tests/oci/proc/1/environ
c0cff7
 create mode 100644 tests/oci/proc/cpuinfo
c0cff7
 create mode 100755 tests/oci/sbin/dmidecode
c0cff7
 create mode 100755 tests/oci/sbin/uname
c0cff7
 create mode 100755 tests/oci/sbin/virt-what-cpuid-helper
c0cff7
 create mode 100755 tests/oci/test.sh
c0cff7
c0cff7
diff --git a/configure.ac b/configure.ac
c0cff7
index 8f808a38b..a80a4b6f0 100644
c0cff7
--- a/configure.ac
c0cff7
+++ b/configure.ac
c0cff7
@@ -56,6 +56,7 @@ tests="\
c0cff7
 	lx86 \
c0cff7
 	lxc \
c0cff7
 	nutanix-ahv \
c0cff7
+	oci \
c0cff7
 	parallels-desktop \
c0cff7
 	podman \
c0cff7
 	ppc64-baremetal \
c0cff7
@@ -104,6 +105,7 @@ AC_CONFIG_FILES([Makefile
c0cff7
 	         tests/lx86/Makefile
c0cff7
 	         tests/lxc/Makefile
c0cff7
 	         tests/nutanix-ahv/Makefile
c0cff7
+	         tests/oci/Makefile
c0cff7
 	         tests/parallels-desktop/Makefile
c0cff7
 	         tests/podman/Makefile
c0cff7
 	         tests/ppc64-baremetal/Makefile
c0cff7
diff --git a/tests/oci/Makefile.am b/tests/oci/Makefile.am
c0cff7
new file mode 100644
c0cff7
index 000000000..b2f6f2469
c0cff7
--- /dev/null
c0cff7
+++ b/tests/oci/Makefile.am
c0cff7
@@ -0,0 +1,28 @@
c0cff7
+# Makefile for virt-what
c0cff7
+# Copyright (C) 2008-2023 Red Hat Inc.
c0cff7
+#
c0cff7
+# This program is free software; you can redistribute it and/or modify
c0cff7
+# it under the terms of the GNU General Public License as published by
c0cff7
+# the Free Software Foundation; either version 2 of the License, or
c0cff7
+# (at your option) any later version.
c0cff7
+#
c0cff7
+# This program is distributed in the hope that it will be useful,
c0cff7
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
c0cff7
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
c0cff7
+# GNU General Public License for more details.
c0cff7
+#
c0cff7
+# You should have received a copy of the GNU General Public License
c0cff7
+# along with this program; if not, write to the Free Software
c0cff7
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
c0cff7
+
c0cff7
+CLEANFILES = *~
c0cff7
+
c0cff7
+TESTS = test.sh
c0cff7
+
c0cff7
+EXTRA_DIST = \
c0cff7
+	test.sh \
c0cff7
+	proc/1/environ \
c0cff7
+	proc/cpuinfo \
c0cff7
+	sbin/dmidecode \
c0cff7
+	sbin/uname \
c0cff7
+	sbin/virt-what-cpuid-helper
c0cff7
diff --git a/tests/oci/proc/1/environ b/tests/oci/proc/1/environ
c0cff7
new file mode 100644
c0cff7
index 0000000000000000000000000000000000000000..03d40a45377eaeccef15532734d2f5b7fd42234e
c0cff7
GIT binary patch
c0cff7
literal 124
c0cff7
zcmWG=4DqnlFD)+8&&f|t%+W7S%FMGu;={QJ39t}^3uH2cxCZ&!R+OX`
c0cff7
r=A{
c0cff7
c0cff7
literal 0
c0cff7
HcmV?d00001
c0cff7
c0cff7
diff --git a/tests/oci/proc/cpuinfo b/tests/oci/proc/cpuinfo
c0cff7
new file mode 100644
c0cff7
index 000000000..82b147bb4
c0cff7
--- /dev/null
c0cff7
+++ b/tests/oci/proc/cpuinfo
c0cff7
@@ -0,0 +1,671 @@
c0cff7
+processor	: 0
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 0
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 0
c0cff7
+initial apicid	: 0
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 1
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 1
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 2
c0cff7
+initial apicid	: 2
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 2
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 2
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 4
c0cff7
+initial apicid	: 4
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 3
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 4
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 8
c0cff7
+initial apicid	: 8
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 4
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 5
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 10
c0cff7
+initial apicid	: 10
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 5
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 6
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 12
c0cff7
+initial apicid	: 12
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 6
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2194.032
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 8
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 16
c0cff7
+initial apicid	: 16
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 7
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 9
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 18
c0cff7
+initial apicid	: 18
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 8
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 10
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 20
c0cff7
+initial apicid	: 20
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 9
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 12
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 24
c0cff7
+initial apicid	: 24
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 10
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 13
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 26
c0cff7
+initial apicid	: 26
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 11
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 14
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 28
c0cff7
+initial apicid	: 28
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 12
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2194.248
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 0
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 1
c0cff7
+initial apicid	: 1
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 13
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 3973.398
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 1
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 3
c0cff7
+initial apicid	: 3
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 14
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 2
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 5
c0cff7
+initial apicid	: 5
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 15
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 4
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 9
c0cff7
+initial apicid	: 9
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 16
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 5
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 11
c0cff7
+initial apicid	: 11
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 17
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 6
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 13
c0cff7
+initial apicid	: 13
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 18
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2195.748
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 8
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 17
c0cff7
+initial apicid	: 17
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 19
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 9
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 19
c0cff7
+initial apicid	: 19
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 20
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2196.733
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 10
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 21
c0cff7
+initial apicid	: 21
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 21
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 12
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 25
c0cff7
+initial apicid	: 25
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 22
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2200.000
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 13
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 27
c0cff7
+initial apicid	: 27
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
+
c0cff7
+processor	: 23
c0cff7
+vendor_id	: AuthenticAMD
c0cff7
+cpu family	: 23
c0cff7
+model		: 113
c0cff7
+model name	: AMD Ryzen 9 3900X 12-Core Processor
c0cff7
+stepping	: 0
c0cff7
+microcode	: 0x8701013
c0cff7
+cpu MHz		: 2194.867
c0cff7
+cache size	: 512 KB
c0cff7
+physical id	: 0
c0cff7
+siblings	: 24
c0cff7
+core id		: 14
c0cff7
+cpu cores	: 12
c0cff7
+apicid		: 29
c0cff7
+initial apicid	: 29
c0cff7
+fpu		: yes
c0cff7
+fpu_exception	: yes
c0cff7
+cpuid level	: 16
c0cff7
+wp		: yes
c0cff7
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
c0cff7
+bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed
c0cff7
+bogomips	: 7585.66
c0cff7
+TLB size	: 3072 4K pages
c0cff7
+clflush size	: 64
c0cff7
+cache_alignment	: 64
c0cff7
+address sizes	: 43 bits physical, 48 bits virtual
c0cff7
+power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
c0cff7
diff --git a/tests/oci/sbin/dmidecode b/tests/oci/sbin/dmidecode
c0cff7
new file mode 100755
c0cff7
index 000000000..48a6de126
c0cff7
--- /dev/null
c0cff7
+++ b/tests/oci/sbin/dmidecode
c0cff7
@@ -0,0 +1,7 @@
c0cff7
+#!/bin/sh -
c0cff7
+cat <<'EOF'
c0cff7
+# dmidecode 3.3
c0cff7
+Scanning /dev/mem for entry point.
c0cff7
+/dev/mem: No such file or directory
c0cff7
+EOF
c0cff7
+exit 1
c0cff7
diff --git a/tests/oci/sbin/uname b/tests/oci/sbin/uname
c0cff7
new file mode 100755
c0cff7
index 000000000..ab0ec896d
c0cff7
--- /dev/null
c0cff7
+++ b/tests/oci/sbin/uname
c0cff7
@@ -0,0 +1,2 @@
c0cff7
+#!/bin/sh -
c0cff7
+echo x86_64
c0cff7
diff --git a/tests/oci/sbin/virt-what-cpuid-helper b/tests/oci/sbin/virt-what-cpuid-helper
c0cff7
new file mode 100755
c0cff7
index 000000000..481e1e67c
c0cff7
--- /dev/null
c0cff7
+++ b/tests/oci/sbin/virt-what-cpuid-helper
c0cff7
@@ -0,0 +1,2 @@
c0cff7
+#!/bin/sh -
c0cff7
+# no output
c0cff7
diff --git a/tests/oci/test.sh b/tests/oci/test.sh
c0cff7
new file mode 100755
c0cff7
index 000000000..5028ebc60
c0cff7
--- /dev/null
c0cff7
+++ b/tests/oci/test.sh
c0cff7
@@ -0,0 +1,32 @@
c0cff7
+# Test for OCI
c0cff7
+# Copyright (C) 2008-2023 Red Hat Inc.
c0cff7
+#
c0cff7
+# This program is free software; you can redistribute it and/or modify
c0cff7
+# it under the terms of the GNU General Public License as published by
c0cff7
+# the Free Software Foundation; either version 2 of the License, or
c0cff7
+# (at your option) any later version.
c0cff7
+#
c0cff7
+# This program is distributed in the hope that it will be useful,
c0cff7
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
c0cff7
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
c0cff7
+# GNU General Public License for more details.
c0cff7
+#
c0cff7
+# You should have received a copy of the GNU General Public License
c0cff7
+# along with this program; if not, write to the Free Software
c0cff7
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
c0cff7
+
c0cff7
+output="$(PATH=../..:$PATH virt-what --test-root=. 2>&1)"
c0cff7
+expected="oci"
c0cff7
+
c0cff7
+if [ "$output" != "$expected" ]; then
c0cff7
+    echo "$0: test failed because output did not match expected"
c0cff7
+    echo "Expected output was:"
c0cff7
+    echo "----------------------------------------"
c0cff7
+    echo "$expected"
c0cff7
+    echo "----------------------------------------"
c0cff7
+    echo "But the actual output of the program was:"
c0cff7
+    echo "----------------------------------------"
c0cff7
+    echo "$output"
c0cff7
+    echo "----------------------------------------"
c0cff7
+    exit 1
c0cff7
+fi
c0cff7
diff --git a/virt-what.in b/virt-what.in
c0cff7
index c6e4a1e00..102e23f67 100644
c0cff7
--- a/virt-what.in
c0cff7
+++ b/virt-what.in
c0cff7
@@ -192,6 +192,12 @@ if [ -f "${root}/.dockerenv" ] || [ -f "${root}/.dockerinit" ] || \
c0cff7
     echo docker
c0cff7
 fi
c0cff7
 
c0cff7
+# Check for OCI.
c0cff7
+if [ -e "${root}/proc/1/environ" ] &&
c0cff7
+    cat "${root}/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container=oci'; then
c0cff7
+    echo oci
c0cff7
+fi
c0cff7
+
c0cff7
 # Check for Podman.
c0cff7
 if [ -e "${root}/proc/1/environ" ] &&
c0cff7
     cat "${root}/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container=podman'; then
c0cff7
diff --git a/virt-what.pod b/virt-what.pod
c0cff7
index 2c346bded..9dbc079f9 100644
c0cff7
--- a/virt-what.pod
c0cff7
+++ b/virt-what.pod
c0cff7
@@ -203,6 +203,12 @@ The guest is running inside Nutanix Acropolis Hypervisor (AHV).
c0cff7
 
c0cff7
 Status: confirmed by RWMJ.
c0cff7
 
c0cff7
+=item B<oci>
c0cff7
+
c0cff7
+The guest is running in an OCI container.
c0cff7
+
c0cff7
+Status: contributed by Alessandro Valentini, confirmed by RWMJ
c0cff7
+
c0cff7
 =item B<openvz>
c0cff7
 
c0cff7
 The guest appears to be running inside an OpenVZ or Virtuozzo
c0cff7
@@ -226,7 +232,7 @@ Status: contributed by Justin Clift
c0cff7
 
c0cff7
 =item B<podman>
c0cff7
 
c0cff7
-This is a Podman container.
c0cff7
+This is a Podman container.  (See also C<oci> above.)
c0cff7
 
c0cff7
 Status: contributed by Jordan Webb
c0cff7
 
c0cff7
-- 
c0cff7
2.31.1
c0cff7