On Thu, Jan 18, 2007 at 06:40:05AM +0000, Johannes Hofmann wrote:
> YONETANI Tomokazu <[EMAIL PROTECTED]> wrote:
> > On Wed, Jan 17, 2007 at 11:18:06PM +0100, Michal Belczyk wrote:
> >> On Wed, Jan 17, 2007 at 08:42:49PM +0000, Johannes Hofmann wrote:
> >> > Sorry for not testing earlier, but with this commit my thinkpad T42p
> >> > no longer boots with acpi enabled. It spits out some warnings and then
> >> > hangs (see http://www.ecademix.com/JohannesHofmann/tmp/acpi.jpg for
> >> > a screenshot).
> > 
> > What was the next few lines after "acpi0: <IBM TP-1R> on ..." before?
> > No ctrl+alt+esc?
> > 
> >> Same here on T60.
> > 
> > Please let me know the result of either or both of the following
> > intructions:
[snip]
> >  it should print the function names on the screen, I'd like to know
> >  the last few ones.
> 
> http://www.ecademix.com/JohannesHofmann/tmp/acpi2.jpg

That's somewhere around here in acpi_attach; AcpiInitializeSubsystem()
has ACPI_FUNCTION_TRACE but it's not shown in acpi2.jpg, so it's stuck
after entering acpi_attach() but before calling AcpiInitializeSubsystem().
Can you insert a few kprintf()'s in the section below to see where it's
actually stuck?

Cheers.


[acpi_attach:acpi.c]

      ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
  #if __FreeBSD_version >= 500000
      /* Initialise the ACPI mutex */
      mtx_init(&acpi_mutex, "ACPI global lock", NULL, MTX_DEF);
  #endif
<<<<<< FROM HERE >>>>>>
      ACPI_LOCK;
      sc = device_get_softc(dev);
      bzero(sc, sizeof(*sc));
      sc->acpi_dev = dev;
      callout_init(&sc->acpi_sleep_timer);

      /*
       * Set the globals from our tunables.  This is needed because ACPI-CA
       * uses UINT8 for some values and we have no tunable_byte.
       */
      AcpiGbl_AllMethodsSerialized = (UINT8)acpi_serialize_methods;
      AcpiGbl_EnableInterpreterSlack = TRUE;

      error = ENXIO;
  #ifdef ACPI_DEBUGGER
      debugpoint = kgetenv("debug.acpi.debugger");
      if (debugpoint) {
          if (!strcmp(debugpoint, "tables"))
              acpi_EnterDebugger();
          freeenv(debugpoint);
      }
  #endif
<<<<<< UNTIL HERE >>>>>>
      if (ACPI_FAILURE(status = AcpiInitializeSubsystem())) {
          kprintf("ACPI: initialisation failed: %s\n",
                 AcpiFormatException(status));
          goto out;
      }

Reply via email to