3 .if !defined(FORCE_BUILD)
4 .error "The ACPI module is deprecated, set FORCE_BUILD to force it"
7 .if ${MACHINE_CPUARCH} == "ia64"
8 .error "ACPI can only be compiled into the kernel on the ia64 platform"
11 .if ${MACHINE} != "amd64" && ${MACHINE} != "i386"
12 .error "The ACPI module is only for amd64 and i386"
15 .PATH: ${.CURDIR}/../../../contrib/dev/acpica/debugger \
16 ${.CURDIR}/../../../contrib/dev/acpica/disassembler \
17 ${.CURDIR}/../../../contrib/dev/acpica/dispatcher \
18 ${.CURDIR}/../../../contrib/dev/acpica/events \
19 ${.CURDIR}/../../../contrib/dev/acpica/executer \
20 ${.CURDIR}/../../../contrib/dev/acpica/hardware \
21 ${.CURDIR}/../../../contrib/dev/acpica/namespace \
22 ${.CURDIR}/../../../contrib/dev/acpica/parser \
23 ${.CURDIR}/../../../contrib/dev/acpica/resources \
24 ${.CURDIR}/../../../contrib/dev/acpica/tables \
25 ${.CURDIR}/../../../contrib/dev/acpica/utilities \
26 ${.CURDIR}/../../../pci \
27 ${.CURDIR}/../../../dev/acpica \
28 ${.CURDIR}/../../../dev/acpica/Osd \
29 ${.CURDIR}/../../../${MACHINE_CPUARCH}/acpica \
30 ${.CURDIR}/../../../x86/acpica
35 SRCS+= dbcmds.c dbdisply.c dbexec.c dbfileio.c dbhistry.c dbinput.c dbmethod.c
36 SRCS+= dbnames.c dbstats.c dbutils.c dbxface.c
37 SRCS+= dmbuffer.c dmnames.c dmopcode.c dmobject.c dmresrc.c dmresrcl.c
38 SRCS+= dmresrcs.c dmutils.c dmwalk.c
39 SRCS+= dsargs.c dscontrol.c dsfield.c dsinit.c dsmethod.c dsmthdat.c
40 SRCS+= dsobject.c dsopcode.c dsutils.c dswexec.c dswload.c dswload2.c
41 SRCS+= dswscope.c dswstate.c
42 SRCS+= evevent.c evglock.c evgpe.c evgpeblk.c evgpeinit.c evgpeutil.c evmisc.c
43 SRCS+= evregion.c evrgnini.c evsci.c evxface.c evxfevnt.c evxfgpe.c evxfregn.c
44 SRCS+= exconfig.c exconvrt.c excreate.c exdebug.c exdump.c exfield.c
45 SRCS+= exfldio.c exmisc.c exmutex.c exnames.c exoparg1.c exoparg2.c
46 SRCS+= exoparg3.c exoparg6.c exprep.c exregion.c exresnte.c exresolv.c
47 SRCS+= exresop.c exstore.c exstoren.c exstorob.c exsystem.c exutils.c
48 SRCS+= hwacpi.c hwgpe.c hwpci.c hwregs.c hwsleep.c hwtimer.c hwvalid.c
50 SRCS+= nsaccess.c nsalloc.c nsdump.c nseval.c nsinit.c nsload.c nsnames.c
51 SRCS+= nsobject.c nsparse.c nspredef.c nsrepair.c nsrepair2.c nssearch.c
52 SRCS+= nsutils.c nswalk.c nsxfeval.c nsxfname.c nsxfobj.c
53 SRCS+= psargs.c psloop.c psopcode.c psparse.c psscope.c pstree.c psutils.c
54 SRCS+= pswalk.c psxface.c
55 SRCS+= rsaddr.c rscalc.c rscreate.c rsdump.c rsinfo.c rsio.c rsirq.c rslist.c
56 SRCS+= rsmemory.c rsmisc.c rsutils.c rsxface.c
57 SRCS+= tbfadt.c tbfind.c tbinstal.c tbutils.c tbxface.c tbxfroot.c
58 SRCS+= utalloc.c utcache.c utcopy.c utdebug.c utdecode.c utdelete.c uteval.c
59 SRCS+= utglobal.c utids.c utinit.c utlock.c utmath.c utmisc.c utmutex.c
60 SRCS+= utobject.c utosi.c utresrc.c utstate.c utxface.c utxferror.c
62 # OSPM layer and core hardware drivers
63 SRCS+= acpi.c acpi_button.c acpi_isab.c acpi_package.c acpi_pci.c acpi_pcib.c
64 SRCS+= acpi_pcib_acpi.c acpi_pcib_pci.c acpi_powerres.c acpi_quirk.c
65 SRCS+= acpi_resource.c acpi_timer.c acpi_pci_link.c acpi_thermal.c
67 # ACPI hardware drivers, mostly used for mobile systems.
68 SRCS+= acpi_acad.c acpi_battery.c acpi_cmbat.c acpi_cpu.c acpi_ec.c
69 SRCS+= acpi_hpet.c acpi_lid.c acpi_perf.c acpi_smbat.c acpi_throttle.c
73 SRCS+= OsdHardware.c OsdInterrupt.c OsdMemory.c OsdSchedule.c OsdStream.c
74 SRCS+= OsdSynch.c OsdTable.c OsdEnvironment.c
75 SRCS+= opt_acpi.h opt_bus.h opt_ddb.h acpi_if.h acpi_quirks.h bus_if.h
76 SRCS+= cpufreq_if.h device_if.h isa_if.h pci_if.h pcib_if.h
78 # XXX ACPI should not depend on the following headers but this is currently
79 # needed for the build of assym.s.
80 # This obviously needs a better and more structural fix.
81 SRCS+= opt_kstack_pages.h opt_nfs.h opt_apic.h opt_compat.h opt_hwpmc_hooks.h
83 .if !defined(KERNBUILDDIR)
88 CFLAGS+=-DACPI_MAX_TASKS=${ACPI_MAX_TASKS}
91 CFLAGS+=-DACPI_MAX_THREADS=${ACPI_MAX_THREADS}
96 echo "#define DDB 1" > ${.TARGET}
103 # Machine-specific code such as sleep/wakeup
104 SRCS+= acpi_apm.c acpi_machdep.c acpi_wakecode.h acpi_wakedata.h acpi_wakeup.c
105 SRCS+= assym.s madt.c
106 CLEANFILES+=acpi_wakecode.bin acpi_wakecode.h acpi_wakecode.o acpi_wakedata.h
110 ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS}
111 NORMAL_S= ${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}
114 .if ${MACHINE_CPUARCH} == "amd64"
115 .if !defined(KERNBUILDDIR)
119 acpi_switch.o: acpi_switch.S
122 acpi_wakecode.o: acpi_wakecode.S assym.s
124 acpi_wakecode.bin: acpi_wakecode.o
125 objcopy -S -O binary acpi_wakecode.o ${.TARGET}
126 acpi_wakecode.h: acpi_wakecode.bin
127 file2c -sx 'static char wakecode[] = {' '};' < acpi_wakecode.bin > \
129 acpi_wakedata.h: acpi_wakecode.o
130 ${NM} -n --defined-only acpi_wakecode.o | \
131 while read offset dummy what; do \
132 echo "#define $${what} 0x$${offset}"; \
135 .include <bsd.kmod.mk>