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