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