3 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "ia64"
4 .error "ACPI can only be compiled into the kernel on the amd64 and ia64 platforms"
7 .if ${MACHINE} != "i386"
8 .error "The ACPI module is only for i386"
11 .PATH: ${.CURDIR}/../../../contrib/dev/acpica \
12 ${.CURDIR}/../../../pci \
13 ${.CURDIR}/../../../dev/acpica \
14 ${.CURDIR}/../../../dev/acpica/Osd \
15 ${.CURDIR}/../../../${MACHINE_ARCH}/acpica
20 CFLAGS+= -I${.CURDIR}/../../../contrib/dev/acpica
21 SRCS+= dsfield.c dsinit.c dsmethod.c dsmthdat.c dsobject.c dsopcode.c
22 SRCS+= dsutils.c dswexec.c dswload.c dswscope.c dswstate.c
23 SRCS+= evevent.c evgpe.c evgpeblk.c evmisc.c evregion.c evrgnini.c evsci.c
24 SRCS+= evxface.c evxfevnt.c evxfregn.c
25 SRCS+= exconfig.c exconvrt.c excreate.c exdump.c exfield.c exfldio.c exmisc.c
26 SRCS+= exmutex.c exnames.c exoparg1.c exoparg2.c exoparg3.c exoparg6.c
27 SRCS+= exprep.c exregion.c exresnte.c exresolv.c exresop.c exstore.c
28 SRCS+= exstoren.c exstorob.c exsystem.c exutils.c
29 SRCS+= hwacpi.c hwgpe.c hwregs.c hwsleep.c hwtimer.c
30 SRCS+= nsaccess.c nsalloc.c nsdump.c nseval.c nsinit.c nsload.c nsnames.c
31 SRCS+= nsobject.c nsparse.c nssearch.c nsutils.c nswalk.c nsxfeval.c
32 SRCS+= nsxfname.c nsxfobj.c
33 SRCS+= psargs.c psloop.c psopcode.c psparse.c psscope.c pstree.c psutils.c
34 SRCS+= pswalk.c psxface.c
35 SRCS+= rsaddr.c rscalc.c rscreate.c rsdump.c rsinfo.c rsio.c rsirq.c rslist.c
36 SRCS+= rsmemory.c rsmisc.c rsutils.c rsxface.c
37 SRCS+= tbfadt.c tbfind.c tbinstal.c tbutils.c tbxface.c tbxfroot.c
38 SRCS+= utalloc.c utcache.c utclib.c utcopy.c utdebug.c utdelete.c uteval.c
39 SRCS+= utglobal.c utinit.c utmath.c utmisc.c utmutex.c utobject.c utresrc.c
40 SRCS+= utstate.c utxface.c
42 # OSPM layer and core hardware drivers
43 SRCS+= acpi.c acpi_button.c acpi_isab.c acpi_package.c acpi_pci.c acpi_pcib.c
44 SRCS+= acpi_pcib_acpi.c acpi_pcib_pci.c acpi_powerres.c acpi_quirk.c
45 SRCS+= acpi_resource.c acpi_timer.c acpi_pci_link.c acpi_thermal.c
47 # ACPI hardware drivers, mostly used for mobile systems.
48 SRCS+= acpi_acad.c acpi_battery.c acpi_cmbat.c acpi_cpu.c acpi_ec.c
49 SRCS+= acpi_hpet.c acpi_lid.c acpi_perf.c acpi_smbat.c acpi_throttle.c
53 SRCS+= OsdHardware.c OsdInterrupt.c OsdMemory.c OsdSchedule.c OsdStream.c
54 SRCS+= OsdSynch.c OsdTable.c OsdEnvironment.c
55 SRCS+= opt_acpi.h opt_bus.h opt_ddb.h acpi_if.h acpi_quirks.h bus_if.h
56 SRCS+= cpufreq_if.h device_if.h isa_if.h pci_if.h pcib_if.h
58 # XXX ACPI should not depend on the following headers but this is currently
59 # needed for the build of assym.s.
60 # This obviously needs a better and more structural fix.
61 SRCS+= opt_kstack_pages.h opt_nfs.h opt_apic.h opt_compat.h opt_hwpmc_hooks.h
64 DBSRC= dbcmds.c dbdisply.c dbexec.c dbfileio.c dbhistry.c dbinput.c dbstats.c
65 DBSRC+= dbutils.c dbxface.c
66 DBSRC+= dmbuffer.c dmnames.c dmopcode.c dmobject.c dmresrc.c dmresrcl.c
67 DBSRC+= dmresrcs.c dmutils.c dmwalk.c
69 .if !defined(KERNBUILDDIR)
74 CFLAGS+=-DACPI_MAX_THREADS=${ACPI_MAX_THREADS}
76 .if ACPI_NO_SEMAPHORES
77 CFLAGS+=-DACPI_NO_SEMAPHORES
83 echo "#define DDB 1" > ${.TARGET}
90 # Machine-specific code such as sleep/wakeup
91 SRCS+= acpi_machdep.c acpi_wakecode.h acpi_wakeup.c
92 .if ${MACHINE} == "i386"
95 CLEANFILES+= acpi_wakecode.h acpi_wakecode.o acpi_wakecode.bin ${DBSRC:.c=.o}
97 acpi_wakecode.h: acpi_wakecode.S assym.s
98 ${MAKE} -f ${.CURDIR}/../../../${MACHINE_ARCH}/acpica/Makefile \
99 MAKESRCPATH=${.CURDIR}/../../../${MACHINE_ARCH}/acpica
101 .include <bsd.kmod.mk>