Is there a Linux cpu flag for Intel vPro technology?
Asked Answered
D

3

7

Does the Linux kernel provide a CPU flag in /proc/cpuinfo that indicates the processor supports Intel vPro technology? Specifically, I'd like to tell from within the operating system if the physical hardware supports Intel AMT, and then if its actually enabled or not. (I know that I can port scan TCP 16992, but that's messy!)

I'm hoping for something like the vmx flag, which notes Intel VT, or the rdrand flag, which notes Intel DRNG.

Doe answered 28/11, 2013 at 2:28 Comment(1)
Related: unix.stackexchange.com/questions/362686/…Downstate
B
6

No — vPro is a feature of the chipset and motherboard, not the CPU, so it does not appear in /proc/cpuinfo. (That file is largely a representation of the information CPUID returns about the processor.)

Keep in mind that vPro and AMT are not synonymous. vPro is a marketing term for a bundle which includes AMT, as well as a number of other security-related features (NX, VT and VT-d, TXT, a TPM installed...). In this respect, it's somewhat similar to the "Centrino" platform Intel used to market (which consisted of an Intel CPU, motherboard chipset, and wireless card).

Bet answered 28/11, 2013 at 2:49 Comment(1)
Okay, thanks for the helpful information about vPro vs. AMT. It helps to see that clarified. I guess it's odd to me that I can grab my CPU id out of /proc/cpuinfo, i7-3520M for instance, search the Intel website, pull up that CPU, and see that it has vPro there. I'm trying to do the same, from within a system.Doe
S
1

This is not an easy task, even in Windows. You can manually check ark.intel.com to see if a specific processor supports vPro, as you have noted, but to do it programmatically, it is more difficult.

There are APIs in the AMT SDK that you can call in order to get the current state of the system but AMT has to be enabled in order for those APIs to work.

From the OS, you can download the ACUConfig utility: https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=21941 and type in the following command: ./ACUConfig -- this will give you console status and information on the Client.

There are open source drivers for linux here: http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers

The AMT SDK is here: http://software.intel.com/en-us/articles/download-the-latest-intel-amt-software-development-kit-sdk/

Sheep answered 1/4, 2014 at 22:42 Comment(0)
A
1

linux-kvm page lists method to determine IOMMU activation for Intel: http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM

Intel Machine
dmesg | grep -e DMAR -e IOMMU
     ...
     DMAR:DRHD base: 0x000000feb03000 flags: 0x0
     IOMMU feb03000: ver 1:0 cap c9008020e30260 ecap 1000
     ...

Also, there is check for IOMMU via iommu_present(..) - drivers/iommu/iommu.c call from kvm_dev_ioctl_check_extension with KVM_CAP_IOMMU: arch/x86/kvm/x86.c line L2620

Abecedarian answered 1/4, 2014 at 23:38 Comment(1)
And since 2014 enabled IOMMUs are registered in sysfs /sys - stackoverflow.com/a/44286823 ls -l /sys/class/iommu/* by iommu_device_create / iommu_device_sysfs_add: elixir.free-electrons.com/linux/v4.11/ident/…Abecedarian

© 2022 - 2024 — McMap. All rights reserved.