#!/usr/bin/bash outdir= while getopts "o:" arg; do case ${arg} in o ) outdir=$OPTARG ;; \? ) echo "Usage: ./tests/data/acpi/disassemle-aml.sh [-o ]" 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 if [[ "${outdir}" ]]; then # iasl strips an extension from prefix if there. # since we have some files with . in the name, the # last component gets interpreted as an extension: # add another extension to work around that. prefix="-p ${outdir}/${aml}.dsl" else prefix="" fi iasl ${extra} ${prefix} -d ${aml} done done