Implement KeHaltSystem() routine

这个提交包含在:
2023-11-22 19:24:14 +01:00
父节点 d7e6d319cf
当前提交 f28c870192
修改 3 个文件,包含 26 行新增6 行删除

查看文件

@@ -17,6 +17,10 @@ XTAPI
VOID VOID
KeClearEvent(IN PKEVENT Event); KeClearEvent(IN PKEVENT Event);
XTAPI
VOID
KeHaltSystem();
XTAPI XTAPI
VOID VOID
KeInitializeEvent(OUT PKEVENT Event, KeInitializeEvent(OUT PKEVENT Event,

查看文件

@@ -32,12 +32,7 @@ KeStartXtSystem(IN PKERNEL_INITIALIZATION_BLOCK Parameters)
KeInitializationBlock->ProtocolVersion != BOOT_PROTOCOL_VERSION) KeInitializationBlock->ProtocolVersion != BOOT_PROTOCOL_VERSION)
{ {
/* Kernel and boot loader version mismatch */ /* Kernel and boot loader version mismatch */
for(;;) KeHaltSystem();
{
/* Halt system */
ArClearInterruptFlag();
ArHalt();
}
} }
/* Check if debugging enabled and if boot loader provided routine for debug printing */ /* Check if debugging enabled and if boot loader provided routine for debug printing */

查看文件

@@ -9,6 +9,27 @@
#include <xtos.h> #include <xtos.h>
/**
* Halts the system.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTAPI
VOID
KeHaltSystem()
{
/* Enter infinite loop */
for(;;)
{
/* Halt system */
ArClearInterruptFlag();
ArHalt();
}
}
/** /**
* Crashes the system upon detecting a fatal error in which either it is unable to recover or continue to run system. * Crashes the system upon detecting a fatal error in which either it is unable to recover or continue to run system.
* *