qemu/tests/data/acpi/disassemle-aml.sh
Michael S. Tsirkin e6e68e32d2 tests: disassemble-aml.sh: generate AML in readable format
On systems where the IASL tool exists, we can convert
extected ACPI tables to ASL format, which is useful
for debugging and documentation purposes.
This script does this for all ACPI tables under tests/data/acpi/.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-07-01 08:13:43 -04:00

53 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/bash
outdir=
while getopts "o:" arg; do
case ${arg} in
o )
outdir=$OPTARG
;;
\? )
echo "Usage: ./tests/data/acpi/disassemle-aml.sh [-o <output-directory>]"
exit 1
;;
esac
done
for machine in tests/data/acpi/*
do
if [[ ! -d "$machine" ]];
then
continue
fi
if [[ "${outdir}" ]];
then
mkdir -p "${outdir}"/${machine} || exit $?
fi
for aml in $machine/*
do
if [[ "$aml" == $machine/*.dsl ]];
then
continue
fi
if [[ "$aml" == $machine/SSDT*.* ]];
then
dsdt=${aml/SSDT*./DSDT.}
extra="-e ${dsdt}"
elif [[ "$aml" == $machine/SSDT* ]];
then
dsdt=${aml/SSDT*/DSDT};
extra="-e ${dsdt}"
else
extra=""
fi
asl=${aml}.dsl
if [[ "${outdir}" ]];
then
asl="${outdir}"/${machine}/${asl}
fi
iasl -d -p ${asl} ${extra} ${aml}
done
done