Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Jun 2006 14:32:52 -0700
From:      Nate Lawson <nate@root.org>
To:        Alexander Logvinov <abuse@akavia.ru>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: Machine did not reboot
Message-ID:  <4495C684.90602@root.org>
In-Reply-To: <1007295802.20060617220603@akavia.ru>
References:  <1182686709.20060605133201@akavia.ru>	<200606062022.59336.jkim@FreeBSD.org>	<121000959.20060607154424@akavia.ru>	<200606071524.07284.jkim@FreeBSD.org> <448C867B.3010708@root.org>	<681310105.20060615210518@akavia.ru> <1007295802.20060617220603@akavia.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Alexander Logvinov wrote:
> Hello!
> 
>>> Thanks for both your efforts.  I've committed and MFCd a patch that does 
>>> the same things.  I left out Jung-uk's hack because it's better just to 
>>> not run AcpiTerminate at all than grovel in its internals.
>>  After updating src/sys/dev/acpica/acpi.c to v 1.214.2.5 2006/06/11 I get a "ACPI reset failed -
>> timeout" message. I call Jung-uk's hack with AcpiGbl_OriginalMode = ACPI_SYS_MODE_ACPI and 
>> AcpiTerminate() manually but it doesn't help. May it be anything wrong with my kernel configuration?

Not likely.  I assume rebooting worked before for you with stock acpi? 
If not, can you explain what worked before and what did not?

You can disable the reset register code like this to test (patch has 
whitespace problems so won't apply cleanly):

--- acpi.c      11 Jun 2006 20:31:41 -0000      1.226
+++ acpi.c      18 Jun 2006 21:30:34 -0000
@@ -1658,6 +1658,7 @@
             DELAY(1000000);
             printf("ACPI power-off failed - timeout\n");
         }
+#if 0
      } else if ((howto & RB_HALT) == 0 && AcpiGbl_FADT->ResetRegSup) {
         /* Reboot using the reset register. */
         status = AcpiHwLowLevelWrite(
@@ -1669,6 +1670,7 @@
             DELAY(1000000);
             printf("ACPI reset failed - timeout\n");
         }
+#endif
      } else if (sc->acpi_do_disable && panicstr == NULL) {
         /*
          * Only disable ACPI if the user requested.  On some systems, 
writing


>  Sorry for stupid question but why when I'm writing hw.acpi.disable_on_reboot=1 in sysctl.conf after reboot I see this?
> 
> # sysctl hw.acpi.disable_on_reboot
> hw.acpi.disable_on_reboot: 0
> 
>  And after
> 
> # sysctl hw.acpi.disable_on_reboot=1
> hw.acpi.disable_on_reboot: 0 -> 1
> 
>   the system all the same  uses ResetRegister after shutdown -r now?

hw.acpi.disable_on_reboot does not affect whether ResetRegister is used, 
correct.  It only affects whether we call AcpiTerminate()

-- 
Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4495C684.90602>