kern/94939: [acpi] [patch] reboot(8) fails on IBM / Intel blades

Nate Lawson nate at root.org
Tue Mar 28 19:10:29 UTC 2006


The following reply was made to PR kern/94939; it has been noted by GNATS.

From: Nate Lawson <nate at root.org>
To: John Baldwin <jhb at freebsd.org>
Cc: bug-followup at freebsd.org, dodell at ixsystems.com
Subject: Re: kern/94939: [acpi] [patch] reboot(8) fails on IBM / Intel blades
Date: Tue, 28 Mar 2006 11:08:02 -0800

 John Baldwin wrote:
 > Nate,
 > 
 > I'm curious where you think this code should go if not here?  I'd imagine
 > we don't want to do this after AcpiTerminate() since perhaps the specified
 > register may no longer be available (I might be wrong though, I haven't
 > checked the spec).
 > 
 
 I don't have a specific idea since I didn't look at it closely.  I think 
 there might be some requirements of writes to the reset register 
 (delays, expectation of chipset configuration, order with other shutdown 
 tasks).  Here are the requirements from the spec:
 
  >>>
 4.7.3.6 Reset Register
 The optional ACPI reset mechanism specifies a standard mechanism that 
 provides a complete system reset.  When implemented, this mechanism must 
 reset the entire system. This includes processors, core logic, all
 buses, and all peripherals. From an OSPM perspective, asserting the 
 reset mechanism is the logical equivalent to power cycling the machine. 
 Upon gaining control after a reset, OSPM will perform actions in
 like manner to a cold boot.
 ...
 The system must reset immediately following the write to this register. 
 OSPM assumes that the processor will not execute beyond the write 
 instruction. OSPM should execute spin loops on the CPUs in the system 
 following a write to this register.
  >>>
 
 So I'm ok with the patch being committed if no other tasks need to 
 happen after this shutdown handler is called.  Also, all APs should be 
 stopped before this happens and it should only occur once on the BSP.
 
 -- 
 Nate


More information about the freebsd-bugs mailing list