Let kernel initialize stack on it's own without relying on boot loader

This commit is contained in:
2023-02-05 09:55:59 +01:00
parent 0b743a5f26
commit d6aac59199
10 changed files with 38 additions and 60 deletions

View File

@@ -24,4 +24,10 @@ EXTERN KPROCESSOR_BLOCK ArInitialProcessorBlock;
/* Initial TSS */
EXTERN KTSS ArInitialTss;
/* Kernel own boot stack */
EXTERN UCHAR ArKernelBootStack[KERNEL_STACK_SIZE];
/* Kernel own fault stack */
EXTERN UCHAR ArKernelFaultStack[KERNEL_STACK_SIZE];
#endif /* __XTOSKRNL_AMD64_GLOBALS_H */

View File

@@ -19,12 +19,6 @@ EXTERN HAL_FRAMEBUFFER_DATA HlpFrameBufferData;
/* Kernel initialization block passed by boot loader */
EXTERN PKERNEL_INITIALIZATION_BLOCK KeInitializationBlock;
/* Kernel own boot stack */
EXTERN UCHAR KepKernelBootStackData[KERNEL_STACK_SIZE];
/* Kernel own fault stack */
EXTERN UCHAR KepKernelFaultStackData[KERNEL_STACK_SIZE];
/* Pointer to boot loader provided DbgPrint() routine */
EXTERN VOID (*LdrDbgPrint)(IN PWCHAR Format, IN ...);

View File

@@ -28,4 +28,10 @@ EXTERN KTSS ArInitialTss;
EXTERN UCHAR ArpDoubleFaultTss[KTSS_IO_MAPS];
EXTERN UCHAR ArpNonMaskableInterruptTss[KTSS_IO_MAPS];
/* Kernel own boot stack */
EXTERN UCHAR ArKernelBootStack[KERNEL_STACK_SIZE];
/* Kernel own fault stack */
EXTERN UCHAR ArKernelFaultStack[KERNEL_STACK_SIZE];
#endif /* __XTOSKRNL_I686_GLOBALS_H */

View File

@@ -20,10 +20,6 @@ XTAPI
VOID
KepStartKernel(VOID);
XTAPI
VOID
KepInitializeStack(IN PKERNEL_INITIALIZATION_BLOCK Parameters);
XTAPI
VOID
KepSwitchBootStack(IN ULONG_PTR Stack);