Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Mar 2006 08:10:22 GMT
From:      "Devon H. O'Dell" <dodell@iXsystems.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/94939: [acpi] [patch] reboot(8) fails on IBM / Intel blades
Message-ID:  <200603300810.k2U8AMRI044527@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/94939; it has been noted by GNATS.

From: "Devon H. O'Dell" <dodell@iXsystems.com>
To: Nate Lawson <nate@root.org>
Cc: John Baldwin <jhb@freebsd.org>, bug-followup@freebsd.org
Subject: Re: kern/94939: [acpi] [patch] reboot(8) fails on IBM / Intel blades
Date: Tue, 28 Mar 2006 11:22:35 -0800

 On Tue, Mar 28, 2006 at 11:08:02AM -0800, Nate Lawson wrote:
 > 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.
 >  >>>
 
 My interpretation of this is ``don't do anything else after
 the write to the register, because you can't expect to do
 it.'' Since they say that the system ``must reset immediately
 following the write'', it seems that this is implemented in
 hardware, and we can't assume that we will be able to do
 anything afterwards, anyway.
 
 > 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.
 
 I was curious if anything happens after this handler is
 called -- if there is, we definitely need to move it back
 to later in the process. Again, I put the code here because it
 looked to me like the procedure already assumed nothing else
 is happening, but it sounds like there are other procedures
 that are in the call queue after this one.
 
 --Devon
 
 > -- 
 > Nate



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