svn commit: r236419 - in head/sys: amd64/acpica i386/acpica

Jung-uk Kim jkim at FreeBSD.org
Fri Jun 1 19:19:05 UTC 2012


Author: jkim
Date: Fri Jun  1 19:19:04 2012
New Revision: 236419
URL: http://svn.freebsd.org/changeset/base/236419

Log:
  Tidy up code clutter in SMP case a bit.  No functional change.

Modified:
  head/sys/amd64/acpica/acpi_wakeup.c
  head/sys/i386/acpica/acpi_wakeup.c

Modified: head/sys/amd64/acpica/acpi_wakeup.c
==============================================================================
--- head/sys/amd64/acpica/acpi_wakeup.c	Fri Jun  1 19:09:17 2012	(r236418)
+++ head/sys/amd64/acpica/acpi_wakeup.c	Fri Jun  1 19:19:04 2012	(r236419)
@@ -71,15 +71,12 @@ extern int		acpi_reset_video;
 #ifdef SMP
 extern struct pcb	**susppcbs;
 extern void		**suspfpusave;
+static cpuset_t		suspcpus;
 #else
 static struct pcb	**susppcbs;
 static void		**suspfpusave;
 #endif
 
-#ifdef SMP
-static cpuset_t		suspcpus;
-#endif
-
 int			acpi_restorecpu(uint64_t, vm_offset_t);
 
 static void		*acpi_alloc_wakeup_handler(void);
@@ -87,7 +84,7 @@ static void		acpi_stop_beep(void *);
 
 #ifdef SMP
 static int		acpi_wakeup_ap(struct acpi_softc *, int);
-static void		acpi_wakeup_cpus(struct acpi_softc *, const cpuset_t *);
+static void		acpi_wakeup_cpus(struct acpi_softc *);
 #endif
 
 #define	WAKECODE_VADDR(sc)	((sc)->acpi_wakeaddr + (3 * PAGE_SIZE))
@@ -184,7 +181,7 @@ acpi_wakeup_ap(struct acpi_softc *sc, in
 #define	BIOS_WARM		(0x0a)
 
 static void
-acpi_wakeup_cpus(struct acpi_softc *sc, const cpuset_t *wakeup_cpus)
+acpi_wakeup_cpus(struct acpi_softc *sc)
 {
 	uint32_t	mpbioswarmvec;
 	int		cpu;
@@ -203,7 +200,7 @@ acpi_wakeup_cpus(struct acpi_softc *sc, 
 
 	/* Wake up each AP. */
 	for (cpu = 1; cpu < mp_ncpus; cpu++) {
-		if (!CPU_ISSET(cpu, wakeup_cpus))
+		if (!CPU_ISSET(cpu, &suspcpus))
 			continue;
 		if (acpi_wakeup_ap(sc, cpu) == 0) {
 			/* restore the warmstart vector */
@@ -244,8 +241,7 @@ acpi_sleep_machdep(struct acpi_softc *sc
 	if (savectx(susppcbs[0])) {
 		ctx_fpusave(suspfpusave[0]);
 #ifdef SMP
-		if (!CPU_EMPTY(&suspcpus) &&
-		    suspend_cpus(suspcpus) == 0) {
+		if (!CPU_EMPTY(&suspcpus) && suspend_cpus(suspcpus) == 0) {
 			device_printf(sc->acpi_dev, "Failed to suspend APs\n");
 			return (0);	/* couldn't sleep */
 		}
@@ -300,7 +296,7 @@ acpi_wakeup_machdep(struct acpi_softc *s
 			PCPU_SET(switchticks, ticks);
 #ifdef SMP
 			if (!CPU_EMPTY(&suspcpus))
-				acpi_wakeup_cpus(sc, &suspcpus);
+				acpi_wakeup_cpus(sc);
 #endif
 		}
 

Modified: head/sys/i386/acpica/acpi_wakeup.c
==============================================================================
--- head/sys/i386/acpica/acpi_wakeup.c	Fri Jun  1 19:09:17 2012	(r236418)
+++ head/sys/i386/acpica/acpi_wakeup.c	Fri Jun  1 19:19:04 2012	(r236419)
@@ -70,20 +70,17 @@ extern int		acpi_reset_video;
 
 #ifdef SMP
 extern struct pcb	**susppcbs;
+static cpuset_t		suspcpus;
 #else
 static struct pcb	**susppcbs;
 #endif
 
-#ifdef SMP
-static cpuset_t		suspcpus;
-#endif
-
 static void		*acpi_alloc_wakeup_handler(void);
 static void		acpi_stop_beep(void *);
 
 #ifdef SMP
 static int		acpi_wakeup_ap(struct acpi_softc *, int);
-static void		acpi_wakeup_cpus(struct acpi_softc *, const cpuset_t *);
+static void		acpi_wakeup_cpus(struct acpi_softc *);
 #endif
 
 #define ACPI_PAGETABLES	0
@@ -176,7 +173,7 @@ acpi_wakeup_ap(struct acpi_softc *sc, in
 #define	BIOS_WARM		(0x0a)
 
 static void
-acpi_wakeup_cpus(struct acpi_softc *sc, const cpuset_t *wakeup_cpus)
+acpi_wakeup_cpus(struct acpi_softc *sc)
 {
 	uint32_t	mpbioswarmvec;
 	int		cpu;
@@ -195,7 +192,7 @@ acpi_wakeup_cpus(struct acpi_softc *sc, 
 
 	/* Wake up each AP. */
 	for (cpu = 1; cpu < mp_ncpus; cpu++) {
-		if (!CPU_ISSET(cpu, wakeup_cpus))
+		if (!CPU_ISSET(cpu, &suspcpus))
 			continue;
 		if (acpi_wakeup_ap(sc, cpu) == 0) {
 			/* restore the warmstart vector */
@@ -235,8 +232,7 @@ acpi_sleep_machdep(struct acpi_softc *sc
 
 	if (suspendctx(susppcbs[0])) {
 #ifdef SMP
-		if (!CPU_EMPTY(&suspcpus) &&
-		    suspend_cpus(suspcpus) == 0) {
+		if (!CPU_EMPTY(&suspcpus) && suspend_cpus(suspcpus) == 0) {
 			device_printf(sc->acpi_dev, "Failed to suspend APs\n");
 			return (0);	/* couldn't sleep */
 		}
@@ -286,7 +282,7 @@ acpi_wakeup_machdep(struct acpi_softc *s
 			PCPU_SET(switchticks, ticks);
 #ifdef SMP
 			if (!CPU_EMPTY(&suspcpus))
-				acpi_wakeup_cpus(sc, &suspcpus);
+				acpi_wakeup_cpus(sc);
 #endif
 		}
 


More information about the svn-src-head mailing list