[issue557] 1.9.0-DEVELOPMENT hangs with ACPI enabled

YONETANI Tomokazu qhwt+dfly at les.ath.cx
Thu Feb 15 01:20:08 PST 2007


On Wed, Feb 14, 2007 at 08:46:38AM -0300, Mariano Aliaga wrote:
> On 2/13/07, YONETANI Tomokazu <bugs at lists.dragonflybsd.org> wrote:
> >
> >"hang" means that neither ctrl+alt+esc nor ctrl+alt+del works?
> >
> 
> Yes, neither ctrl+alt+esc nor ctrl+alt+del works.
> 
> >Does any of the following command in the boot loader make the boot
> >proceed any further?
> >set debug.acpi.disabled="ec"
> >set debug.acpi.disabled="cmbat"
> >set debug.acpi.disabled="acad"
> >                :
> 
> Yes, I've tried them all. Whith 3 of them the system boots OK: bus,
> children and cpu.

"bus" or "children" disables "cpu", so it must be "cpu" :)

> >BTW, what was the manufacturer and the model of your mainboard/PC/laptop?
> 
> My PC's mainboard is ASUS P4V8X-X. I attach dmesg with
> debug.acpi.disabled="cpu" for more info.

A-ha, I think there's a relavant information WRT your mainboard:
  http://lkml.org/lkml/2005/12/5/263

Can you try attached patch and set the variable "debug.acpi.cpu.nocst"
in the boot loader?  Also if you have time, can you try recent FreeBSD
and if it boots OK.

Cheers.
Index: acpi_cpu.c
===================================================================
RCS file: /dragonfly/cvs/src/sys/dev/acpica5/acpi_cpu.c,v
retrieving revision 1.18
diff -u -p -r1.18 acpi_cpu.c
--- acpi_cpu.c	17 Jan 2007 17:31:19 -0000	1.18
+++ acpi_cpu.c	15 Feb 2007 09:01:51 -0000
@@ -237,7 +237,10 @@ acpi_cpu_probe(device_t dev)
     cx_count = 0;
     buf.Pointer = NULL;
     buf.Length = ACPI_ALLOCATE_BUFFER;
-    status = AcpiEvaluateObject(handle, "_CST", NULL, &buf);
+    if (ktestenv("debug.acpi.cpu.nocst"))
+	status = AE_ERROR;
+    else
+	status = AcpiEvaluateObject(handle, "_CST", NULL, &buf);
     if (ACPI_SUCCESS(status)) {
 	obj = (ACPI_OBJECT *)buf.Pointer;
 	if (ACPI_PKG_VALID(obj, 2))
@@ -584,7 +587,8 @@ acpi_cpu_cx_cst(struct acpi_cpu_softc *s
 
     ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
 
-    buf.Pointer = NULL;
+    if (ktestenv("debug.acpi.cpu.nocst"))
+    	return (ENXIO);
     buf.Length = ACPI_ALLOCATE_BUFFER;
     status = AcpiEvaluateObject(sc->cpu_handle, "_CST", NULL, &buf);
     if (ACPI_FAILURE(status))




More information about the Bugs mailing list