/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); |
} |