Author: jkim
Date: Fri Nov 12 20:55:14 2010
New Revision: 215200
URL: http://svn.freebsd.org/changeset/base/215200

Log:
  MFamd64:      (based on) r209957
  
  Move logic of building ACPI headers for acpi_wakeup.c into better places,
  remove intermediate makefile and shell script, and reduce diff between i386
  and amd64.

Deleted:
  head/sys/i386/acpica/Makefile
  head/sys/i386/acpica/genwakecode.sh
Modified:
  head/sys/conf/files.i386
  head/sys/i386/acpica/acpi_wakecode.S
  head/sys/i386/acpica/acpi_wakeup.c
  head/sys/modules/acpi/acpi/Makefile

Modified: head/sys/conf/files.i386
==============================================================================
--- head/sys/conf/files.i386    Fri Nov 12 20:46:33 2010        (r215199)
+++ head/sys/conf/files.i386    Fri Nov 12 20:55:14 2010        (r215200)
@@ -239,13 +239,28 @@ dev/acpica/acpi_if.m              standard
 dev/acpi_support/acpi_wmi_if.m standard
 dev/wpi/if_wpi.c               optional wpi
 i386/acpica/acpi_machdep.c     optional acpi
-i386/acpica/acpi_wakeup.c      optional acpi
-acpi_wakecode.h                        optional acpi                   \
-       dependency      "$S/i386/acpica/acpi_wakecode.S assym.s"        \
-       compile-with    "${MAKE} -f $S/i386/acpica/Makefile 
MAKESRCPATH=$S/i386/acpica" \
+acpi_wakecode.o                        optional acpi                           
\
+       dependency      "$S/i386/acpica/acpi_wakecode.S assym.s"        \
+       compile-with    "${NORMAL_S}"                                   \
        no-obj no-implicit-rule before-depend                           \
-       clean           "acpi_wakecode.h acpi_wakecode.o acpi_wakecode.bin"
+       clean           "acpi_wakecode.o"
+acpi_wakecode.bin              optional acpi                           \
+       dependency      "acpi_wakecode.o"                               \
+       compile-with    "objcopy -S -O binary acpi_wakecode.o ${.TARGET}" \
+       no-obj no-implicit-rule before-depend                           \
+       clean           "acpi_wakecode.bin"
+acpi_wakecode.h                        optional acpi                           
\
+       dependency      "acpi_wakecode.bin"                             \
+       compile-with    "file2c -sx 'static char wakecode[] = {' '};' < 
acpi_wakecode.bin > ${.TARGET}" \
+       no-obj no-implicit-rule before-depend                           \
+       clean           "acpi_wakecode.h"
+acpi_wakedata.h                        optional acpi                           
\
+       dependency      "acpi_wakecode.o"                               \
+       compile-with    '${NM} -n --defined-only acpi_wakecode.o | while read 
offset dummy what; do echo "#define       $${what}        0x$${offset}"; done > 
${.TARGET}' \
+       no-obj no-implicit-rule before-depend                           \
+       clean           "acpi_wakedata.h"
 #
+i386/acpica/acpi_wakeup.c      optional acpi
 i386/bios/apm.c                        optional apm
 i386/bios/mca_machdep.c                optional mca
 i386/bios/smapi.c              optional smapi

Modified: head/sys/i386/acpica/acpi_wakecode.S
==============================================================================
--- head/sys/i386/acpica/acpi_wakecode.S        Fri Nov 12 20:46:33 2010        
(r215199)
+++ head/sys/i386/acpica/acpi_wakecode.S        Fri Nov 12 20:55:14 2010        
(r215200)
@@ -27,8 +27,6 @@
  * $FreeBSD$
  */
 
-#define LOCORE
-
 #include <machine/asmacros.h>
 #include <machine/specialreg.h>
 

Modified: head/sys/i386/acpica/acpi_wakeup.c
==============================================================================
--- head/sys/i386/acpica/acpi_wakeup.c  Fri Nov 12 20:46:33 2010        
(r215199)
+++ head/sys/i386/acpica/acpi_wakeup.c  Fri Nov 12 20:55:14 2010        
(r215200)
@@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$");
 #include <dev/acpica/acpivar.h>
 
 #include "acpi_wakecode.h"
+#include "acpi_wakedata.h"
 
 /* Make sure the code is less than one page and leave room for the stack. */
 CTASSERT(sizeof(wakecode) < PAGE_SIZE - 1024);

Modified: head/sys/modules/acpi/acpi/Makefile
==============================================================================
--- head/sys/modules/acpi/acpi/Makefile Fri Nov 12 20:46:33 2010        
(r215199)
+++ head/sys/modules/acpi/acpi/Makefile Fri Nov 12 20:55:14 2010        
(r215200)
@@ -96,23 +96,24 @@ opt_ddb.h: Makefile
 .endif
 
 # Machine-specific code such as sleep/wakeup
-SRCS+= acpi_apm.c acpi_machdep.c acpi_wakecode.h acpi_wakeup.c
+SRCS+= acpi_apm.c acpi_machdep.c acpi_wakecode.h acpi_wakedata.h acpi_wakeup.c
 SRCS+= assym.s madt.c
-CLEANFILES+=   acpi_wakecode.bin acpi_wakecode.h acpi_wakecode.o
+CLEANFILES+=acpi_wakecode.bin acpi_wakecode.h acpi_wakecode.o acpi_wakedata.h
 
 SRCS+= opt_global.h
 
+ASM_CFLAGS=    -x assembler-with-cpp -DLOCORE ${CFLAGS}
+NORMAL_S=      ${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}
+NM?=           nm
+
 .if ${MACHINE_CPUARCH} == "amd64"
 .if !defined(KERNBUILDDIR)
 CFLAGS+=-DSMP
 .endif
-SRCS+= acpi_switch.S acpi_wakedata.h
-CLEANFILES+=   acpi_wakedata.h
-ASM_CFLAGS=    -x assembler-with-cpp -DLOCORE ${CFLAGS}
-NORMAL_S=      ${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}
-NM?=           nm
+SRCS+= acpi_switch.S
 acpi_switch.o: acpi_switch.S
        ${NORMAL_S}
+.endif
 acpi_wakecode.o: acpi_wakecode.S assym.s
        ${NORMAL_S}
 acpi_wakecode.bin: acpi_wakecode.o
@@ -125,10 +126,5 @@ acpi_wakedata.h: acpi_wakecode.o
            while read offset dummy what; do \
            echo "#define       $${what}        0x$${offset}"; \
            done > ${.TARGET}
-.else
-acpi_wakecode.h: acpi_wakecode.S assym.s
-       ${MAKE} -f ${.CURDIR}/../../../${MACHINE_CPUARCH}/acpica/Makefile \
-               MAKESRCPATH=${.CURDIR}/../../../${MACHINE_CPUARCH}/acpica
-.endif
 
 .include <bsd.kmod.mk>
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to