mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 19:05:52 +00:00
[NTOS]: Do the "funny message" (not really funny, my apologies) shenanigans after the system components have shutdown, and reset the display and call the HAL at least at DPC level (should probably do it at HIGH IRQL, really). This way, we can avoid the context switch to another process while the HAL is executing the BIOS reset display call (done solely for the benefit of the "funny messages", as the video card driver usually resets the display) and thus avoid the "invalid V86 opcode" message sometimes appearing on shutdown. Did you know the "funny messages" take up more storage space than an average embedded micro-controller OS?
svn path=/trunk/; revision=45777
This commit is contained in:
parent
7cdbb11c87
commit
52d93be892
1 changed files with 11 additions and 8 deletions
|
@ -139,6 +139,16 @@ ShutdownThreadMain(PVOID Context)
|
|||
/* Run the thread on the boot processor */
|
||||
KeSetSystemAffinityThread(1);
|
||||
|
||||
PspShutdownProcessManager();
|
||||
|
||||
CmShutdownSystem();
|
||||
IoShutdownRegisteredFileSystems();
|
||||
IoShutdownRegisteredDevices();
|
||||
|
||||
ZwQuerySystemTime(&Now);
|
||||
|
||||
KeRaiseIrqlToDpcLevel();
|
||||
|
||||
if (InbvIsBootDriverInstalled())
|
||||
{
|
||||
InbvAcquireDisplayOwnership();
|
||||
|
@ -152,19 +162,12 @@ ShutdownThreadMain(PVOID Context)
|
|||
|
||||
if (Action == ShutdownNoReboot)
|
||||
{
|
||||
ZwQuerySystemTime(&Now);
|
||||
Now.u.LowPart = Now.u.LowPart >> 8; /* Seems to give a somewhat better "random" number */
|
||||
HalDisplayString(FamousLastWords[Now.u.LowPart %
|
||||
(sizeof(FamousLastWords) /
|
||||
sizeof(PCH))]);
|
||||
}
|
||||
|
||||
PspShutdownProcessManager();
|
||||
|
||||
CmShutdownSystem();
|
||||
IoShutdownRegisteredFileSystems();
|
||||
IoShutdownRegisteredDevices();
|
||||
|
||||
|
||||
if (Action == ShutdownNoReboot)
|
||||
{
|
||||
HalDisplayString("\nYou can switch off your computer now\n");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue