Date: Tue, 05 Mar 2002 21:51:28 +0900 (JST) From: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org> To: julian@elischer.org Cc: iwasaki@FreeBSD.org, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/conf files src/sys/dev/acpica acpi_acad.c acpi_cpu.c acpi_powerprofile.c acpi_thermal.c acpivar.h src/sys/i386/apm apm.c src/sys/i386/i386 identcpu.c src/sys/kern subr_power.c src/sys/modules/acpi Makefile src/sys/sys power.h Message-ID: <20020305.215128.26269170.iwasaki@jp.FreeBSD.org> In-Reply-To: <20020305042917B.iwasaki@jp.FreeBSD.org> References: <200203041846.g24IkEU53060@freefall.freebsd.org> <Pine.BSF.4.21.0203041109490.26829-100000@InterJet.elischer.org> <20020305042917B.iwasaki@jp.FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> > Hi..
> > will "halt -p" now work again?
>
> This commit is not related with power off, sorry.
>
> > it used to work, but stopped working about 3 or 4 months ago.
>
> Hmmm, which PM are you using, APM or ACPI?
If ACPI, please try this.
# takawata-san suggested this patch.
I'll commit this if the problem is solved.
# this can be controlled by MIB hw.acpi.disable_before_poweroff
# Hmm, better name?
Thanks
Index: acpi.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpi.c,v
retrieving revision 1.56
diff -u -r1.56 acpi.c
--- acpi.c 23 Feb 2002 05:21:56 -0000 1.56
+++ acpi.c 5 Mar 2002 03:30:03 -0000
@@ -413,6 +413,9 @@
SYSCTL_ADD_INT(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
OID_AUTO, "verbose", CTLFLAG_RD | CTLFLAG_RW,
&sc->acpi_verbose, 0, "verbose mode");
+ SYSCTL_ADD_INT(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
+ OID_AUTO, "disable_before_poweroff", CTLFLAG_RD | CTLFLAG_RW,
+ &sc->acpi_disable_before_poweroff, 0, "disable acpi events before poweroff");
sc->acpi_s4bios = 1;
if (bootverbose)
sc->acpi_verbose = 1;
@@ -873,18 +876,16 @@
static void
acpi_shutdown_pre_sync(void *arg, int howto)
{
+ struct acpi_softc *sc = arg;
ACPI_ASSERTLOCK;
/*
* Disable all ACPI events before soft off, otherwise the system
* will be turned on again on some laptops.
- *
- * XXX this should probably be restricted to masking some events just
- * before powering down, since we may still need ACPI during the
- * shutdown process.
*/
- acpi_Disable((struct acpi_softc *)arg);
+ if (sc->acpi_disable_before_poweroff)
+ acpi_Disable((struct acpi_softc *)arg);
}
static void
Index: acpivar.h
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpivar.h,v
retrieving revision 1.29
diff -u -r1.29 acpivar.h
--- acpivar.h 23 Feb 2002 05:30:54 -0000 1.29
+++ acpivar.h 4 Mar 2002 20:14:29 -0000
@@ -63,6 +63,8 @@
int acpi_verbose;
+ int acpi_disable_before_poweroff;
+
bus_dma_tag_t acpi_waketag;
bus_dmamap_t acpi_wakemap;
vm_offset_t acpi_wakeaddr;
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020305.215128.26269170.iwasaki>
