1123795Snjl# $FreeBSD$ 2123795Snjl 3215201Sjkim.if !defined(FORCE_BUILD) 4215201Sjkim.error "The ACPI module is deprecated, set FORCE_BUILD to force it" 5215201Sjkim.endif 6215201Sjkim 7211690Simp.if ${MACHINE_CPUARCH} == "ia64" 8204877Sjkim.error "ACPI can only be compiled into the kernel on the ia64 platform" 9167814Sjkim.endif 10167814Sjkim 11204877Sjkim.if ${MACHINE} != "amd64" && ${MACHINE} != "i386" 12204877Sjkim.error "The ACPI module is only for amd64 and i386" 13165320Stakawata.endif 14165320Stakawata 15193530Sjkim.PATH: ${.CURDIR}/../../../contrib/dev/acpica/debugger \ 16193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/disassembler \ 17193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/dispatcher \ 18193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/events \ 19193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/executer \ 20193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/hardware \ 21193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/namespace \ 22193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/parser \ 23193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/resources \ 24193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/tables \ 25193530Sjkim ${.CURDIR}/../../../contrib/dev/acpica/utilities \ 26193530Sjkim ${.CURDIR}/../../../pci \ 27193530Sjkim ${.CURDIR}/../../../dev/acpica \ 28193530Sjkim ${.CURDIR}/../../../dev/acpica/Osd \ 29215012Sjhb ${.CURDIR}/../../../${MACHINE_CPUARCH}/acpica \ 30215012Sjhb ${.CURDIR}/../../../x86/acpica 31123795Snjl 32123795SnjlKMOD= acpi 33123795Snjl 34123795Snjl# ACPI CA sources 35218590SjkimSRCS+= dbcmds.c dbdisply.c dbexec.c dbfileio.c dbhistry.c dbinput.c dbmethod.c 36218590SjkimSRCS+= dbnames.c dbstats.c dbutils.c dbxface.c 37197688SjkimSRCS+= dmbuffer.c dmnames.c dmopcode.c dmobject.c dmresrc.c dmresrcl.c 38197688SjkimSRCS+= dmresrcs.c dmutils.c dmwalk.c 39218590SjkimSRCS+= dsargs.c dscontrol.c dsfield.c dsinit.c dsmethod.c dsmthdat.c 40218590SjkimSRCS+= dsobject.c dsopcode.c dsutils.c dswexec.c dswload.c dswload2.c 41218590SjkimSRCS+= dswscope.c dswstate.c 42220663SjkimSRCS+= evevent.c evglock.c evgpe.c evgpeblk.c evgpeinit.c evgpeutil.c evmisc.c 43216471SjkimSRCS+= evregion.c evrgnini.c evsci.c evxface.c evxfevnt.c evxfgpe.c evxfregn.c 44204874SjkimSRCS+= exconfig.c exconvrt.c excreate.c exdebug.c exdump.c exfield.c 45204874SjkimSRCS+= exfldio.c exmisc.c exmutex.c exnames.c exoparg1.c exoparg2.c 46204874SjkimSRCS+= exoparg3.c exoparg6.c exprep.c exregion.c exresnte.c exresolv.c 47204874SjkimSRCS+= exresop.c exstore.c exstoren.c exstorob.c exsystem.c exutils.c 48212761SjkimSRCS+= hwacpi.c hwgpe.c hwpci.c hwregs.c hwsleep.c hwtimer.c hwvalid.c 49212761SjkimSRCS+= hwxface.c 50167814SjkimSRCS+= nsaccess.c nsalloc.c nsdump.c nseval.c nsinit.c nsload.c nsnames.c 51199338SjkimSRCS+= nsobject.c nsparse.c nspredef.c nsrepair.c nsrepair2.c nssearch.c 52199338SjkimSRCS+= nsutils.c nswalk.c nsxfeval.c nsxfname.c nsxfobj.c 53167814SjkimSRCS+= psargs.c psloop.c psopcode.c psparse.c psscope.c pstree.c psutils.c 54167814SjkimSRCS+= pswalk.c psxface.c 55167814SjkimSRCS+= rsaddr.c rscalc.c rscreate.c rsdump.c rsinfo.c rsio.c rsirq.c rslist.c 56167814SjkimSRCS+= rsmemory.c rsmisc.c rsutils.c rsxface.c 57167814SjkimSRCS+= tbfadt.c tbfind.c tbinstal.c tbutils.c tbxface.c tbxfroot.c 58218590SjkimSRCS+= utalloc.c utcache.c utcopy.c utdebug.c utdecode.c utdelete.c uteval.c 59218590SjkimSRCS+= utglobal.c utids.c utinit.c utlock.c utmath.c utmisc.c utmutex.c 60218590SjkimSRCS+= utobject.c utosi.c utresrc.c utstate.c utxface.c utxferror.c 61123795Snjl 62128509Snjl# OSPM layer and core hardware drivers 63167814SjkimSRCS+= acpi.c acpi_button.c acpi_isab.c acpi_package.c acpi_pci.c acpi_pcib.c 64167814SjkimSRCS+= acpi_pcib_acpi.c acpi_pcib_pci.c acpi_powerres.c acpi_quirk.c 65167814SjkimSRCS+= acpi_resource.c acpi_timer.c acpi_pci_link.c acpi_thermal.c 66128509Snjl 67128509Snjl# ACPI hardware drivers, mostly used for mobile systems. 68167814SjkimSRCS+= acpi_acad.c acpi_battery.c acpi_cmbat.c acpi_cpu.c acpi_ec.c 69167814SjkimSRCS+= acpi_hpet.c acpi_lid.c acpi_perf.c acpi_smbat.c acpi_throttle.c 70128509Snjl 71123795Snjl# OSD layer 72167814SjkimSRCS+= OsdDebug.c 73167814SjkimSRCS+= OsdHardware.c OsdInterrupt.c OsdMemory.c OsdSchedule.c OsdStream.c 74167814SjkimSRCS+= OsdSynch.c OsdTable.c OsdEnvironment.c 75167814SjkimSRCS+= opt_acpi.h opt_bus.h opt_ddb.h acpi_if.h acpi_quirks.h bus_if.h 76167814SjkimSRCS+= cpufreq_if.h device_if.h isa_if.h pci_if.h pcib_if.h 77124255Snjl 78146020Smarks# XXX ACPI should not depend on the following headers but this is currently 79146020Smarks# needed for the build of assym.s. 80146020Smarks# This obviously needs a better and more structural fix. 81188516Sn_hibmaSRCS+= opt_kstack_pages.h opt_nfs.h opt_apic.h opt_compat.h opt_hwpmc_hooks.h 82146020Smarks 83151350Syar.if !defined(KERNBUILDDIR) 84172313Snjl.if KTR 85172313SnjlCFLAGS+=-DKTR 86172313Snjl.endif 87194312Sjkim.if ACPI_MAX_TASKS 88194313SjkimCFLAGS+=-DACPI_MAX_TASKS=${ACPI_MAX_TASKS} 89194312Sjkim.endif 90123795Snjl.if ACPI_MAX_THREADS 91123795SnjlCFLAGS+=-DACPI_MAX_THREADS=${ACPI_MAX_THREADS} 92123795Snjl.endif 93123795Snjl.if ACPI_DEBUG 94123795SnjlCFLAGS+=-DACPI_DEBUG 95123795Snjlopt_ddb.h: Makefile 96123962Sbde echo "#define DDB 1" > ${.TARGET} 97123795Snjl.else 98123795Snjlopt_ddb.h: Makefile 99123795Snjl echo -n > ${.TARGET} 100123795Snjl.endif 101151350Syar.endif 102123795Snjl 103123795Snjl# Machine-specific code such as sleep/wakeup 104215200SjkimSRCS+= acpi_apm.c acpi_machdep.c acpi_wakecode.h acpi_wakedata.h acpi_wakeup.c 105197688SjkimSRCS+= assym.s madt.c 106215200SjkimCLEANFILES+=acpi_wakecode.bin acpi_wakecode.h acpi_wakecode.o acpi_wakedata.h 107204877Sjkim 108211690SimpSRCS+= opt_global.h 109211690Simp 110215200SjkimASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} 111215200SjkimNORMAL_S= ${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC} 112215200SjkimNM?= nm 113215200Sjkim 114211690Simp.if ${MACHINE_CPUARCH} == "amd64" 115210005Sjkim.if !defined(KERNBUILDDIR) 116210005SjkimCFLAGS+=-DSMP 117210005Sjkim.endif 118215200SjkimSRCS+= acpi_switch.S 119204877Sjkimacpi_switch.o: acpi_switch.S 120213884Sjkim ${NORMAL_S} 121215200Sjkim.endif 122209957Sjkimacpi_wakecode.o: acpi_wakecode.S assym.s 123213884Sjkim ${NORMAL_S} 124209957Sjkimacpi_wakecode.bin: acpi_wakecode.o 125209957Sjkim objcopy -S -O binary acpi_wakecode.o ${.TARGET} 126209957Sjkimacpi_wakecode.h: acpi_wakecode.bin 127209957Sjkim file2c -sx 'static char wakecode[] = {' '};' < acpi_wakecode.bin > \ 128209957Sjkim ${.TARGET} 129209957Sjkimacpi_wakedata.h: acpi_wakecode.o 130213884Sjkim ${NM} -n --defined-only acpi_wakecode.o | \ 131213884Sjkim while read offset dummy what; do \ 132213884Sjkim echo "#define $${what} 0x$${offset}"; \ 133213884Sjkim done > ${.TARGET} 134123795Snjl 135123795Snjl.include <bsd.kmod.mk> 136