Basic IDT setup in the bootloader
All checks were successful
ci/woodpecker/push/build Pipeline was successful

This commit is contained in:
2023-01-26 20:14:27 +01:00
parent e94e50b5d9
commit bf141fe25e
4 changed files with 111 additions and 18 deletions

View File

@@ -189,6 +189,7 @@ XtpBootSequence(IN PEFI_FILE_HANDLE BootDir,
ULONG KernelStackPages;
EFI_STATUS Status;
PKGDTENTRY Gdt;
PKIDTENTRY Idt;
/* Initialize XTOS startup sequence */
XtLdrProtocol->DbgPrint(L"Initializing XTOS startup sequence\n");
@@ -259,7 +260,7 @@ XtpBootSequence(IN PEFI_FILE_HANDLE BootDir,
VirtualAddress += (KernelStackPages * EFI_PAGE_SIZE);
/* Set processor context */
Status = XtpSetProcessorContext(&MemoryMappings, &VirtualAddress, &Gdt);
Status = XtpSetProcessorContext(&MemoryMappings, &VirtualAddress, &Gdt, &Idt);
if(Status != STATUS_EFI_SUCCESS)
{
/* Failed to set processor context */
@@ -278,7 +279,7 @@ XtpBootSequence(IN PEFI_FILE_HANDLE BootDir,
}
/* Load processor context */
XtpLoadProcessorContext(Gdt);
XtpLoadProcessorContext(Gdt, Idt);
/* Call XTOS kernel */
XtLdrProtocol->DbgPrint(L"Booting the XTOS kernel\n");