ACPI DSDT/FADT的OEM ID
有些情况可以使用ACPI DSDT或FADT的OEM_ID/OEM_TABLEID中的下列信息。这是因为各管理程序中准备了客户端操作系统用的BIOS, FADT的OEM_ID/OEM_TABLEID中多数情况下也写有与管理程序相应的值。
例如,在RHEL5 Xen的情况下,可以使用下列shell脚本识别。
!/bin/bash
FADT=/proc/acpi/fadt
CAPABILITY=/proc/xen/capabilities
DD=/bin/dd
TR=/usr/bin/tr
if[-r$FADT];then
OEMID=$($DD if=$FADT bs=1 skip=10 count=6 2>/dev/null|$TR-d'')
OEM_TABLEID=$($DD if=$FADT bs=1 skip=16 count=8 2>/dev/null|$TR-d'')
case$OEMID/$OEM_TABLEID in
Xen/HVM|INTEL/int-xen)
echo hvm
exit 0;
esac
fi
if[-r$CAPABILITY];then
["$(<$CAPABILITY)"=control_d]&&echo dom0&&exit 0
echo pv;exit 0
fi
echo native