2 * PROJECT: NEC PC-98 series HAL
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: Reboot routine
5 * COPYRIGHT: Copyright 2020 Dmitry Borisov (di.sean@protonmail.com)
8 /* INCLUDES ******************************************************************/
15 /* PRIVATE FUNCTIONS *********************************************************/
20 HalpFreezeSystem(VOID
)
32 /* Disable interrupts */
35 /* Flush write buffers */
38 /* Send the reset command */
39 WRITE_PORT_UCHAR((PUCHAR
)PPI_IO_o_CONTROL
, PPI_SHUTDOWN_0_ENABLE
);
40 WRITE_PORT_UCHAR((PUCHAR
)PPI_IO_o_CONTROL
, PPI_SHUTDOWN_1_ENABLE
);
41 WRITE_PORT_UCHAR((PUCHAR
)CPU_IO_o_RESET
, 0);
47 /* PUBLIC FUNCTIONS **********************************************************/
52 _In_ FIRMWARE_REENTRY Action
)
56 case HalPowerDownRoutine
:
60 case HalRebootRoutine
:
62 /* Acquire the display */
63 InbvAcquireDisplayOwnership();
66 /* Call the internal reboot function */
71 /* Print message and break */
72 DbgPrint("HalReturnToFirmware called!\n");