Some Unix systems (GuixSD, NixOS) do not install programs like Bash and Python to /usr/bin, and /usr/bin/env has to be used to locate these instead. Change-Id: I7546bcb881c532adc984577ecb0ee2ec4f2efe00 Signed-off-by: Yegor Timoshenko <yegortimoshenko@riseup.net> Reviewed-on: https://review.coreboot.org/28953 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| #
 | |
| # Copyright (C) 2007-2010 by coresystems GmbH
 | |
| #
 | |
| # This program is free software; you can redistribute it and/or modify
 | |
| # it under the terms of the GNU General Public License as published by
 | |
| # the Free Software Foundation; version 2 of the License.
 | |
| #
 | |
| # This program is distributed in the hope that it will be useful,
 | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| # GNU General Public License for more details.
 | |
| #
 | |
| 
 | |
| rm -rf out
 | |
| mkdir out
 | |
| 
 | |
| # walk through all ACPI tables with their addresses
 | |
| # example:
 | |
| #    RSDT @ 0xcf6794ba
 | |
| # we can not just dump the tables by their names because some
 | |
| # machines have double ACPI tables
 | |
| 
 | |
| acpidump | grep "@ 0x" | while read line
 | |
| do
 | |
|   NAME=$( echo `echo $line|cut -f1 -d@` )
 | |
|   FNAME=$( echo $NAME | sed s/\ /_/g |sed s/\!/b/g )
 | |
|   ADDR=$( echo `echo $line|cut -f2 -d@` )
 | |
|   if [ "${!FNAME}" == "" ]; then
 | |
|     eval $FNAME=0
 | |
|   else
 | |
|     eval $FNAME=$(( ${!FNAME} + 1 ))
 | |
|   fi
 | |
|   printf "Processing table \"$NAME\" at $ADDR ... "
 | |
|   printf "${!FNAME} tables of that kind found before.\n"
 | |
| 
 | |
|   # acpidump -s ${!FNAME} --table "$NAME" > out/$FNAME-$ADDR-${!FNAME}.txt
 | |
|   acpidump -b -s ${!FNAME} --table "$NAME" > out/$FNAME-$ADDR-${!FNAME}.bin
 | |
|   if [ "`file -b out/$FNAME-$ADDR-${!FNAME}.bin`" != "ASCII text" ]; then
 | |
|     iasl -d out/$FNAME-$ADDR-${!FNAME}.bin &>/dev/null
 | |
|   else
 | |
|     printf "Skipping $NAME because it was not dumped correctly.\n\n"
 | |
|   fi
 | |
| 
 | |
| done
 |