On Thu, 11 Jun 2020 12:51:16 -0400 "Michael S. Tsirkin" <[email protected]> wrote:
subj: s/asm/asl/ > 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/. for debugging I usually use V=1 env var with test/make check, as it gives me all diffs vs current blobs. And it's on rare occasion that I go and decompile ASL file myself, since test already did that for tables that didn't match. > > Signed-off-by: Michael S. Tsirkin <[email protected]> > --- > tests/data/acpi/disassemle-aml.sh | 52 +++++++++++++++++++++++++++++++ > 1 file changed, 52 insertions(+) > create mode 100755 tests/data/acpi/disassemle-aml.sh > > diff --git a/tests/data/acpi/disassemle-aml.sh > b/tests/data/acpi/disassemle-aml.sh > new file mode 100755 > index 0000000000..42a1b51df0 > --- /dev/null > +++ b/tests/data/acpi/disassemle-aml.sh > @@ -0,0 +1,52 @@ > +#!/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
