Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2215 → Rev 2216

/drivers/devman/acpica/tools/acpiexec/Makefile
1,152 → 1,690
#
# acpiexec: ACPI execution simulator. Runs ACPICA code in user
# space. Loads ACPI tables, displays the namespace, and allows
# execution of control methods.
#
# NOTE: This makefile is intended to be used in the Linux environment,
# with the Linux directory structure. It will not work directly
# on the native ACPICA source tree.
#
 
#
# Configuration
# Notes:
# gcc should be version 4 or greater, otherwise some of the options
# used will not be recognized.
# Global optimization flags (such as -O2, -Os) are not used, since
# they cause issues on some compilers.
# The _GNU_SOURCE symbol is required for many hosts.
#
PROG= acpiexec
SRCS= aetables.c aehandlers.c aeexec.c aemain.c \
../../common/getopt.c \
../../debugger/dbcmds.c \
../../debugger/dbdisply.c \
../../debugger/dbexec.c \
../../debugger/dbfileio.c \
../../debugger/dbhistry.c \
../../debugger/dbinput.c \
../../debugger/dbstats.c \
../../debugger/dbutils.c \
../../debugger/dbxface.c \
../../disassembler/dmbuffer.c \
../../disassembler/dmnames.c \
../../disassembler/dmobject.c \
../../disassembler/dmopcode.c \
../../disassembler/dmresrc.c \
../../disassembler/dmresrcl.c \
../../disassembler/dmresrcs.c \
../../disassembler/dmutils.c \
../../disassembler/dmwalk.c \
../../events/evevent.c \
../../events/evgpe.c \
../../events/evgpeblk.c \
../../events/evgpeinit.c \
../../events/evgpeutil.c \
../../events/evmisc.c \
../../events/evregion.c \
../../events/evrgnini.c \
../../events/evsci.c \
../../events/evxface.c \
../../events/evxfevnt.c \
../../events/evxfregn.c \
../../hardware/hwacpi.c \
../../hardware/hwgpe.c \
../../hardware/hwregs.c \
../../hardware/hwsleep.c \
../../hardware/hwvalid.c \
../../hardware/hwxface.c \
../../dispatcher/dsfield.c \
../../dispatcher/dsinit.c \
../../dispatcher/dsmethod.c \
../../dispatcher/dsmthdat.c \
../../dispatcher/dsobject.c \
../../dispatcher/dsopcode.c \
../../dispatcher/dsutils.c \
../../dispatcher/dswexec.c \
../../dispatcher/dswload.c \
../../dispatcher/dswscope.c \
../../dispatcher/dswstate.c \
../../executer/exconfig.c \
../../executer/exconvrt.c \
../../executer/excreate.c \
../../executer/exdebug.c \
../../executer/exdump.c \
../../executer/exfield.c \
../../executer/exfldio.c \
../../executer/exmisc.c \
../../executer/exmutex.c \
../../executer/exnames.c \
../../executer/exoparg1.c \
../../executer/exoparg2.c \
../../executer/exoparg3.c \
../../executer/exoparg6.c \
../../executer/exprep.c \
../../executer/exregion.c \
../../executer/exresnte.c \
../../executer/exresolv.c \
../../executer/exresop.c \
../../executer/exstore.c \
../../executer/exstoren.c \
../../executer/exstorob.c \
../../executer/exsystem.c \
../../executer/exutils.c \
../../parser/psargs.c \
../../parser/psloop.c \
../../parser/psopcode.c \
../../parser/psparse.c \
../../parser/psscope.c \
../../parser/pstree.c \
../../parser/psutils.c \
../../parser/pswalk.c \
../../parser/psxface.c \
../../namespace/nsaccess.c \
../../namespace/nsalloc.c \
../../namespace/nsdump.c \
../../namespace/nsdumpdv.c \
../../namespace/nseval.c \
../../namespace/nsinit.c \
../../namespace/nsload.c \
../../namespace/nsnames.c \
../../namespace/nsobject.c \
../../namespace/nsparse.c \
../../namespace/nspredef.c \
../../namespace/nsrepair.c \
../../namespace/nsrepair2.c \
../../namespace/nssearch.c \
../../namespace/nsutils.c \
../../namespace/nswalk.c \
../../namespace/nsxfeval.c \
../../namespace/nsxfname.c \
../../namespace/nsxfobj.c \
../../resources/rsaddr.c \
../../resources/rscalc.c \
../../resources/rscreate.c \
../../resources/rsdump.c \
../../resources/rsio.c \
../../resources/rsinfo.c \
../../resources/rsirq.c \
../../resources/rslist.c \
../../resources/rsmemory.c \
../../resources/rsmisc.c \
../../resources/rsutils.c \
../../resources/rsxface.c \
../../tables/tbfadt.c \
../../tables/tbfind.c \
../../tables/tbinstal.c \
../../tables/tbutils.c \
../../tables/tbxface.c \
../../tables/tbxfroot.c \
../../utilities/utalloc.c \
../../utilities/utcache.c \
../../utilities/utcopy.c \
../../utilities/utdebug.c \
../../utilities/utdelete.c \
../../utilities/uteval.c \
../../utilities/utglobal.c \
../../utilities/utids.c \
../../utilities/utinit.c \
../../utilities/utlock.c \
../../utilities/utmath.c \
../../utilities/utmisc.c \
../../utilities/utmutex.c \
../../utilities/utobject.c \
../../utilities/utresrc.c \
../../utilities/utstate.c \
../../utilities/uttrack.c \
../../utilities/utxface.c \
../../osunixxf.c
 
HOST = _LINUX
NOMAN = YES
COMPILE = $(CC) -c $(CFLAGS) $(CWARNINGFLAGS) -o$@ $?
LDFLAGS += -lpthread -lrt
 
CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../include
ACPICA_COMPONENTS =
ACPICA_SRC = ../..
ACPICA_COMMON = $(ACPICA_SRC)/common
ACPICA_CORE = $(ACPICA_SRC)$(ACPICA_COMPONENTS)
ACPICA_TOOLS = $(ACPICA_SRC)/tools
ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers
INSTALLDIR = /usr/bin
INSTALLPROG = cp --remove-destination $(PROG) $(INSTALLDIR)
 
CFLAGS+= \
-D$(HOST) \
-D_GNU_SOURCE \
-DACPI_EXEC_APP \
-I$(ACPICA_SRC)/include
 
acpiexec : $(patsubst %.c,%.o, $(SRCS))
$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -lrt -lpthread -o $(PROG)
CWARNINGFLAGS = \
-ansi \
-Wall \
-Wbad-function-cast \
-Wdeclaration-after-statement \
-Werror \
-Wformat=2 \
-Wmissing-declarations \
-Wmissing-prototypes \
-Wstrict-aliasing=0 \
-Wstrict-prototypes \
-Wswitch-default \
-Wpointer-arith \
-Wundef
 
CLEANFILES= $(PROG)
OBJS = \
aeexec.o \
aehandlers.o \
aemain.o \
aetables.o \
dbcmds.o \
dbdisply.o \
dbexec.o \
dbfileio.o \
dbhistry.o \
dbinput.o \
dbmethod.o \
dbnames.o \
dbstats.o \
dbutils.o \
dbxface.o \
dmbuffer.o \
dmnames.o \
dmobject.o \
dmopcode.o \
dmresrc.o \
dmresrcl.o \
dmresrcs.o \
dmutils.o \
dmwalk.o \
dsargs.o \
dscontrol.o \
dsfield.o \
dsinit.o \
dsmethod.o \
dsmthdat.o \
dsobject.o \
dsopcode.o \
dsutils.o \
dswexec.o \
dswload.o \
dswload2.o \
dswscope.o \
dswstate.o \
evevent.o \
evglock.o \
evgpe.o \
evgpeblk.o \
evgpeinit.o \
evgpeutil.o \
evmisc.o \
evregion.o \
evrgnini.o \
evsci.o \
evxface.o \
evxfevnt.o \
evxfgpe.o \
evxfregn.o \
exconfig.o \
exconvrt.o \
excreate.o \
exdebug.o \
exdump.o \
exfield.o \
exfldio.o \
exmisc.o \
exmutex.o \
exnames.o \
exoparg1.o \
exoparg2.o \
exoparg3.o \
exoparg6.o \
exprep.o \
exregion.o \
exresnte.o \
exresolv.o \
exresop.o \
exstore.o \
exstoren.o \
exstorob.o \
exsystem.o \
exutils.o \
getopt.o \
hwacpi.o \
hwgpe.o \
hwpci.o \
hwregs.o \
hwsleep.o \
hwvalid.o \
hwxface.o \
nsaccess.o \
nsalloc.o \
nsdump.o \
nsdumpdv.o \
nseval.o \
nsinit.o \
nsload.o \
nsnames.o \
nsobject.o \
nsparse.o \
nspredef.o \
nsrepair.o \
nsrepair2.o \
nssearch.o \
nsutils.o \
nswalk.o \
nsxfeval.o \
nsxfname.o \
nsxfobj.o \
osunixxf.o \
psargs.o \
psloop.o \
psopcode.o \
psparse.o \
psscope.o \
pstree.o \
psutils.o \
pswalk.o \
psxface.o \
rsaddr.o \
rscalc.o \
rscreate.o \
rsdump.o \
rsinfo.o \
rsio.o \
rsirq.o \
rslist.o \
rsmemory.o \
rsmisc.o \
rsutils.o \
rsxface.o \
tbfadt.o \
tbfind.o \
tbinstal.o \
tbutils.o \
tbxface.o \
tbxfroot.o \
utalloc.o \
utcache.o \
utcopy.o \
utdebug.o \
utdecode.o \
utdelete.o \
uteval.o \
utglobal.o \
utids.o \
utinit.o \
utlock.o \
utmath.o \
utmisc.o \
utmutex.o \
utobject.o \
utresrc.o \
utstate.o \
uttrack.o \
utosi.o \
utxferror.o \
utxface.o
 
#
# Root rule
#
$(PROG) : $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
 
#
# acpiexec source
#
aeexec.o : $(ACPICA_TOOLS)/acpiexec/aeexec.c
$(COMPILE)
 
aehandlers.o : $(ACPICA_TOOLS)/acpiexec/aehandlers.c
$(COMPILE)
 
aemain.o : $(ACPICA_TOOLS)/acpiexec/aemain.c
$(COMPILE)
 
aetables.o : $(ACPICA_TOOLS)/acpiexec/aetables.c
$(COMPILE)
 
#
# ACPICA core source - common
#
getopt.o : $(ACPICA_COMMON)/getopt.c
$(COMPILE)
 
#
# ACPICA core source
#
dbcmds.o : $(ACPICA_CORE)/debugger/dbcmds.c
$(COMPILE)
 
dbdisply.o : $(ACPICA_CORE)/debugger/dbdisply.c
$(COMPILE)
 
dbexec.o : $(ACPICA_CORE)/debugger/dbexec.c
$(COMPILE)
 
dbfileio.o : $(ACPICA_CORE)/debugger/dbfileio.c
$(COMPILE)
 
dbhistry.o : $(ACPICA_CORE)/debugger/dbhistry.c
$(COMPILE)
 
dbinput.o : $(ACPICA_CORE)/debugger/dbinput.c
$(COMPILE)
 
dbmethod.o : $(ACPICA_CORE)/debugger/dbmethod.c
$(COMPILE)
 
dbnames.o : $(ACPICA_CORE)/debugger/dbnames.c
$(COMPILE)
 
dbstats.o : $(ACPICA_CORE)/debugger/dbstats.c
$(COMPILE)
 
dbutils.o : $(ACPICA_CORE)/debugger/dbutils.c
$(COMPILE)
 
dbxface.o : $(ACPICA_CORE)/debugger/dbxface.c
$(COMPILE)
 
dmbuffer.o : $(ACPICA_CORE)/disassembler/dmbuffer.c
$(COMPILE)
 
dmnames.o : $(ACPICA_CORE)/disassembler/dmnames.c
$(COMPILE)
 
dmobject.o : $(ACPICA_CORE)/disassembler/dmobject.c
$(COMPILE)
 
dmopcode.o : $(ACPICA_CORE)/disassembler/dmopcode.c
$(COMPILE)
 
dmresrc.o : $(ACPICA_CORE)/disassembler/dmresrc.c
$(COMPILE)
 
dmresrcl.o : $(ACPICA_CORE)/disassembler/dmresrcl.c
$(COMPILE)
 
dmresrcs.o : $(ACPICA_CORE)/disassembler/dmresrcs.c
$(COMPILE)
 
dmutils.o : $(ACPICA_CORE)/disassembler/dmutils.c
$(COMPILE)
 
dmwalk.o : $(ACPICA_CORE)/disassembler/dmwalk.c
$(COMPILE)
 
dsargs.o : $(ACPICA_CORE)/dispatcher/dsargs.c
$(COMPILE)
 
dscontrol.o : $(ACPICA_CORE)/dispatcher/dscontrol.c
$(COMPILE)
 
dsfield.o : $(ACPICA_CORE)/dispatcher/dsfield.c
$(COMPILE)
 
dsinit.o : $(ACPICA_CORE)/dispatcher/dsinit.c
$(COMPILE)
 
dsmethod.o : $(ACPICA_CORE)/dispatcher/dsmethod.c
$(COMPILE)
 
dsmthdat.o : $(ACPICA_CORE)/dispatcher/dsmthdat.c
$(COMPILE)
 
dsobject.o : $(ACPICA_CORE)/dispatcher/dsobject.c
$(COMPILE)
 
dsopcode.o : $(ACPICA_CORE)/dispatcher/dsopcode.c
$(COMPILE)
 
dsutils.o : $(ACPICA_CORE)/dispatcher/dsutils.c
$(COMPILE)
 
dswexec.o : $(ACPICA_CORE)/dispatcher/dswexec.c
$(COMPILE)
 
dswload.o : $(ACPICA_CORE)/dispatcher/dswload.c
$(COMPILE)
 
dswload2.o : $(ACPICA_CORE)/dispatcher/dswload2.c
$(COMPILE)
 
dswscope.o : $(ACPICA_CORE)/dispatcher/dswscope.c
$(COMPILE)
 
dswstate.o : $(ACPICA_CORE)/dispatcher/dswstate.c
$(COMPILE)
 
evevent.o : $(ACPICA_CORE)/events/evevent.c
$(COMPILE)
 
evglock.o : $(ACPICA_CORE)/events/evglock.c
$(COMPILE)
 
evgpe.o : $(ACPICA_CORE)/events/evgpe.c
$(COMPILE)
 
evgpeblk.o : $(ACPICA_CORE)/events/evgpeblk.c
$(COMPILE)
 
evgpeinit.o : $(ACPICA_CORE)/events/evgpeinit.c
$(COMPILE)
 
evgpeutil.o : $(ACPICA_CORE)/events/evgpeutil.c
$(COMPILE)
 
evmisc.o : $(ACPICA_CORE)/events/evmisc.c
$(COMPILE)
 
evregion.o : $(ACPICA_CORE)/events/evregion.c
$(COMPILE)
 
evrgnini.o : $(ACPICA_CORE)/events/evrgnini.c
$(COMPILE)
 
evsci.o : $(ACPICA_CORE)/events/evsci.c
$(COMPILE)
 
evxface.o : $(ACPICA_CORE)/events/evxface.c
$(COMPILE)
 
evxfevnt.o : $(ACPICA_CORE)/events/evxfevnt.c
$(COMPILE)
 
evxfgpe.o : $(ACPICA_CORE)/events/evxfgpe.c
$(COMPILE)
 
evxfregn.o : $(ACPICA_CORE)/events/evxfregn.c
$(COMPILE)
 
exconfig.o : $(ACPICA_CORE)/executer/exconfig.c
$(COMPILE)
 
exconvrt.o : $(ACPICA_CORE)/executer/exconvrt.c
$(COMPILE)
 
excreate.o : $(ACPICA_CORE)/executer/excreate.c
$(COMPILE)
 
exdebug.o : $(ACPICA_CORE)/executer/exdebug.c
$(COMPILE)
 
exdump.o : $(ACPICA_CORE)/executer/exdump.c
$(COMPILE)
 
exfield.o : $(ACPICA_CORE)/executer/exfield.c
$(COMPILE)
 
exfldio.o : $(ACPICA_CORE)/executer/exfldio.c
$(COMPILE)
 
exmisc.o : $(ACPICA_CORE)/executer/exmisc.c
$(COMPILE)
 
exmutex.o : $(ACPICA_CORE)/executer/exmutex.c
$(COMPILE)
 
exnames.o : $(ACPICA_CORE)/executer/exnames.c
$(COMPILE)
 
exoparg1.o : $(ACPICA_CORE)/executer/exoparg1.c
$(COMPILE)
 
exoparg2.o : $(ACPICA_CORE)/executer/exoparg2.c
$(COMPILE)
 
exoparg3.o : $(ACPICA_CORE)/executer/exoparg3.c
$(COMPILE)
 
exoparg6.o : $(ACPICA_CORE)/executer/exoparg6.c
$(COMPILE)
 
exprep.o : $(ACPICA_CORE)/executer/exprep.c
$(COMPILE)
 
exregion.o : $(ACPICA_CORE)/executer/exregion.c
$(COMPILE)
 
exresnte.o : $(ACPICA_CORE)/executer/exresnte.c
$(COMPILE)
 
exresolv.o : $(ACPICA_CORE)/executer/exresolv.c
$(COMPILE)
 
exresop.o : $(ACPICA_CORE)/executer/exresop.c
$(COMPILE)
 
exstore.o : $(ACPICA_CORE)/executer/exstore.c
$(COMPILE)
 
exstoren.o : $(ACPICA_CORE)/executer/exstoren.c
$(COMPILE)
 
exstorob.o : $(ACPICA_CORE)/executer/exstorob.c
$(COMPILE)
 
exsystem.o : $(ACPICA_CORE)/executer/exsystem.c
$(COMPILE)
 
exutils.o : $(ACPICA_CORE)/executer/exutils.c
$(COMPILE)
 
hwacpi.o : $(ACPICA_CORE)/hardware/hwacpi.c
$(COMPILE)
 
hwgpe.o : $(ACPICA_CORE)/hardware/hwgpe.c
$(COMPILE)
 
hwpci.o : $(ACPICA_CORE)/hardware/hwpci.c
$(COMPILE)
 
hwregs.o : $(ACPICA_CORE)/hardware/hwregs.c
$(COMPILE)
 
hwsleep.o : $(ACPICA_CORE)/hardware/hwsleep.c
$(COMPILE)
 
hwvalid.o : $(ACPICA_CORE)/hardware/hwvalid.c
$(COMPILE)
 
hwxface.o : $(ACPICA_CORE)/hardware/hwxface.c
$(COMPILE)
 
nsaccess.o : $(ACPICA_CORE)/namespace/nsaccess.c
$(COMPILE)
 
nsalloc.o : $(ACPICA_CORE)/namespace/nsalloc.c
$(COMPILE)
 
nsdump.o : $(ACPICA_CORE)/namespace/nsdump.c
$(COMPILE)
 
nsdumpdv.o : $(ACPICA_CORE)/namespace/nsdumpdv.c
$(COMPILE)
 
nseval.o : $(ACPICA_CORE)/namespace/nseval.c
$(COMPILE)
 
nsinit.o : $(ACPICA_CORE)/namespace/nsinit.c
$(COMPILE)
 
nsload.o : $(ACPICA_CORE)/namespace/nsload.c
$(COMPILE)
 
nsnames.o : $(ACPICA_CORE)/namespace/nsnames.c
$(COMPILE)
 
nsobject.o : $(ACPICA_CORE)/namespace/nsobject.c
$(COMPILE)
 
nsparse.o : $(ACPICA_CORE)/namespace/nsparse.c
$(COMPILE)
 
nspredef.o : $(ACPICA_CORE)/namespace/nspredef.c
$(COMPILE)
 
nsrepair.o : $(ACPICA_CORE)/namespace/nsrepair.c
$(COMPILE)
 
nsrepair2.o : $(ACPICA_CORE)/namespace/nsrepair2.c
$(COMPILE)
 
nssearch.o : $(ACPICA_CORE)/namespace/nssearch.c
$(COMPILE)
 
nsutils.o : $(ACPICA_CORE)/namespace/nsutils.c
$(COMPILE)
 
nswalk.o : $(ACPICA_CORE)/namespace/nswalk.c
$(COMPILE)
 
nsxfeval.o : $(ACPICA_CORE)/namespace/nsxfeval.c
$(COMPILE)
 
nsxfname.o : $(ACPICA_CORE)/namespace/nsxfname.c
$(COMPILE)
 
nsxfobj.o : $(ACPICA_CORE)/namespace/nsxfobj.c
$(COMPILE)
 
psargs.o : $(ACPICA_CORE)/parser/psargs.c
$(COMPILE)
 
psloop.o : $(ACPICA_CORE)/parser/psloop.c
$(COMPILE)
 
psopcode.o : $(ACPICA_CORE)/parser/psopcode.c
$(COMPILE)
 
psparse.o : $(ACPICA_CORE)/parser/psparse.c
$(COMPILE)
 
psscope.o : $(ACPICA_CORE)/parser/psscope.c
$(COMPILE)
 
pstree.o : $(ACPICA_CORE)/parser/pstree.c
$(COMPILE)
 
psutils.o : $(ACPICA_CORE)/parser/psutils.c
$(COMPILE)
 
pswalk.o : $(ACPICA_CORE)/parser/pswalk.c
$(COMPILE)
 
psxface.o : $(ACPICA_CORE)/parser/psxface.c
$(COMPILE)
 
rsaddr.o : $(ACPICA_CORE)/resources/rsaddr.c
$(COMPILE)
 
rscalc.o : $(ACPICA_CORE)/resources/rscalc.c
$(COMPILE)
 
rscreate.o : $(ACPICA_CORE)/resources/rscreate.c
$(COMPILE)
 
rsdump.o : $(ACPICA_CORE)/resources/rsdump.c
$(COMPILE)
 
rsio.o : $(ACPICA_CORE)/resources/rsio.c
$(COMPILE)
 
rsinfo.o : $(ACPICA_CORE)/resources/rsinfo.c
$(COMPILE)
 
rsirq.o : $(ACPICA_CORE)/resources/rsirq.c
$(COMPILE)
 
rslist.o : $(ACPICA_CORE)/resources/rslist.c
$(COMPILE)
 
rsmemory.o : $(ACPICA_CORE)/resources/rsmemory.c
$(COMPILE)
 
rsmisc.o : $(ACPICA_CORE)/resources/rsmisc.c
$(COMPILE)
 
rsutils.o : $(ACPICA_CORE)/resources/rsutils.c
$(COMPILE)
 
rsxface.o : $(ACPICA_CORE)/resources/rsxface.c
$(COMPILE)
 
tbfadt.o : $(ACPICA_CORE)/tables/tbfadt.c
$(COMPILE)
 
tbfind.o : $(ACPICA_CORE)/tables/tbfind.c
$(COMPILE)
 
tbinstal.o : $(ACPICA_CORE)/tables/tbinstal.c
$(COMPILE)
 
tbutils.o : $(ACPICA_CORE)/tables/tbutils.c
$(COMPILE)
 
tbxface.o : $(ACPICA_CORE)/tables/tbxface.c
$(COMPILE)
 
tbxfroot.o : $(ACPICA_CORE)/tables/tbxfroot.c
$(COMPILE)
 
utalloc.o : $(ACPICA_CORE)/utilities/utalloc.c
$(COMPILE)
 
utcache.o : $(ACPICA_CORE)/utilities/utcache.c
$(COMPILE)
 
utcopy.o : $(ACPICA_CORE)/utilities/utcopy.c
$(COMPILE)
 
utdebug.o : $(ACPICA_CORE)/utilities/utdebug.c
$(COMPILE)
 
utdecode.o : $(ACPICA_CORE)/utilities/utdecode.c
$(COMPILE)
 
utdelete.o : $(ACPICA_CORE)/utilities/utdelete.c
$(COMPILE)
 
uteval.o : $(ACPICA_CORE)/utilities/uteval.c
$(COMPILE)
 
utglobal.o : $(ACPICA_CORE)/utilities/utglobal.c
$(COMPILE)
 
utids.o : $(ACPICA_CORE)/utilities/utids.c
$(COMPILE)
 
utinit.o : $(ACPICA_CORE)/utilities/utinit.c
$(COMPILE)
 
utlock.o : $(ACPICA_CORE)/utilities/utlock.c
$(COMPILE)
 
utmath.o : $(ACPICA_CORE)/utilities/utmath.c
$(COMPILE)
 
utmisc.o : $(ACPICA_CORE)/utilities/utmisc.c
$(COMPILE)
 
utmutex.o : $(ACPICA_CORE)/utilities/utmutex.c
$(COMPILE)
 
utobject.o : $(ACPICA_CORE)/utilities/utobject.c
$(COMPILE)
 
utresrc.o : $(ACPICA_CORE)/utilities/utresrc.c
$(COMPILE)
 
utstate.o : $(ACPICA_CORE)/utilities/utstate.c
$(COMPILE)
 
uttrack.o : $(ACPICA_CORE)/utilities/uttrack.c
$(COMPILE)
 
utosi.o : $(ACPICA_CORE)/utilities/utosi.c
$(COMPILE)
 
utxferror.o : $(ACPICA_CORE)/utilities/utxferror.c
$(COMPILE)
 
utxface.o : $(ACPICA_CORE)/utilities/utxface.c
$(COMPILE)
 
#
# Unix OS services layer (OSL)
#
osunixxf.o : $(ACPICA_OSL)/osunixxf.c
$(COMPILE)
 
 
clean :
rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
rm -f $(PROG) $(PROG).exe $(OBJS)
 
install :
$(INSTALLPROG)
/drivers/devman/acpica/tools/acpiexec/aecommon.h
8,7 → 8,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
120,11 → 120,6
#pragma warning(disable:4100) /* warning C4100: unreferenced formal parameter */
#endif
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
 
#include "acpi.h"
#include "accommon.h"
#include "acparser.h"
135,11 → 130,28
#include "acinterp.h"
#include "acapps.h"
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
 
extern FILE *AcpiGbl_DebugFile;
extern BOOLEAN AcpiGbl_IgnoreErrors;
extern UINT8 AcpiGbl_RegionFillValue;
 
/* Check for unexpected exceptions */
 
#define AE_CHECK_STATUS(Name, Status, Expected) \
if (Status != Expected) \
{ \
AcpiOsPrintf ("Unexpected %s from %s (%s-%d)\n", \
AcpiFormatException (Status), #Name, _AcpiModuleName, __LINE__); \
}
 
/* Check for unexpected non-AE_OK errors */
 
#define AE_CHECK_OK(Name, Status) AE_CHECK_STATUS (Name, Status, AE_OK);
 
typedef struct ae_table_desc
{
ACPI_TABLE_HEADER *Table;
173,7 → 185,7
#define OSD_PRINT(lvl,fp) TEST_OUTPUT_LEVEL(lvl) {\
AcpiOsPrintf PARAM_LIST(fp);}
 
void __cdecl
void ACPI_SYSTEM_XFACE
AeCtrlCHandler (
int Sig);
 
220,9 → 232,13
UINT32 DisplayCount);
 
ACPI_STATUS
AeInstallHandlers (
AeInstallEarlyHandlers (
void);
 
ACPI_STATUS
AeInstallLateHandlers (
void);
 
void
AeMiscellaneousTests (
void);
238,7 → 254,16
 
UINT32
AeGpeHandler (
ACPI_HANDLE GpeDevice,
UINT32 GpeNumber,
void *Context);
 
void
AeGlobalEventHandler (
UINT32 Type,
ACPI_HANDLE GpeDevice,
UINT32 EventNumber,
void *Context);
 
#endif /* _AECOMMON */
 
/drivers/devman/acpica/tools/acpiexec/aeexec.c
8,7 → 8,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
120,23 → 120,23
 
/* Local prototypes */
 
ACPI_STATUS
static ACPI_STATUS
AeSetupConfiguration (
void *RegionAddr);
 
void
static void
AfInstallGpeBlock (
void);
 
void
static void
AeTestBufferArgument (
void);
 
void
static void
AeTestPackageArgument (
void);
 
ACPI_STATUS
static ACPI_STATUS
AeGetDevices (
ACPI_HANDLE ObjHandle,
UINT32 NestingLevel,
143,16 → 143,16
void *Context,
void **ReturnValue);
 
ACPI_STATUS
static ACPI_STATUS
ExecuteOSI (
char *OsiString,
UINT32 ExpectedResult);
 
void
static void
AeHardwareInterfaces (
void);
 
void
static void
AeGenericRegisters (
void);
 
172,11 → 172,10
*
*****************************************************************************/
 
ACPI_STATUS
static ACPI_STATUS
AeSetupConfiguration (
void *RegionAddr)
{
ACPI_STATUS Status;
ACPI_OBJECT_LIST ArgList;
ACPI_OBJECT Arg[3];
 
190,8 → 189,7
Arg[0].Type = ACPI_TYPE_INTEGER;
Arg[0].Integer.Value = ACPI_TO_INTEGER (RegionAddr);
 
Status = AcpiEvaluateObject (NULL, "\\_CFG", &ArgList, NULL);
 
(void) AcpiEvaluateObject (NULL, "\\_CFG", &ArgList, NULL);
return (AE_OK);
}
 
209,7 → 207,7
*
*****************************************************************************/
 
void
static void
AfInstallGpeBlock (
void)
{
235,16 → 233,29
if (ACPI_SUCCESS (Status))
{
Status = AcpiInstallGpeBlock (Handle2, &BlockAddress, 7, 8);
AE_CHECK_OK (AcpiInstallGpeBlock, Status);
 
AcpiInstallGpeHandler (Handle2, 8, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AcpiEnableGpe (Handle2, 8, ACPI_GPE_TYPE_RUNTIME);
Status = AcpiInstallGpeHandler (Handle2, 8,
ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
Status = AcpiEnableGpe (Handle2, 8);
AE_CHECK_OK (AcpiEnableGpe, Status);
 
Status = AcpiGetGpeDevice (0x30, &GpeDevice);
AE_CHECK_OK (AcpiGetGpeDevice, Status);
 
Status = AcpiGetGpeDevice (0x42, &GpeDevice);
AE_CHECK_OK (AcpiGetGpeDevice, Status);
 
Status = AcpiGetGpeDevice (AcpiCurrentGpeCount-1, &GpeDevice);
AE_CHECK_OK (AcpiGetGpeDevice, Status);
 
Status = AcpiGetGpeDevice (AcpiCurrentGpeCount, &GpeDevice);
AE_CHECK_STATUS (AcpiGetGpeDevice, Status, AE_NOT_EXIST);
 
AcpiRemoveGpeHandler (Handle2, 8, AeGpeHandler);
Status = AcpiRemoveGpeHandler (Handle2, 8, AeGpeHandler);
AE_CHECK_OK (AcpiRemoveGpeHandler, Status);
}
 
Status = AcpiGetHandle (NULL, "\\GPE3", &Handle3);
251,6 → 262,7
if (ACPI_SUCCESS (Status))
{
Status = AcpiInstallGpeBlock (Handle3, &BlockAddress, 8, 11);
AE_CHECK_OK (AcpiInstallGpeBlock, Status);
}
}
 
257,11 → 269,10
 
/* Test using a Buffer object as a method argument */
 
void
static void
AeTestBufferArgument (
void)
{
ACPI_STATUS Status;
ACPI_OBJECT_LIST Params;
ACPI_OBJECT BufArg;
UINT8 Buffer[] = {
277,27 → 288,24
Params.Count = 1;
Params.Pointer = &BufArg;
 
 
Status = AcpiEvaluateObject (NULL, "\\BUF", &Params, NULL);
(void) AcpiEvaluateObject (NULL, "\\BUF", &Params, NULL);
}
 
 
ACPI_OBJECT PkgArg;
ACPI_OBJECT PkgElements[5];
ACPI_OBJECT Pkg2Elements[5];
ACPI_OBJECT_LIST Params;
static ACPI_OBJECT PkgArg;
static ACPI_OBJECT PkgElements[5];
static ACPI_OBJECT Pkg2Elements[5];
static ACPI_OBJECT_LIST Params;
 
 
/*
* Test using a Package object as an method argument
*/
void
static void
AeTestPackageArgument (
void)
{
ACPI_STATUS Status;
 
 
/* Main package */
 
PkgArg.Type = ACPI_TYPE_PACKAGE;
335,11 → 343,11
Params.Count = 1;
Params.Pointer = &PkgArg;
 
Status = AcpiEvaluateObject (NULL, "\\_PKG", &Params, NULL);
(void) AcpiEvaluateObject (NULL, "\\_PKG", &Params, NULL);
}
 
 
ACPI_STATUS
static ACPI_STATUS
AeGetDevices (
ACPI_HANDLE ObjHandle,
UINT32 NestingLevel,
364,7 → 372,7
*
*****************************************************************************/
 
ACPI_STATUS
static ACPI_STATUS
ExecuteOSI (
char *OsiString,
UINT32 ExpectedResult)
434,9 → 442,9
*
*****************************************************************************/
 
ACPI_GENERIC_ADDRESS GenericRegister;
static ACPI_GENERIC_ADDRESS GenericRegister;
 
void
static void
AeGenericRegisters (
void)
{
450,7 → 458,10
GenericRegister.SpaceId = ACPI_ADR_SPACE_SYSTEM_IO;
 
Status = AcpiRead (&Value, &GenericRegister);
AE_CHECK_OK (AcpiRead, Status);
 
Status = AcpiWrite (Value, &GenericRegister);
AE_CHECK_OK (AcpiWrite, Status);
 
GenericRegister.Address = 0x12345678;
GenericRegister.BitOffset = 0;
457,7 → 468,10
GenericRegister.SpaceId = ACPI_ADR_SPACE_SYSTEM_MEMORY;
 
Status = AcpiRead (&Value, &GenericRegister);
AE_CHECK_OK (AcpiRead, Status);
 
Status = AcpiWrite (Value, &GenericRegister);
AE_CHECK_OK (AcpiWrite, Status);
}
 
 
469,7 → 483,7
*
*****************************************************************************/
 
void
static void
AeHardwareInterfaces (
void)
{
478,14 → 492,29
 
 
Status = AcpiWriteBitRegister (ACPI_BITREG_WAKE_STATUS, 1);
AE_CHECK_OK (AcpiWriteBitRegister, Status);
 
Status = AcpiWriteBitRegister (ACPI_BITREG_GLOBAL_LOCK_ENABLE, 1);
AE_CHECK_OK (AcpiWriteBitRegister, Status);
 
Status = AcpiWriteBitRegister (ACPI_BITREG_SLEEP_ENABLE, 1);
AE_CHECK_OK (AcpiWriteBitRegister, Status);
 
Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 1);
AE_CHECK_OK (AcpiWriteBitRegister, Status);
 
 
Status = AcpiReadBitRegister (ACPI_BITREG_WAKE_STATUS, &Value);
AE_CHECK_OK (AcpiReadBitRegister, Status);
 
Status = AcpiReadBitRegister (ACPI_BITREG_GLOBAL_LOCK_ENABLE, &Value);
AE_CHECK_OK (AcpiReadBitRegister, Status);
 
Status = AcpiReadBitRegister (ACPI_BITREG_SLEEP_ENABLE, &Value);
AE_CHECK_OK (AcpiReadBitRegister, Status);
 
Status = AcpiReadBitRegister (ACPI_BITREG_ARB_DISABLE, &Value);
AE_CHECK_OK (AcpiReadBitRegister, Status);
}
 
 
517,48 → 546,135
 
AeTestBufferArgument();
AeTestPackageArgument ();
ExecuteOSI ("Windows 2001", 0xFFFFFFFF);
ExecuteOSI ("MichiganTerminalSystem", 0);
 
 
Status = AcpiInstallInterface ("");
AE_CHECK_STATUS (AcpiInstallInterface, Status, AE_BAD_PARAMETER);
 
Status = AcpiInstallInterface ("TestString");
AE_CHECK_OK (AcpiInstallInterface, Status);
 
Status = AcpiInstallInterface ("TestString");
AE_CHECK_STATUS (AcpiInstallInterface, Status, AE_ALREADY_EXISTS);
 
Status = AcpiRemoveInterface ("Windows 2006");
AE_CHECK_OK (AcpiRemoveInterface, Status);
 
Status = AcpiRemoveInterface ("TestString");
AE_CHECK_OK (AcpiRemoveInterface, Status);
 
Status = AcpiRemoveInterface ("XXXXXX");
AE_CHECK_STATUS (AcpiRemoveInterface, Status, AE_NOT_EXIST);
 
Status = AcpiInstallInterface ("AnotherTestString");
AE_CHECK_OK (AcpiInstallInterface, Status);
 
 
Status = ExecuteOSI ("Windows 2001", 0xFFFFFFFF);
AE_CHECK_OK (ExecuteOSI, Status);
 
Status = ExecuteOSI ("MichiganTerminalSystem", 0);
AE_CHECK_OK (ExecuteOSI, Status);
 
 
ReturnBuf.Length = 32;
ReturnBuf.Pointer = Buffer;
 
AcpiGetName (AcpiGbl_RootNode, ACPI_FULL_PATHNAME, &ReturnBuf);
AcpiEnableEvent (ACPI_EVENT_GLOBAL, 0);
Status = AcpiGetName (AcpiGbl_RootNode, ACPI_FULL_PATHNAME, &ReturnBuf);
AE_CHECK_OK (AcpiGetName, Status);
 
Status = AcpiEnableEvent (ACPI_EVENT_GLOBAL, 0);
AE_CHECK_OK (AcpiEnableEvent, Status);
 
Status = AcpiInstallGlobalEventHandler (AeGlobalEventHandler, NULL);
AE_CHECK_OK (AcpiInstallGlobalEventHandler, Status);
 
/*
* GPEs: Handlers, enable/disable, etc.
*/
AcpiInstallGpeHandler (NULL, 0, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AcpiEnableGpe (NULL, 0, ACPI_GPE_TYPE_RUNTIME);
AcpiRemoveGpeHandler (NULL, 0, AeGpeHandler);
Status = AcpiInstallGpeHandler (NULL, 0, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
AcpiInstallGpeHandler (NULL, 0, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AcpiEnableGpe (NULL, 0, ACPI_GPE_TYPE_RUNTIME);
AcpiSetGpe (NULL, 0, ACPI_GPE_DISABLE);
AcpiSetGpe (NULL, 0, ACPI_GPE_ENABLE);
Status = AcpiEnableGpe (NULL, 0);
AE_CHECK_OK (AcpiEnableGpe, Status);
 
AcpiInstallGpeHandler (NULL, 1, ACPI_GPE_EDGE_TRIGGERED, AeGpeHandler, NULL);
AcpiEnableGpe (NULL, 1, ACPI_GPE_TYPE_RUNTIME);
Status = AcpiRemoveGpeHandler (NULL, 0, AeGpeHandler);
AE_CHECK_OK (AcpiRemoveGpeHandler, Status);
 
AcpiInstallGpeHandler (NULL, 2, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AcpiEnableGpe (NULL, 2, ACPI_GPE_TYPE_RUNTIME);
Status = AcpiInstallGpeHandler (NULL, 0, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
AcpiInstallGpeHandler (NULL, 3, ACPI_GPE_EDGE_TRIGGERED, AeGpeHandler, NULL);
AcpiInstallGpeHandler (NULL, 4, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AcpiInstallGpeHandler (NULL, 5, ACPI_GPE_EDGE_TRIGGERED, AeGpeHandler, NULL);
Status = AcpiEnableGpe (NULL, 0);
AE_CHECK_OK (AcpiEnableGpe, Status);
 
AcpiInstallGpeHandler (NULL, 0x19, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AcpiEnableGpe (NULL, 0x19, ACPI_GPE_TYPE_RUNTIME);
Status = AcpiSetGpe (NULL, 0, ACPI_GPE_DISABLE);
AE_CHECK_OK (AcpiSetGpe, Status);
 
AcpiInstallGpeHandler (NULL, 0x62, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AcpiEnableGpe (NULL, 0x62, ACPI_GPE_TYPE_RUNTIME);
AcpiDisableGpe (NULL, 0x62, ACPI_GPE_TYPE_RUNTIME);
Status = AcpiSetGpe (NULL, 0, ACPI_GPE_ENABLE);
AE_CHECK_OK (AcpiSetGpe, Status);
 
 
Status = AcpiInstallGpeHandler (NULL, 1, ACPI_GPE_EDGE_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
Status = AcpiEnableGpe (NULL, 1);
AE_CHECK_OK (AcpiEnableGpe, Status);
 
 
Status = AcpiInstallGpeHandler (NULL, 2, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
Status = AcpiEnableGpe (NULL, 2);
AE_CHECK_OK (AcpiEnableGpe, Status);
 
 
Status = AcpiInstallGpeHandler (NULL, 3, ACPI_GPE_EDGE_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
Status = AcpiInstallGpeHandler (NULL, 4, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
Status = AcpiInstallGpeHandler (NULL, 5, ACPI_GPE_EDGE_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
Status = AcpiGetHandle (NULL, "\\_SB", &Handle);
AE_CHECK_OK (AcpiGetHandle, Status);
 
Status = AcpiSetupGpeForWake (Handle, NULL, 5);
AE_CHECK_OK (AcpiSetupGpeForWake, Status);
 
Status = AcpiSetGpeWakeMask (NULL, 5, ACPI_GPE_ENABLE);
AE_CHECK_OK (AcpiGpeWakeup, Status);
 
Status = AcpiSetupGpeForWake (Handle, NULL, 6);
AE_CHECK_OK (AcpiSetupGpeForWake, Status);
 
Status = AcpiSetupGpeForWake (Handle, NULL, 9);
AE_CHECK_OK (AcpiSetupGpeForWake, Status);
 
Status = AcpiInstallGpeHandler (NULL, 0x19, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
Status = AcpiEnableGpe (NULL, 0x19);
AE_CHECK_OK (AcpiEnableGpe, Status);
 
 
Status = AcpiInstallGpeHandler (NULL, 0x62, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL);
AE_CHECK_OK (AcpiInstallGpeHandler, Status);
 
Status = AcpiEnableGpe (NULL, 0x62);
AE_CHECK_OK (AcpiEnableGpe, Status);
 
Status = AcpiDisableGpe (NULL, 0x62);
AE_CHECK_OK (AcpiDisableGpe, Status);
 
AfInstallGpeBlock ();
 
/* Here is where the GPEs are actually "enabled" */
 
Status = AcpiUpdateAllGpes ();
AE_CHECK_OK (AcpiUpdateAllGpes, Status);
 
Status = AcpiGetHandle (NULL, "RSRC", &Handle);
if (ACPI_SUCCESS (Status))
{
574,41 → 690,23
/* Test global lock */
 
Status = AcpiAcquireGlobalLock (0xFFFF, &LockHandle1);
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf ("Could not get GlobalLock, %X\n", Status);
}
AE_CHECK_OK (AcpiAcquireGlobalLock, Status);
 
Status = AcpiAcquireGlobalLock (0x5, &LockHandle2);
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf ("Could not get GlobalLock, %X\n", Status);
}
AE_CHECK_OK (AcpiAcquireGlobalLock, Status);
 
Status = AcpiReleaseGlobalLock (LockHandle1);
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf ("Could not release GlobalLock, %X\n", Status);
}
AE_CHECK_OK (AcpiReleaseGlobalLock, Status);
 
Status = AcpiReleaseGlobalLock (LockHandle2);
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf ("Could not release GlobalLock, %X\n", Status);
}
AE_CHECK_OK (AcpiReleaseGlobalLock, Status);
 
/* Get Devices */
 
Status = AcpiGetDevices (NULL, AeGetDevices, NULL, NULL);
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf ("Could not AcpiGetDevices, %X\n", Status);
}
AE_CHECK_OK (AcpiGetDevices, Status);
 
Status = AcpiGetStatistics (&Stats);
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf ("Could not AcpiGetStatistics, %X\n", Status);
AE_CHECK_OK (AcpiGetStatistics, Status);
}
}
 
/drivers/devman/acpica/tools/acpiexec/aehandlers.c
8,7 → 8,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
120,19 → 120,19
 
/* Local prototypes */
 
void
static void
AeNotifyHandler (
ACPI_HANDLE Device,
UINT32 Value,
void *Context);
 
void
static void
AeDeviceNotifyHandler (
ACPI_HANDLE Device,
UINT32 Value,
void *Context);
 
ACPI_STATUS
static ACPI_STATUS
AeExceptionHandler (
ACPI_STATUS AmlStatus,
ACPI_NAME Name,
140,13 → 140,13
UINT32 AmlOffset,
void *Context);
 
ACPI_STATUS
static ACPI_STATUS
AeTableHandler (
UINT32 Event,
void *Table,
void *Context);
 
ACPI_STATUS
static ACPI_STATUS
AeRegionInit (
ACPI_HANDLE RegionHandle,
UINT32 Function,
153,15 → 153,54
void *HandlerContext,
void **RegionContext);
 
void
static void
AeAttachedDataHandler (
ACPI_HANDLE Object,
void *Data);
 
UINT32 SigintCount = 0;
AE_DEBUG_REGIONS AeRegions;
static UINT32
AeInterfaceHandler (
ACPI_STRING InterfaceName,
UINT32 Supported);
 
static UINT32
AeEventHandler (
void *Context);
 
static UINT32 SigintCount = 0;
static AE_DEBUG_REGIONS AeRegions;
 
 
/*
* We will override some of the default region handlers, especially the
* SystemMemory handler, which must be implemented locally. Do not override
* the PCI_Config handler since we would like to exercise the default handler
* code. These handlers are installed "early" - before any _REG methods
* are executed - since they are special in the sense that tha ACPI spec
* declares that they must "always be available". Cannot override the
* DataTable region handler either -- needed for test execution.
*/
static ACPI_ADR_SPACE_TYPE DefaultSpaceIdList[] = {
ACPI_ADR_SPACE_SYSTEM_MEMORY,
ACPI_ADR_SPACE_SYSTEM_IO
};
 
/*
* We will install handlers for some of the various address space IDs
* Test one user-defined address space (used by aslts.)
*/
#define ACPI_ADR_SPACE_USER_DEFINED 0x80
 
static ACPI_ADR_SPACE_TYPE SpaceIdList[] = {
ACPI_ADR_SPACE_EC,
ACPI_ADR_SPACE_SMBUS,
ACPI_ADR_SPACE_PCI_BAR_TARGET,
ACPI_ADR_SPACE_IPMI,
ACPI_ADR_SPACE_FIXED_HARDWARE,
ACPI_ADR_SPACE_USER_DEFINED
};
 
 
/******************************************************************************
*
* FUNCTION: AeCtrlCHandler
174,7 → 213,7
*
*****************************************************************************/
 
void __cdecl
void ACPI_SYSTEM_XFACE
AeCtrlCHandler (
int Sig)
{
213,7 → 252,7
*
*****************************************************************************/
 
void
static void
AeNotifyHandler (
ACPI_HANDLE Device,
UINT32 Value,
263,7 → 302,6
(void) AcpiEvaluateObject (Device, "_NOT", NULL, NULL);
break;
}
 
}
 
 
281,7 → 319,7
*
*****************************************************************************/
 
void
static void
AeDeviceNotifyHandler (
ACPI_HANDLE Device,
UINT32 Value,
312,7 → 350,7
*
*****************************************************************************/
 
ACPI_STATUS
static ACPI_STATUS
AeExceptionHandler (
ACPI_STATUS AmlStatus,
ACPI_NAME Name,
356,7 → 394,7
Arg[1].String.Length = ACPI_STRLEN (Exception);
 
Arg[2].Type = ACPI_TYPE_INTEGER;
Arg[2].Integer.Value = ACPI_TO_INTEGER (AcpiOsGetThreadId());
Arg[2].Integer.Value = AcpiOsGetThreadId();
 
/* Setup return buffer */
 
411,7 → 449,7
*
*****************************************************************************/
 
char *TableEvents[] =
static char *TableEvents[] =
{
"LOAD",
"UNLOAD",
418,20 → 456,25
"UNKNOWN"
};
 
ACPI_STATUS
static ACPI_STATUS
AeTableHandler (
UINT32 Event,
void *Table,
void *Context)
{
ACPI_STATUS Status;
 
 
if (Event > ACPI_NUM_TABLE_EVENTS)
{
Event = ACPI_NUM_TABLE_EVENTS;
}
 
/* TBD: could dump entire table header, need a header dump routine */
/* Enable any GPEs associated with newly-loaded GPE methods */
 
Status = AcpiUpdateAllGpes ();
AE_CHECK_OK (AcpiUpdateAllGpes, Status);
 
printf ("[AcpiExec] Table Event %s, [%4.4s] %p\n",
TableEvents[Event], ((ACPI_TABLE_HEADER *) Table)->Signature, Table);
return (AE_OK);
442,21 → 485,66
*
* FUNCTION: AeGpeHandler
*
* DESCRIPTION: GPE handler for acpiexec
* DESCRIPTION: Common GPE handler for acpiexec
*
*****************************************************************************/
 
UINT32
AeGpeHandler (
ACPI_HANDLE GpeDevice,
UINT32 GpeNumber,
void *Context)
{
AcpiOsPrintf ("Received a GPE at handler\n");
return (0);
ACPI_NAMESPACE_NODE *DeviceNode = (ACPI_NAMESPACE_NODE *) GpeDevice;
 
 
AcpiOsPrintf ("[AcpiExec] GPE Handler received GPE%02X (GPE block %4.4s)\n",
GpeNumber, GpeDevice ? DeviceNode->Name.Ascii : "FADT");
 
return (ACPI_REENABLE_GPE);
}
 
 
/******************************************************************************
*
* FUNCTION: AeGlobalEventHandler
*
* DESCRIPTION: Global GPE/Fixed event handler
*
*****************************************************************************/
 
void
AeGlobalEventHandler (
UINT32 Type,
ACPI_HANDLE Device,
UINT32 EventNumber,
void *Context)
{
char *TypeName;
 
 
switch (Type)
{
case ACPI_EVENT_TYPE_GPE:
TypeName = "GPE";
break;
 
case ACPI_EVENT_TYPE_FIXED:
TypeName = "FixedEvent";
break;
 
default:
TypeName = "UNKNOWN";
break;
}
 
AcpiOsPrintf ("[AcpiExec] Global Event Handler received: Type %s Number %.2X Dev %p\n",
TypeName, EventNumber, Device);
}
 
 
/******************************************************************************
*
* FUNCTION: AeAttachedDataHandler
*
* DESCRIPTION: Handler for deletion of nodes with attached data (attached via
464,7 → 552,7
*
*****************************************************************************/
 
void
static void
AeAttachedDataHandler (
ACPI_HANDLE Object,
void *Data)
479,6 → 567,46
 
/******************************************************************************
*
* FUNCTION: AeInterfaceHandler
*
* DESCRIPTION: Handler for _OSI invocations
*
*****************************************************************************/
 
static UINT32
AeInterfaceHandler (
ACPI_STRING InterfaceName,
UINT32 Supported)
{
ACPI_FUNCTION_NAME (AeInterfaceHandler);
 
 
ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
"Received _OSI (\"%s\"), is %ssupported\n",
InterfaceName, Supported == 0 ? "not " : ""));
 
return (Supported);
}
 
 
/******************************************************************************
*
* FUNCTION: AeEventHandler
*
* DESCRIPTION: Handler for Fixed Events
*
*****************************************************************************/
 
static UINT32
AeEventHandler (
void *Context)
{
return (0);
}
 
 
/******************************************************************************
*
* FUNCTION: AeRegionInit
*
* PARAMETERS: None
489,7 → 617,7
*
*****************************************************************************/
 
ACPI_STATUS
static ACPI_STATUS
AeRegionInit (
ACPI_HANDLE RegionHandle,
UINT32 Function,
501,13 → 629,13
*/
*RegionContext = RegionHandle;
 
return AE_OK;
return (AE_OK);
}
 
 
/******************************************************************************
*
* FUNCTION: AeInstallHandlers
* FUNCTION: AeInstallLateHandlers
*
* PARAMETERS: None
*
517,11 → 645,63
*
*****************************************************************************/
 
ACPI_ADR_SPACE_TYPE SpaceId[] = {0, 1, 2, 3, 4, 5, 6, 7, 0x80};
#define AEXEC_NUM_REGIONS 9
ACPI_STATUS
AeInstallLateHandlers (
void)
{
ACPI_STATUS Status;
UINT32 i;
 
 
/* Install some fixed event handlers */
 
Status = AcpiInstallFixedEventHandler (ACPI_EVENT_GLOBAL, AeEventHandler, NULL);
AE_CHECK_OK (AcpiInstallFixedEventHandler, Status);
 
Status = AcpiInstallFixedEventHandler (ACPI_EVENT_RTC, AeEventHandler, NULL);
AE_CHECK_OK (AcpiInstallFixedEventHandler, Status);
 
/*
* Install handlers for some of the "device driver" address spaces
* such as EC, SMBus, etc.
*/
for (i = 0; i < ACPI_ARRAY_LENGTH (SpaceIdList); i++)
{
/* Install handler at the root object */
 
Status = AcpiInstallAddressSpaceHandler (AcpiGbl_RootNode,
SpaceIdList[i], AeRegionHandler, AeRegionInit, NULL);
if (ACPI_FAILURE (Status))
{
ACPI_EXCEPTION ((AE_INFO, Status,
"Could not install an OpRegion handler for %s space(%u)",
AcpiUtGetRegionName((UINT8) SpaceIdList[i]), SpaceIdList[i]));
return (Status);
}
}
 
return (AE_OK);
}
 
 
/******************************************************************************
*
* FUNCTION: AeInstallEarlyHandlers
*
* PARAMETERS: None
*
* RETURN: Status
*
* DESCRIPTION: Install handlers for the AcpiExec utility.
*
* Notes: Don't install handler for PCI_Config, we want to use the
* default handler to exercise that code.
*
*****************************************************************************/
 
ACPI_STATUS
AeInstallHandlers (void)
AeInstallEarlyHandlers (
void)
{
ACPI_STATUS Status;
UINT32 i;
531,6 → 711,13
ACPI_FUNCTION_ENTRY ();
 
 
Status = AcpiInstallInterfaceHandler (AeInterfaceHandler);
if (ACPI_FAILURE (Status))
{
printf ("Could not install interface handler, %s\n",
AcpiFormatException (Status));
}
 
Status = AcpiInstallTableHandler (AeTableHandler, NULL);
if (ACPI_FAILURE (Status))
{
584,8 → 771,12
 
Status = AcpiInstallNotifyHandler (Handle, ACPI_ALL_NOTIFY,
AeNotifyHandler, NULL);
AE_CHECK_OK (AcpiInstallNotifyHandler, Status);
 
Status = AcpiRemoveNotifyHandler (Handle, ACPI_ALL_NOTIFY,
AeNotifyHandler);
AE_CHECK_OK (AcpiRemoveNotifyHandler, Status);
 
Status = AcpiInstallNotifyHandler (Handle, ACPI_ALL_NOTIFY,
AeNotifyHandler, NULL);
if (ACPI_FAILURE (Status))
595,8 → 786,13
}
 
Status = AcpiAttachData (Handle, AeAttachedDataHandler, Handle);
AE_CHECK_OK (AcpiAttachData, Status);
 
Status = AcpiDetachData (Handle, AeAttachedDataHandler);
AE_CHECK_OK (AcpiDetachData, Status);
 
Status = AcpiAttachData (Handle, AeAttachedDataHandler, Handle);
AE_CHECK_OK (AcpiAttachData, Status);
}
else
{
603,23 → 799,24
printf ("No _SB_ found, %s\n", AcpiFormatException (Status));
}
 
/* Set a handler for all supported operation regions */
 
for (i = 0; i < AEXEC_NUM_REGIONS; i++)
/*
* Install handlers that will override the default handlers for some of
* the space IDs.
*/
for (i = 0; i < ACPI_ARRAY_LENGTH (DefaultSpaceIdList); i++)
{
Status = AcpiRemoveAddressSpaceHandler (AcpiGbl_RootNode,
SpaceId[i], AeRegionHandler);
/* Install handler at the root object */
 
/* Install handler at the root object.
* TBD: all default handlers should be installed here!
*/
Status = AcpiInstallAddressSpaceHandler (AcpiGbl_RootNode,
SpaceId[i], AeRegionHandler, AeRegionInit, NULL);
DefaultSpaceIdList[i], AeRegionHandler,
AeRegionInit, NULL);
if (ACPI_FAILURE (Status))
{
ACPI_EXCEPTION ((AE_INFO, Status,
"Could not install an OpRegion handler for %s space(%u)",
AcpiUtGetRegionName((UINT8) SpaceId[i]), SpaceId[i]));
"Could not install a default OpRegion handler for %s space(%u)",
AcpiUtGetRegionName ((UINT8) DefaultSpaceIdList[i]),
DefaultSpaceIdList[i]));
return (Status);
}
}
630,8 → 827,7
*/
AeRegions.NumberOfRegions = 0;
AeRegions.RegionList = NULL;
 
return Status;
return (Status);
}
 
 
678,7 → 874,7
*/
if (RegionObject->Region.Type != ACPI_TYPE_REGION)
{
return AE_OK;
return (AE_OK);
}
 
/*
720,10 → 916,12
{
case ACPI_READ:
Status = AcpiHwReadPort (Address, (UINT32 *) Value, BitWidth);
AE_CHECK_OK (AcpiHwReadPort, Status);
break;
 
case ACPI_WRITE:
Status = AcpiHwWritePort (Address, (UINT32) *Value, BitWidth);
AE_CHECK_OK (AcpiHwWritePort, Status);
break;
 
default:
867,7 → 1065,7
RegionElement = AcpiOsAllocate (sizeof (AE_REGION));
if (!RegionElement)
{
return AE_NO_MEMORY;
return (AE_NO_MEMORY);
}
 
RegionElement->Buffer = AcpiOsAllocate (Length);
874,7 → 1072,7
if (!RegionElement->Buffer)
{
AcpiOsFree (RegionElement);
return AE_NO_MEMORY;
return (AE_NO_MEMORY);
}
 
/* Initialize the region with the default fill value */
927,7 → 1125,7
ByteWidth, (UINT32)(RegionElement->Address),
RegionElement->Length));
 
return AE_AML_REGION_LIMIT;
return (AE_AML_REGION_LIMIT);
}
 
/*
958,9 → 1156,10
break;
 
default:
return AE_BAD_PARAMETER;
return (AE_BAD_PARAMETER);
}
return AE_OK;
 
return (AE_OK);
}
 
 
/drivers/devman/acpica/tools/acpiexec/aemain.c
8,7 → 8,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
122,17 → 122,18
#define _COMPONENT PARSER
ACPI_MODULE_NAME ("aemain")
 
UINT8 AcpiGbl_BatchMode = 0;
 
UINT8 AcpiGbl_RegionFillValue = 0;
BOOLEAN AcpiGbl_IgnoreErrors = FALSE;
BOOLEAN AcpiGbl_DbOpt_NoRegionSupport = FALSE;
BOOLEAN AcpiGbl_DebugTimeout = FALSE;
char BatchBuffer[128];
AE_TABLE_DESC *AeTableListHead = NULL;
 
static UINT8 AcpiGbl_BatchMode = 0;
static char BatchBuffer[128];
static AE_TABLE_DESC *AeTableListHead = NULL;
 
#define ASL_MAX_FILES 256
char *FileList[ASL_MAX_FILES];
int FileCount;
static char *FileList[ASL_MAX_FILES];
 
 
#define AE_SUPPORTED_OPTIONS "?b:d:e:f:gm^ovx:"
164,6 → 165,7
printf (" -da Disable method abort on error\n");
printf (" -di Disable execution of STA/INI methods during init\n");
printf (" -do Disable Operation Region address simulation\n");
printf (" -dr Disable repair of method return values\n");
printf (" -dt Disable allocation tracking (performance)\n");
printf ("\n");
 
203,6 → 205,7
char *Cmd = Ptr;
UINT8 Run = 0;
 
 
AcpiGbl_MethodExecuting = FALSE;
AcpiGbl_StepToNextCall = FALSE;
 
360,6 → 363,7
#ifdef WIN32
void *DirInfo;
char *Filename;
int FileCount;
 
 
FileCount = 0;
441,7 → 445,7
ACPI_TABLE_HEADER *Table = NULL;
UINT32 TableCount;
AE_TABLE_DESC *TableDesc;
char **FileList;
char **WildcardList;
char *Filename;
char *Directory;
char *FullPathname;
452,14 → 456,12
_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG));
#endif
 
printf ("\nIntel ACPI Component Architecture\nAML Execution/Debug Utility");
printf (" version %8.8X", ((UINT32) ACPI_CA_VERSION));
printf (" [%s]\n\n", __DATE__);
printf (ACPI_COMMON_SIGNON ("AML Execution/Debug Utility"));
 
if (argc < 2)
{
usage ();
return 0;
return (0);
}
 
signal (SIGINT, AeCtrlCHandler);
471,7 → 473,8
 
/* Init ACPI and start debugger thread */
 
AcpiInitializeSubsystem ();
Status = AcpiInitializeSubsystem ();
AE_CHECK_OK (AcpiInitializeSubsystem, Status);
 
/* Get the command line options */
 
482,7 → 485,7
{
printf ("**** The length of command line (%u) exceeded maximum (127)\n",
(UINT32) strlen (AcpiGbl_Optarg));
return -1;
return (-1);
}
AcpiGbl_BatchMode = 1;
strcpy (BatchBuffer, AcpiGbl_Optarg);
503,6 → 506,10
AcpiGbl_DbOpt_NoRegionSupport = TRUE;
break;
 
case 'r':
AcpiGbl_DisableAutoRepair = TRUE;
break;
 
case 't':
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
AcpiGbl_DisableMemTracking = TRUE;
586,7 → 593,7
case 'h':
default:
usage();
return -1;
return (-1);
}
 
 
617,21 → 624,21
 
/* Expand wildcards (Windows only) */
 
FileList = AsDoWildcard (Directory, Filename);
if (!FileList)
WildcardList = AsDoWildcard (Directory, Filename);
if (!WildcardList)
{
return -1;
return (-1);
}
 
while (*FileList)
while (*WildcardList)
{
FullPathname = AcpiOsAllocate (
strlen (Directory) + strlen (*FileList) + 1);
strlen (Directory) + strlen (*WildcardList) + 1);
 
/* Construct a full path to the file */
 
strcpy (FullPathname, Directory);
strcat (FullPathname, *FileList);
strcat (FullPathname, *WildcardList);
 
/* Get one table */
 
644,9 → 651,9
}
 
AcpiOsFree (FullPathname);
AcpiOsFree (*FileList);
*FileList = NULL;
FileList++;
AcpiOsFree (*WildcardList);
*WildcardList = NULL;
WildcardList++;
 
/*
* Ignore an FACS or RSDT, we can't use them.
676,7 → 683,7
Status = AeBuildLocalTables (TableCount, AeTableListHead);
if (ACPI_FAILURE (Status))
{
return -1;
return (-1);
}
 
Status = AeInstallTables ();
686,7 → 693,11
goto enterloop;
}
 
Status = AeInstallHandlers ();
/*
* Install most of the handlers.
* Override some default region handlers, especially SystemMemory
*/
Status = AeInstallEarlyHandlers ();
if (ACPI_FAILURE (Status))
{
goto enterloop;
693,8 → 704,7
}
 
/*
* TBD:
* Need a way to call this after the "LOAD" command
* TBD: Need a way to call this after the "LOAD" command
*/
Status = AcpiEnableSubsystem (InitFlags);
if (ACPI_FAILURE (Status))
710,6 → 720,11
goto enterloop;
}
 
/*
* Install handlers for "device driver" space IDs (EC,SMBus, etc.)
* and fixed event handlers
*/
AeInstallLateHandlers ();
AeMiscellaneousTests ();
}
 
721,7 → 736,7
}
else if (AcpiGbl_BatchMode == 2)
{
AcpiDbExecute (BatchBuffer, NULL, EX_NO_SINGLE_STEP);
AcpiDbExecute (BatchBuffer, NULL, NULL, EX_NO_SINGLE_STEP);
}
else
{
730,6 → 745,6
AcpiDbUserCommands (ACPI_DEBUGGER_COMMAND_PROMPT, NULL);
}
 
return 0;
return (0);
}
 
/drivers/devman/acpica/tools/acpiexec/aetables.c
1,6 → 1,6
/******************************************************************************
*
* Module Name: aetables - Miscellaneous ACPI tables for acpiexec utility
* Module Name: aetables - ACPI table setup/install for acpiexec utility
*
*****************************************************************************/
 
8,7 → 8,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
114,6 → 114,7
*****************************************************************************/
 
#include "aecommon.h"
#include "aetables.h"
 
#define _COMPONENT ACPI_TOOLS
ACPI_MODULE_NAME ("aetables")
129,149 → 130,32
AeLocalGetRootPointer (
void);
 
/*
* Misc ACPI tables to be installed
*/
/* User table (DSDT) */
 
/* Default DSDT. This will be replaced with the input DSDT */
static ACPI_TABLE_HEADER *DsdtToInstallOverride;
 
unsigned char DsdtCode[] =
{
0x44,0x53,0x44,0x54,0x24,0x00,0x00,0x00, /* 00000000 "DSDT$..." */
0x02,0x6F,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".oIntel." */
0x4E,0x75,0x6C,0x6C,0x44,0x53,0x44,0x54, /* 00000010 "NullDSDT" */
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
0x04,0x12,0x08,0x20,
};
/* Non-AML tables that are constructed locally and installed */
 
unsigned char LocalDsdtCode[] =
{
0x44,0x53,0x44,0x54,0x24,0x00,0x00,0x00, /* 00000000 "DSDT$..." */
0x02,0x2C,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".,Intel." */
0x4C,0x6F,0x63,0x61,0x6C,0x00,0x00,0x00, /* 00000010 "Local..." */
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
0x30,0x07,0x09,0x20,
};
static ACPI_TABLE_RSDP LocalRSDP;
static ACPI_TABLE_FACS LocalFACS;
static ACPI_TABLE_HEADER LocalTEST;
static ACPI_TABLE_HEADER LocalBADTABLE;
 
/* Several example SSDTs */
 
unsigned char Ssdt1Code[] = /* Has method _T98 */
{
0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "SSDT0..." */
0x01,0xB8,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */
0x39,0x38,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "98.p..`." */
};
 
unsigned char Ssdt2Code[] = /* Has method _T99 */
{
0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "SSDT0..." */
0x01,0xB7,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */
0x39,0x39,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "99.p..`." */
};
 
unsigned char Ssdt3Code[] = /* Has method _T97 */
{
0x54,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "TSDT0..." */
0x01,0xB8,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */
0x39,0x37,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "97.p..`." */
};
 
/* Example OEM table */
 
unsigned char Oem1Code[] =
{
0x4F,0x45,0x4D,0x31,0x38,0x00,0x00,0x00, /* 00000000 "OEM18..." */
0x01,0x4B,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".KIntel." */
0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
0x18,0x09,0x03,0x20,0x08,0x5F,0x58,0x54, /* 00000020 "... ._XT" */
0x32,0x0A,0x04,0x14,0x0C,0x5F,0x58,0x54, /* 00000028 "2...._XT" */
0x31,0x00,0x70,0x01,0x5F,0x58,0x54,0x32, /* 00000030 "1.p._XT2" */
};
 
/* ASL source for this table is at the end of this file */
 
unsigned char OemxCode[] =
{
0x4F,0x45,0x4D,0x58,0xB0,0x00,0x00,0x00, /* 00000000 "OEMX...." */
0x02,0x54,0x4D,0x79,0x4F,0x45,0x4D,0x00, /* 00000008 ".TMyOEM." */
0x54,0x65,0x73,0x74,0x00,0x00,0x00,0x00, /* 00000010 "Test...." */
0x32,0x04,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "2...INTL" */
0x31,0x03,0x10,0x20,0x14,0x1D,0x5F,0x49, /* 00000020 "1.. .._I" */
0x4E,0x49,0x00,0x70,0x0D,0x54,0x61,0x62, /* 00000028 "NI.p.Tab" */
0x6C,0x65,0x20,0x4F,0x45,0x4D,0x58,0x20, /* 00000030 "le OEMX " */
0x72,0x75,0x6E,0x6E,0x69,0x6E,0x67,0x00, /* 00000038 "running." */
0x5B,0x31,0x10,0x22,0x5C,0x5F,0x47,0x50, /* 00000040 "[1."\_GP" */
0x45,0x14,0x06,0x5F,0x45,0x30,0x37,0x00, /* 00000048 "E.._E07." */
0x14,0x06,0x5F,0x45,0x32,0x32,0x00,0x14, /* 00000050 ".._E22.." */
0x06,0x5F,0x4C,0x33,0x31,0x00,0x14,0x06, /* 00000058 "._L31..." */
0x5F,0x4C,0x36,0x36,0x00,0x5B,0x82,0x10, /* 00000060 "_L66.[.." */
0x4F,0x45,0x4D,0x31,0x08,0x5F,0x50,0x52, /* 00000068 "OEM1._PR" */
0x57,0x12,0x05,0x02,0x0A,0x07,0x00,0x5B, /* 00000070 "W......[" */
0x82,0x10,0x4F,0x45,0x4D,0x32,0x08,0x5F, /* 00000078 "..OEM2._" */
0x50,0x52,0x57,0x12,0x05,0x02,0x0A,0x66, /* 00000080 "PRW....f" */
0x00,0x10,0x26,0x5C,0x47,0x50,0x45,0x32, /* 00000088 "..&\GPE2" */
0x14,0x06,0x5F,0x4C,0x30,0x31,0x00,0x14, /* 00000090 ".._L01.." */
0x06,0x5F,0x45,0x30,0x37,0x00,0x08,0x5F, /* 00000098 "._E07.._" */
0x50,0x52,0x57,0x12,0x0C,0x02,0x12,0x08, /* 000000A0 "PRW....." */
0x02,0x5C,0x47,0x50,0x45,0x32,0x01,0x00 /* 000000A8 ".\GPE2.." */
};
 
/*
* Example installable control method
*
* DefinitionBlock ("", "DSDT", 2, "Intel", "MTHDTEST", 0x20090512)
* {
* Method (\_SI_._T97, 1, Serialized)
* {
* Store ("Example installed method", Debug)
* Store (Arg0, Debug)
* Return ()
* }
* }
*
* Compiled byte code below.
* We need a local FADT so that the hardware subcomponent will function,
* even though the underlying OSD HW access functions don't do anything.
*/
unsigned char MethodCode[] =
{
0x44,0x53,0x44,0x54,0x53,0x00,0x00,0x00, /* 00000000 "DSDTS..." */
0x02,0xF9,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
0x4D,0x54,0x48,0x44,0x54,0x45,0x53,0x54, /* 00000010 "MTHDTEST" */
0x12,0x05,0x09,0x20,0x49,0x4E,0x54,0x4C, /* 00000018 "... INTL" */
0x22,0x04,0x09,0x20,0x14,0x2E,0x2E,0x5F, /* 00000020 "".. ..._" */
0x54,0x49,0x5F,0x5F,0x54,0x39,0x37,0x09, /* 00000028 "SI__T97." */
0x70,0x0D,0x45,0x78,0x61,0x6D,0x70,0x6C, /* 00000030 "p.Exampl" */
0x65,0x20,0x69,0x6E,0x73,0x74,0x61,0x6C, /* 00000038 "e instal" */
0x6C,0x65,0x64,0x20,0x6D,0x65,0x74,0x68, /* 00000040 "led meth" */
0x6F,0x64,0x00,0x5B,0x31,0x70,0x68,0x5B, /* 00000048 "od.[1ph[" */
0x31,0xA4,0x00,
};
static ACPI_TABLE_FADT LocalFADT;
 
 
/*
* We need a local FADT so that the hardware subcomponent will function,
* even though the underlying OSD HW access functions don't do
* anything.
* Use XSDT so that both 32- and 64-bit versions of this utility will
* function automatically.
*/
ACPI_TABLE_HEADER *DsdtToInstallOverride;
ACPI_TABLE_RSDP LocalRSDP;
ACPI_TABLE_FADT LocalFADT;
ACPI_TABLE_FACS LocalFACS;
ACPI_TABLE_HEADER LocalTEST;
ACPI_TABLE_HEADER LocalBADTABLE;
ACPI_TABLE_RSDT *LocalRSDT;
static ACPI_TABLE_XSDT *LocalXSDT;
 
#define BASE_RSDT_TABLES 7
#define BASE_RSDT_SIZE (sizeof (ACPI_TABLE_RSDT) + ((BASE_RSDT_TABLES -1) * sizeof (UINT32)))
#define BASE_XSDT_TABLES 8
#define BASE_XSDT_SIZE (sizeof (ACPI_TABLE_XSDT) + \
((BASE_XSDT_TABLES -1) * sizeof (UINT64)))
 
#define ACPI_MAX_INIT_TABLES (32)
static ACPI_TABLE_DESC Tables[ACPI_MAX_INIT_TABLES];
317,7 → 201,7
*
* RETURN: Status
*
* DESCRIPTION: Build a complete ACPI table chain, with a local RSDP, RSDT,
* DESCRIPTION: Build a complete ACPI table chain, with a local RSDP, XSDT,
* FADT, and several other test tables.
*
*****************************************************************************/
328,7 → 212,7
AE_TABLE_DESC *TableList)
{
ACPI_PHYSICAL_ADDRESS DsdtAddress = 0;
UINT32 RsdtSize;
UINT32 XsdtSize;
AE_TABLE_DESC *NextTable;
UINT32 NextIndex;
ACPI_TABLE_FADT *ExternalFadt = NULL;
335,7 → 219,7
 
 
/*
* Update the table count. For DSDT, it is not put into the RSDT. For
* Update the table count. For DSDT, it is not put into the XSDT. For
* FADT, this is already accounted for since we usually install a
* local FADT.
*/
350,48 → 234,53
NextTable = NextTable->Next;
}
 
RsdtSize = BASE_RSDT_SIZE + (TableCount * sizeof (UINT32));
XsdtSize = BASE_XSDT_SIZE + (TableCount * sizeof (UINT64));
 
/* Build an RSDT */
/* Build an XSDT */
 
LocalRSDT = AcpiOsAllocate (RsdtSize);
if (!LocalRSDT)
LocalXSDT = AcpiOsAllocate (XsdtSize);
if (!LocalXSDT)
{
return AE_NO_MEMORY;
return (AE_NO_MEMORY);
}
 
ACPI_MEMSET (LocalRSDT, 0, RsdtSize);
ACPI_STRNCPY (LocalRSDT->Header.Signature, ACPI_SIG_RSDT, 4);
LocalRSDT->Header.Length = RsdtSize;
ACPI_MEMSET (LocalXSDT, 0, XsdtSize);
ACPI_STRNCPY (LocalXSDT->Header.Signature, ACPI_SIG_XSDT, 4);
LocalXSDT->Header.Length = XsdtSize;
LocalXSDT->Header.Revision = 1;
 
LocalRSDT->TableOffsetEntry[0] = ACPI_PTR_TO_PHYSADDR (&LocalTEST);
LocalRSDT->TableOffsetEntry[1] = ACPI_PTR_TO_PHYSADDR (&LocalBADTABLE);
LocalRSDT->TableOffsetEntry[2] = ACPI_PTR_TO_PHYSADDR (&LocalFADT);
LocalXSDT->TableOffsetEntry[0] = ACPI_PTR_TO_PHYSADDR (&LocalTEST);
LocalXSDT->TableOffsetEntry[1] = ACPI_PTR_TO_PHYSADDR (&LocalBADTABLE);
LocalXSDT->TableOffsetEntry[2] = ACPI_PTR_TO_PHYSADDR (&LocalFADT);
 
/* Install two SSDTs to test multiple table support */
 
LocalRSDT->TableOffsetEntry[3] = ACPI_PTR_TO_PHYSADDR (&Ssdt1Code);
LocalRSDT->TableOffsetEntry[4] = ACPI_PTR_TO_PHYSADDR (&Ssdt2Code);
LocalXSDT->TableOffsetEntry[3] = ACPI_PTR_TO_PHYSADDR (&Ssdt1Code);
LocalXSDT->TableOffsetEntry[4] = ACPI_PTR_TO_PHYSADDR (&Ssdt2Code);
 
/* Install the OEM1 table to test LoadTable */
 
LocalRSDT->TableOffsetEntry[5] = ACPI_PTR_TO_PHYSADDR (&Oem1Code);
LocalXSDT->TableOffsetEntry[5] = ACPI_PTR_TO_PHYSADDR (&Oem1Code);
 
/* Install the OEMx table to test LoadTable */
 
LocalRSDT->TableOffsetEntry[6] = ACPI_PTR_TO_PHYSADDR (&OemxCode);
LocalXSDT->TableOffsetEntry[6] = ACPI_PTR_TO_PHYSADDR (&OemxCode);
 
/* Install the ECDT table to test _REG */
 
LocalXSDT->TableOffsetEntry[7] = ACPI_PTR_TO_PHYSADDR (&EcdtCode);
 
/*
* Install the user tables. The DSDT must be installed in the FADT.
* All other tables are installed directly into the RSDT.
* All other tables are installed directly into the XSDT.
*/
NextIndex = BASE_RSDT_TABLES;
NextIndex = BASE_XSDT_TABLES;
NextTable = TableList;
while (NextTable)
{
/*
* Incoming DSDT or FADT are special cases. All other tables are
* just immediately installed into the RSDT.
* just immediately installed into the XSDT.
*/
if (ACPI_COMPARE_NAME (NextTable->Table->Signature, ACPI_SIG_DSDT))
{
398,7 → 287,7
if (DsdtAddress)
{
printf ("Already found a DSDT, only one allowed\n");
return AE_ALREADY_EXISTS;
return (AE_ALREADY_EXISTS);
}
 
/* The incoming user table is a DSDT */
409,13 → 298,13
else if (ACPI_COMPARE_NAME (NextTable->Table->Signature, ACPI_SIG_FADT))
{
ExternalFadt = ACPI_CAST_PTR (ACPI_TABLE_FADT, NextTable->Table);
LocalRSDT->TableOffsetEntry[2] = ACPI_PTR_TO_PHYSADDR (NextTable->Table);
LocalXSDT->TableOffsetEntry[2] = ACPI_PTR_TO_PHYSADDR (NextTable->Table);
}
else
{
/* Install the table in the RSDT */
/* Install the table in the XSDT */
 
LocalRSDT->TableOffsetEntry[NextIndex] = ACPI_PTR_TO_PHYSADDR (NextTable->Table);
LocalXSDT->TableOffsetEntry[NextIndex] = ACPI_PTR_TO_PHYSADDR (NextTable->Table);
NextIndex++;
}
 
427,14 → 316,14
ACPI_MEMSET (&LocalRSDP, 0, sizeof (ACPI_TABLE_RSDP));
ACPI_MEMCPY (LocalRSDP.Signature, ACPI_SIG_RSDP, 8);
ACPI_MEMCPY (LocalRSDP.OemId, "I_TEST", 6);
LocalRSDP.Revision = 1;
LocalRSDP.RsdtPhysicalAddress = ACPI_PTR_TO_PHYSADDR (LocalRSDT);
LocalRSDP.Length = sizeof (ACPI_TABLE_RSDT);
LocalRSDP.Revision = 2;
LocalRSDP.XsdtPhysicalAddress = ACPI_PTR_TO_PHYSADDR (LocalXSDT);
LocalRSDP.Length = sizeof (ACPI_TABLE_XSDT);
 
/* Set checksums for both RSDT and RSDP */
/* Set checksums for both XSDT and RSDP */
 
LocalRSDT->Header.Checksum = (UINT8) -AcpiTbChecksum (
(void *) LocalRSDT, LocalRSDT->Header.Length);
LocalXSDT->Header.Checksum = (UINT8) -AcpiTbChecksum (
(void *) LocalXSDT, LocalXSDT->Header.Length);
LocalRSDP.Checksum = (UINT8) -AcpiTbChecksum (
(void *) &LocalRSDP, ACPI_RSDP_CHECKSUM_LENGTH);
 
476,8 → 365,8
 
/* Setup FADT header and DSDT/FACS addresses */
 
LocalFADT.Dsdt = DsdtAddress;
LocalFADT.Facs = ACPI_PTR_TO_PHYSADDR (&LocalFACS);
LocalFADT.Dsdt = 0;
LocalFADT.Facs = 0;
 
LocalFADT.XDsdt = DsdtAddress;
LocalFADT.XFacs = ACPI_PTR_TO_PHYSADDR (&LocalFACS);
488,21 → 377,25
/* Miscellaneous FADT fields */
 
LocalFADT.Gpe0BlockLength = 16;
LocalFADT.Gpe0Block = 0x00001234;
 
LocalFADT.Gpe1BlockLength = 6;
LocalFADT.Gpe1Block = 0x00005678;
LocalFADT.Gpe1Base = 96;
 
LocalFADT.Pm1EventLength = 4;
LocalFADT.Pm1aEventBlock = 0x00001aaa;
LocalFADT.Pm1bEventBlock = 0x00001bbb;
 
LocalFADT.Pm1ControlLength = 2;
LocalFADT.Pm1aControlBlock = 0xB0;
 
LocalFADT.PmTimerLength = 4;
LocalFADT.PmTimerBlock = 0xA0;
 
LocalFADT.Gpe0Block = 0x00001234;
LocalFADT.Gpe1Block = 0x00005678;
LocalFADT.Pm2ControlBlock = 0xC0;
LocalFADT.Pm2ControlLength = 1;
 
LocalFADT.Pm1aEventBlock = 0x00001aaa;
LocalFADT.Pm1bEventBlock = 0x00001bbb;
LocalFADT.PmTimerBlock = 0xA0;
LocalFADT.Pm1aControlBlock = 0xB0;
 
/* Setup one example X-64 field */
 
LocalFADT.XPm1bEventBlock.SpaceId = ACPI_ADR_SPACE_SYSTEM_IO;
524,8 → 417,10
LocalFACS.Length = sizeof (ACPI_TABLE_FACS);
LocalFACS.GlobalLock = 0x11AA0011;
 
/* Build a fake table [TEST] so that we make sure that the CA core ignores it */
 
/*
* Build a fake table [TEST] so that we make sure that the
* ACPICA core ignores it
*/
ACPI_MEMSET (&LocalTEST, 0, sizeof (ACPI_TABLE_HEADER));
ACPI_STRNCPY (LocalTEST.Signature, "TEST", 4);
 
534,8 → 429,10
LocalTEST.Checksum = (UINT8) -AcpiTbChecksum (
(void *) &LocalTEST, LocalTEST.Length);
 
/* Build a fake table with a bad signature [BAD!] so that we make sure that the CA core ignores it */
 
/*
* Build a fake table with a bad signature [BAD!] so that we make
* sure that the ACPICA core ignores it
*/
ACPI_MEMSET (&LocalBADTABLE, 0, sizeof (ACPI_TABLE_HEADER));
ACPI_STRNCPY (LocalBADTABLE.Signature, "BAD!", 4);
 
566,9 → 463,15
{
ACPI_STATUS Status;
 
 
Status = AcpiInitializeTables (Tables, ACPI_MAX_INIT_TABLES, TRUE);
AE_CHECK_OK (AcpiInitializeTables, Status);
 
Status = AcpiReallocateRootTable ();
AE_CHECK_OK (AcpiReallocateRootTable, Status);
 
Status = AcpiLoadTables ();
AE_CHECK_OK (AcpiLoadTables, Status);
 
/*
* Test run-time control method installation. Do it twice to test code
613,112 → 516,3
 
return ((ACPI_PHYSICAL_ADDRESS) &LocalRSDP);
}
 
 
#if 0
/******************************************************************************
*
* DESCRIPTION: ASL tables that are used in RSDT/XSDT, also used to test
* Load/LoadTable operators.
*
*****************************************************************************/
 
DefinitionBlock ("", "OEMX", 2, "MyOEM", "Test", 0x00000432)
{
External (GPE2, DeviceObj)
 
Method (_INI)
{
Store ("Table OEMX running", Debug)
}
 
Scope (\_GPE)
{
Method (_E07) {}
Method (_E22) {}
Method (_L31) {}
Method (_L66) {}
}
 
Device (OEM1)
{
Name (_PRW, Package(){7,0})
}
Device (OEM2)
{
Name (_PRW, Package(){0x66,0})
}
 
Scope (\GPE2)
{
Method (_L01) {}
Method (_E07) {}
 
Name (_PRW, Package() {Package() {\GPE2, 1}, 0})
}
}
 
/* Parent gr.asl file */
 
DefinitionBlock ("", "DSDT", 2, "Intel", "Many", 0x00000001)
{
Name (BUF1, Buffer()
{
0x4F,0x45,0x4D,0x58,0xB0,0x00,0x00,0x00, /* 00000000 "OEMX...." */
0x02,0x54,0x4D,0x79,0x4F,0x45,0x4D,0x00, /* 00000008 ".TMyOEM." */
0x54,0x65,0x73,0x74,0x00,0x00,0x00,0x00, /* 00000010 "Test...." */
0x32,0x04,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "2...INTL" */
0x31,0x03,0x10,0x20,0x14,0x1D,0x5F,0x49, /* 00000020 "1.. .._I" */
0x4E,0x49,0x00,0x70,0x0D,0x54,0x61,0x62, /* 00000028 "NI.p.Tab" */
0x6C,0x65,0x20,0x4F,0x45,0x4D,0x58,0x20, /* 00000030 "le OEMX " */
0x72,0x75,0x6E,0x6E,0x69,0x6E,0x67,0x00, /* 00000038 "running." */
0x5B,0x31,0x10,0x22,0x5C,0x5F,0x47,0x50, /* 00000040 "[1."\_GP" */
0x45,0x14,0x06,0x5F,0x45,0x30,0x37,0x00, /* 00000048 "E.._E07." */
0x14,0x06,0x5F,0x45,0x32,0x32,0x00,0x14, /* 00000050 ".._E22.." */
0x06,0x5F,0x4C,0x33,0x31,0x00,0x14,0x06, /* 00000058 "._L31..." */
0x5F,0x4C,0x36,0x36,0x00,0x5B,0x82,0x10, /* 00000060 "_L66.[.." */
0x4F,0x45,0x4D,0x31,0x08,0x5F,0x50,0x52, /* 00000068 "OEM1._PR" */
0x57,0x12,0x05,0x02,0x0A,0x07,0x00,0x5B, /* 00000070 "W......[" */
0x82,0x10,0x4F,0x45,0x4D,0x32,0x08,0x5F, /* 00000078 "..OEM2._" */
0x50,0x52,0x57,0x12,0x05,0x02,0x0A,0x66, /* 00000080 "PRW....f" */
0x00,0x10,0x26,0x5C,0x47,0x50,0x45,0x32, /* 00000088 "..&\GPE2" */
0x14,0x06,0x5F,0x4C,0x30,0x31,0x00,0x14, /* 00000090 ".._L01.." */
0x06,0x5F,0x45,0x30,0x37,0x00,0x08,0x5F, /* 00000098 "._E07.._" */
0x50,0x52,0x57,0x12,0x0C,0x02,0x12,0x08, /* 000000A0 "PRW....." */
0x02,0x5C,0x47,0x50,0x45,0x32,0x01,0x00 /* 000000A8 ".\GPE2.." */
})
 
Name (HNDL, 0)
Method (LD)
{
Load (BUF1, HNDL)
Store ("Load operator, handle:", Debug)
Store (HNDL, Debug)
}
 
Method (MAIN, 0, NotSerialized)
{
Store ("Loading OEMX table", Debug)
Store (LoadTable ("OEMX", "MyOEM", "Test"), Debug)
}
 
Scope (\_GPE)
{
Method (_L08) {}
Method (_E08) {}
Method (_L0B) {}
}
 
Device (DEV0)
{
Name (_PRW, Package() {0x11, 0})
}
 
Device (\GPE2)
{
Method (_L00) {}
}
}
 
#endif
 
/drivers/devman/acpica/tools/acpisrc/Makefile
1,17 → 1,113
#
# acpisrc - ACPICA source code conversion utility
#
# NOTE: This makefile is intended to be used in the Linux environment,
# with the Linux directory structure. It will not work directly
# on the native ACPICA source tree.
#
 
#
# Configuration
# Notes:
# gcc should be version 4 or greater, otherwise some of the options
# used will not be recognized.
# Global optimization flags (such as -O2, -Os) are not used, since
# they cause issues on some compilers.
# The _GNU_SOURCE symbol is required for many hosts.
#
PROG= acpisrc
SRCS= ascase.c asconvrt.c asfile.c asmain.c asremove.c astable.c \
asutils.c osunixdir.c ../../common/getopt.c
 
CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include
HOST = _LINUX
NOMAN = YES
COMPILE = $(CC) -c $(CFLAGS) $(CWARNINGFLAGS) -o$@ $?
 
ACPICA_COMPONENTS =
ACPICA_SRC = ../..
ACPICA_COMMON = $(ACPICA_SRC)/common
ACPICA_CORE = $(ACPICA_SRC)$(ACPICA_COMPONENTS)
ACPICA_TOOLS = $(ACPICA_SRC)/tools
ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers
INSTALLDIR = /usr/bin
INSTALLPROG = cp --remove-destination $(PROG) $(INSTALLDIR)
 
aslmain : $(patsubst %.c,%.o, $(SRCS))
$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
CFLAGS+= \
-D$(HOST) \
-D_GNU_SOURCE \
-DACPI_SRC_APP \
-I$(ACPICA_SRC)/include \
-I.
 
CLEANFILES= $(PROG)
CWARNINGFLAGS = \
-ansi \
-Wall \
-Wbad-function-cast \
-Wdeclaration-after-statement \
-Werror \
-Wformat=2 \
-Wmissing-declarations \
-Wmissing-prototypes \
-Wstrict-aliasing=0 \
-Wstrict-prototypes \
-Wswitch-default \
-Wpointer-arith \
-Wundef
 
OBJS = \
ascase.o \
asconvrt.o \
asfile.o \
asmain.o \
asremove.o \
astable.o \
asutils.o \
osunixdir.o \
getopt.o
 
#
# Root rule
#
$(PROG) : $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
 
#
# acpisrc source
#
ascase.o : $(ACPICA_TOOLS)/acpisrc/ascase.c
$(COMPILE)
 
asconvrt.o : $(ACPICA_TOOLS)/acpisrc/asconvrt.c
$(COMPILE)
 
asfile.o : $(ACPICA_TOOLS)/acpisrc/asfile.c
$(COMPILE)
 
asmain.o : $(ACPICA_TOOLS)/acpisrc/asmain.c
$(COMPILE)
 
asremove.o : $(ACPICA_TOOLS)/acpisrc/asremove.c
$(COMPILE)
 
astable.o : $(ACPICA_TOOLS)/acpisrc/astable.c
$(COMPILE)
 
asutils.o : $(ACPICA_TOOLS)/acpisrc/asutils.c
$(COMPILE)
 
#
# ACPICA core source - common
#
getopt.o : $(ACPICA_COMMON)/getopt.c
$(COMPILE)
 
#
# Unix OS services layer (OSL)
#
osunixdir.o : $(ACPICA_OSL)/osunixdir.c
$(COMPILE)
 
 
clean :
rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
rm -f $(PROG) $(PROG) $(OBJS)
 
install :
$(INSTALLPROG)
/drivers/devman/acpica/tools/acpisrc/acpisrc.h
9,7 → 9,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
121,6 → 121,9
#define LINUX_HEADER_SIGNATURE " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS"
#define LINES_IN_ASL_HEADER 29 /* Header as output from disassembler */
 
#include "acpi.h"
#include "accommon.h"
 
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
132,16 → 135,14
#endif
#include <errno.h>
 
#include "acpi.h"
#include "accommon.h"
 
 
/* Fixups for non-Win32 compilation */
#ifndef WIN32
/* O_BINARY is not always defined */
#ifndef O_BINARY
#define O_BINARY 0x0
#endif
 
/* Fixups for non-Win32 compilation */
#ifndef WIN32
#define mkdir(x) mkdir(x, 0770)
char * strlwr(char* str);
#endif
278,6 → 279,7
extern ACPI_CONVERSION_TABLE CleanupConversionTable;
extern ACPI_CONVERSION_TABLE StatsConversionTable;
extern ACPI_CONVERSION_TABLE CustomConversionTable;
extern ACPI_CONVERSION_TABLE LicenseConversionTable;
 
 
/* Prototypes */
/drivers/devman/acpica/tools/acpisrc/ascase.c
9,7 → 9,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
/drivers/devman/acpica/tools/acpisrc/asconvrt.c
9,7 → 9,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
/drivers/devman/acpica/tools/acpisrc/asfile.c
9,7 → 9,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
132,7 → 132,7
char *Filename,
char *Buffer);
 
static inline int
static ACPI_INLINE int
AsMaxInt (int a, int b)
{
return (a > b ? a : b);
409,7 → 409,8
 
Gbl_StructDefs = strstr (FileBuffer, "/* acpisrc:StructDefs");
Gbl_Files++;
VERBOSE_PRINT (("Processing %u bytes\n", strlen (FileBuffer)));
VERBOSE_PRINT (("Processing %u bytes\n",
(unsigned int) strlen (FileBuffer)));
 
if (ConversionTable->LowerCaseTable)
{
/drivers/devman/acpica/tools/acpisrc/asmain.c
9,7 → 9,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
340,6 → 340,7
printf ("\n");
printf ("Usage: acpisrc [-c|l|u] [-dsvy] <SourceDir> <DestinationDir>\n\n");
printf ("Where: -c Generate cleaned version of the source\n");
printf (" -h Insert dual-license header into all modules\n");
printf (" -l Generate Linux version of the source\n");
printf (" -u Generate Custom source translation\n");
printf ("\n");
372,9 → 373,7
UINT32 FileType;
 
 
printf ("ACPI Source Code Conversion Utility");
printf (" version %8.8X", ((UINT32) ACPI_CA_VERSION));
printf (" [%s]\n\n", __DATE__);
printf (ACPI_COMMON_SIGNON ("ACPI Source Code Conversion Utility"));
 
if (argc < 2)
{
384,7 → 383,7
 
/* Command line options */
 
while ((j = AcpiGetopt (argc, argv, "cdlqsuvy")) != EOF) switch(j)
while ((j = AcpiGetopt (argc, argv, "cdhlqsuvy")) != EOF) switch(j)
{
case 'l':
/* Linux code generation */
402,6 → 401,13
ConversionTable = &CleanupConversionTable;
break;
 
case 'h':
/* Inject Dual-license header */
 
printf ("Inserting Dual-license header to all modules\n");
ConversionTable = &LicenseConversionTable;
break;
 
case 's':
/* Statistics only */
 
/drivers/devman/acpica/tools/acpisrc/asremove.c
9,7 → 9,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
/drivers/devman/acpica/tools/acpisrc/astable.c
9,7 → 9,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
161,9 → 161,9
*
******************************************************************************/
 
char LinuxHeader[] =
char DualLicenseHeader[] =
"/*\n"
" * Copyright (C) 2000 - 2010, Intel Corp.\n"
" * Copyright (C) 2000 - 2011, Intel Corp.\n"
" * All rights reserved.\n"
" *\n"
" * Redistribution and use in source and binary forms, with or without\n"
241,7 → 241,11
{"INT16", "s16", REPLACE_WHOLE_WORD},
{"INT8", "s8", REPLACE_WHOLE_WORD},
 
{NULL, NULL, 0},
/* Include file paths */
 
{"\"acpi.h\"", "<acpi/acpi.h>", REPLACE_WHOLE_WORD},
 
{NULL, NULL, 0}
};
 
ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
283,6 → 287,7
{"ACPI_EXECUTE_TYPE", SRC_TYPE_SIMPLE},
{"ACPI_EXECUTE_WALK", SRC_TYPE_STRUCT},
{"ACPI_EXTERNAL_LIST", SRC_TYPE_STRUCT},
{"ACPI_EXTERNAL_FILE", SRC_TYPE_STRUCT},
{"ACPI_FADT_INFO", SRC_TYPE_STRUCT},
{"ACPI_FADT_PM_INFO", SRC_TYPE_STRUCT},
{"ACPI_FIELD_INFO", SRC_TYPE_STRUCT},
297,6 → 302,7
{"ACPI_GPE_DEVICE_INFO", SRC_TYPE_STRUCT},
{"ACPI_GPE_EVENT_INFO", SRC_TYPE_STRUCT},
{"ACPI_GPE_HANDLER", SRC_TYPE_SIMPLE},
{"ACPI_GPE_HANDLER_INFO", SRC_TYPE_STRUCT},
{"ACPI_GPE_INDEX_INFO", SRC_TYPE_STRUCT},
{"ACPI_GPE_REGISTER_INFO", SRC_TYPE_STRUCT},
{"ACPI_GPE_WALK_INFO", SRC_TYPE_STRUCT},
377,6 → 383,7
{"ACPI_PARSE_STATE", SRC_TYPE_STRUCT},
{"ACPI_PARSE_UPWARDS", SRC_TYPE_SIMPLE},
{"ACPI_PARSE_VALUE", SRC_TYPE_UNION},
{"ACPI_PCI_DEVICE", SRC_TYPE_STRUCT},
{"ACPI_PCI_ID", SRC_TYPE_STRUCT},
{"ACPI_PCI_ROUTING_TABLE", SRC_TYPE_STRUCT},
{"ACPI_PHYSICAL_ADDRESS", SRC_TYPE_SIMPLE},
600,6 → 607,8
{"ACPI_MADT_PROCESSOR_APIC", SRC_TYPE_STRUCT},
{"ACPI_MCFG_ALLOCATION", SRC_TYPE_STRUCT},
{"ACPI_MSCT_PROXIMITY", SRC_TYPE_STRUCT},
{"ACPI_RSDP_COMMON", SRC_TYPE_STRUCT},
{"ACPI_RSDP_EXTENSION", SRC_TYPE_STRUCT},
{"ACPI_SRAT_CPU_AFFINITY", SRC_TYPE_STRUCT},
{"ACPI_SRAT_HEADER", SRC_TYPE_STRUCT},
{"ACPI_SRAT_MEM_AFFINITY", SRC_TYPE_STRUCT},
606,33 → 615,11
{"ACPI_SRAT_X2APIC_CPU_AFFINITY", SRC_TYPE_STRUCT},
{"ACPI_WDAT_ENTRY", SRC_TYPE_STRUCT},
 
/* Data Table compiler */
 
/* Legacy names, should be removed */
{"DT_FIELD", SRC_TYPE_STRUCT},
{"DT_SUBTABLE", SRC_TYPE_STRUCT},
 
{"EC_BOOT_RESOURCES", SRC_TYPE_STRUCT},
{"HPET_TABLE", SRC_TYPE_STRUCT},
{"MADT_ADDRESS_OVERRIDE", SRC_TYPE_STRUCT},
{"MADT_INTERRUPT_OVERRIDE", SRC_TYPE_STRUCT},
{"MADT_INTERRUPT_SOURCE", SRC_TYPE_STRUCT},
{"MADT_IO_APIC", SRC_TYPE_STRUCT},
{"MADT_IO_SAPIC", SRC_TYPE_STRUCT},
{"MADT_LOCAL_APIC_NMI", SRC_TYPE_STRUCT},
{"MADT_LOCAL_SAPIC", SRC_TYPE_STRUCT},
{"MADT_NMI_SOURCE", SRC_TYPE_STRUCT},
{"MADT_PROCESSOR_APIC", SRC_TYPE_STRUCT},
{"MEMORY_AFFINITY", SRC_TYPE_STRUCT},
{"MULTIPLE_APIC_TABLE", SRC_TYPE_STRUCT},
{"SMART_BATTERY_TABLE", SRC_TYPE_STRUCT},
{"STATIC_RESOURCE_ALLOC", SRC_TYPE_STRUCT},
{"SYSTEM_RESOURCE_AFFINITY", SRC_TYPE_STRUCT},
{"SYSTEM_LOCALITY_INFO", SRC_TYPE_STRUCT},
{"FACS_DESCRIPTOR", SRC_TYPE_STRUCT},
{"FADT_DESCRIPTOR_REV1", SRC_TYPE_STRUCT},
{"FADT_DESCRIPTOR", SRC_TYPE_STRUCT},
{"FADT_DESCRIPTOR_REV2_MINUS", SRC_TYPE_STRUCT},
{"RSDP_DESCRIPTOR", SRC_TYPE_STRUCT},
{"RSDT_DESCRIPTOR", SRC_TYPE_STRUCT},
{"XSDT_DESCRIPTOR", SRC_TYPE_STRUCT},
{NULL, 0}
};
 
677,7 → 664,7
 
ACPI_CONVERSION_TABLE LinuxConversionTable = {
 
LinuxHeader,
DualLicenseHeader,
FLG_NO_CARRIAGE_RETURNS | FLG_LOWERCASE_DIRNAMES,
 
AcpiIdentifiers,
715,7 → 702,6
*
******************************************************************************/
 
 
ACPI_CONVERSION_TABLE CleanupConversionTable = {
 
NULL,
773,6 → 759,40
 
/******************************************************************************
*
* Dual License injection translation table
*
******************************************************************************/
 
ACPI_CONVERSION_TABLE LicenseConversionTable = {
 
DualLicenseHeader,
FLG_DEFAULT_FLAGS,
NULL,
 
/* C source files */
 
NULL,
NULL,
NULL,
NULL,
NULL,
(CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
CVT_COUNT_SHORTMULTILINE_COMMENTS),
 
/* C header files */
 
NULL,
NULL,
NULL,
NULL,
NULL,
(CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
CVT_COUNT_SHORTMULTILINE_COMMENTS),
};
 
 
/******************************************************************************
*
* Customizable translation tables
*
******************************************************************************/
780,14 → 800,14
ACPI_STRING_TABLE CustomReplacements[] = {
 
 
{"ACPI_INTEGER_MAX", "ACPI_UINT64_MAX", REPLACE_WHOLE_WORD},
{"(c) 1999 - 2010", "(c) 1999 - 2011", REPLACE_WHOLE_WORD}, /* Main ACPICA source */
{"(c) 2006 - 2010", "(c) 2006 - 2011", REPLACE_WHOLE_WORD}, /* Test suites */
 
#if 0
{"(ACPI_INTEGER)", "(UINT64)", REPLACE_WHOLE_WORD},
{"ACPI_INTEGER ", "UINT64 ", REPLACE_WHOLE_WORD},
{"ACPI_INTEGER", "UINT64", REPLACE_WHOLE_WORD},
{"(c) 1999 - 2009", "(c) 1999 - 2010", REPLACE_WHOLE_WORD}, /* Main ACPICA source */
{"(c) 2006 - 2009", "(c) 2006 - 2010", REPLACE_WHOLE_WORD}, /* Test suites */
{"ACPI_INTEGER_MAX", "ACPI_UINT64_MAX", REPLACE_WHOLE_WORD},
{"#include \"acpi.h\"", "#include \"acpi.h\"\n#include \"accommon.h\"", REPLACE_SUBSTRINGS},
{"AcpiTbSumTable", "AcpiTbSumTable", REPLACE_WHOLE_WORD},
{"ACPI_SIG_BOOT", "ACPI_SIG_BOOT", REPLACE_WHOLE_WORD},
/drivers/devman/acpica/tools/acpisrc/asutils.c
9,7 → 9,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
/drivers/devman/acpica/tools/acpixtract/Makefile
1,16 → 1,73
#
# acpixtract - extract binary ACPI tables from acpidump text output
#
# NOTE: This makefile is intended to be used in the Linux environment,
# with the Linux directory structure. It will not work directly
# on the native ACPICA source tree.
#
 
#
# Configuration
# Notes:
# gcc should be version 4 or greater, otherwise some of the options
# used will not be recognized.
# Global optimization flags (such as -O2, -Os) are not used, since
# they cause issues on some compilers.
# The _GNU_SOURCE symbol is required for many hosts.
#
PROG= acpixtract
SRCS= acpixtract.c
 
CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include
HOST = _LINUX
NOMAN = YES
COMPILE = $(CC) -c $(CFLAGS) $(CWARNINGFLAGS) -o$@ $?
 
ACPICA_COMPONENTS =
ACPICA_SRC = ../..
ACPICA_COMMON = $(ACPICA_SRC)/common
ACPICA_CORE = $(ACPICA_SRC)$(ACPICA_COMPONENTS)
ACPICA_TOOLS = $(ACPICA_SRC)/tools
ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers
INSTALLDIR = /usr/bin
INSTALLPROG = cp --remove-destination $(PROG) $(INSTALLDIR)
 
acpixtract : $(patsubst %.c,%.o, $(SRCS))
$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
CFLAGS+= \
-D$(HOST) \
-D_GNU_SOURCE \
-I$(ACPICA_SRC)/include
 
CLEANFILES= $(PROG)
CWARNINGFLAGS = \
-ansi \
-Wall \
-Wbad-function-cast \
-Wdeclaration-after-statement \
-Werror \
-Wformat=2 \
-Wmissing-declarations \
-Wmissing-prototypes \
-Wstrict-aliasing=0 \
-Wstrict-prototypes \
-Wswitch-default \
-Wpointer-arith \
-Wundef
 
OBJS = \
acpixtract.o
 
#
# Root rule
#
$(PROG) : $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
 
#
# acpixtract source
#
acpixtract.o : $(ACPICA_TOOLS)/acpixtract/acpixtract.c
$(COMPILE)
 
 
clean :
rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
rm -f $(PROG) $(PROG).exe $(OBJS)
 
install :
$(INSTALLPROG)
/drivers/devman/acpica/tools/acpixtract/acpixtract.c
9,7 → 9,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
122,54 → 122,54
 
/* Note: This is a 32-bit program only */
 
#define VERSION 0x20100107
#define VERSION 0x20110330
#define FIND_HEADER 0
#define EXTRACT_DATA 1
#define BUFFER_SIZE 256
#define MIN_HEADER_LENGTH 6 /* strlen ("DSDT @") */
 
 
/* Local prototypes */
 
void
static void
CheckAscii (
char *Name,
int Count);
 
void
static void
NormalizeSignature (
char *Signature);
 
unsigned int
static unsigned int
GetNextInstance (
char *InputPathname,
char *Signature);
 
int
static int
ExtractTables (
char *InputPathname,
char *Signature,
unsigned int MinimumInstances);
 
size_t
static size_t
GetTableHeader (
FILE *InputFile,
unsigned char *OutputData);
 
unsigned int
static unsigned int
CountTableInstances (
char *InputPathname,
char *Signature);
 
int
static int
ListTables (
char *InputPathname);
 
size_t
static size_t
ConvertLine (
char *InputLine,
unsigned char *OutputData);
 
void
static void
DisplayUsage (
void);
 
196,9 → 196,9
struct TableInfo *Next;
};
 
struct TableInfo *ListHead = NULL;
char Filename[16];
unsigned char Data[16];
static struct TableInfo *ListHead = NULL;
static char Filename[16];
static unsigned char Data[16];
 
 
/******************************************************************************
209,7 → 209,7
*
******************************************************************************/
 
void
static void
DisplayUsage (
void)
{
240,7 → 240,7
*
******************************************************************************/
 
void
static void
CheckAscii (
char *Name,
int Count)
270,7 → 270,7
*
******************************************************************************/
 
void
static void
NormalizeSignature (
char *Signature)
{
295,7 → 295,7
*
******************************************************************************/
 
size_t
static size_t
ConvertLine (
char *InputLine,
unsigned char *OutputData)
353,7 → 353,7
*
******************************************************************************/
 
size_t
static size_t
GetTableHeader (
FILE *InputFile,
unsigned char *OutputData)
401,7 → 401,7
*
******************************************************************************/
 
unsigned int
static unsigned int
CountTableInstances (
char *InputPathname,
char *Signature)
459,7 → 459,7
*
******************************************************************************/
 
unsigned int
static unsigned int
GetNextInstance (
char *InputPathname,
char *Signature)
520,7 → 520,7
*
******************************************************************************/
 
int
static int
ExtractTables (
char *InputPathname,
char *Signature,
577,6 → 577,13
{
case FIND_HEADER:
 
/* Ignore lines that are too short to be header lines */
 
if (strlen (Buffer) < MIN_HEADER_LENGTH)
{
continue;
}
 
/* Ignore empty lines and lines that start with a space */
 
if ((Buffer[0] == ' ') ||
585,6 → 592,19
continue;
}
 
/*
* Ignore lines that are not of the form <sig> @ <addr>. Examples:
*
* DSDT @ 0x737e4000
* XSDT @ 0x737f2fff
* RSD PTR @ 0xf6cd0
* SSDT @ (nil)
*/
if (!strstr (Buffer, " @ "))
{
continue;
}
 
NormalizeSignature (Buffer);
strncpy (ThisSignature, Buffer, 4);
 
639,8 → 659,8
OutputFile = NULL;
State = FIND_HEADER;
 
printf ("Acpi table [%4.4s] - % 7d bytes written to %s\n",
ThisSignature, TotalBytesWritten, Filename);
printf ("Acpi table [%4.4s] - %u bytes written to %s\n",
ThisSignature, (unsigned int) TotalBytesWritten, Filename);
continue;
}
 
684,8 → 704,8
{
/* Received an EOF while extracting data */
 
printf ("Acpi table [%4.4s] - % 7d bytes written to %s\n",
ThisSignature, TotalBytesWritten, Filename);
printf ("Acpi table [%4.4s] - %u bytes written to %s\n",
ThisSignature, (unsigned int) TotalBytesWritten, Filename);
}
}
 
707,7 → 727,7
*
******************************************************************************/
 
int
static int
ListTables (
char *InputPathname)
{
/drivers/devman/acpica/tools/examples/examples.c
8,7 → 8,7
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
* All rights reserved.
*
* 2. License
504,3 → 504,18
return (0);
}
 
ACPI_THREAD_ID
AcpiOsGetThreadId (
void)
{
return (0xFFFF);
}
 
ACPI_STATUS
AcpiOsExecute (
ACPI_EXECUTE_TYPE Type,
ACPI_OSD_EXEC_CALLBACK Function,
void *Context)
{
return (AE_SUPPORT);
}