Initialize AMD64 processor registers

This commit is contained in:
2023-02-04 23:40:03 +01:00
parent f181215341
commit 55cdae7c83
5 changed files with 99 additions and 12 deletions

View File

@@ -20,21 +20,9 @@ XTAPI
VOID
KepArchInitialize(VOID)
{
/* Enable global paging support */
ArWriteControlRegister(4, ArReadControlRegister(4) | CR4_PGE);
/* Enable write-protection */
ArWriteControlRegister(0, ArReadControlRegister(0) | CR0_WP);
/* Set alignment mask */
ArWriteControlRegister(0, ArReadControlRegister(0) | CR0_AM);
/* Re-enable IDE interrupts */
HlIoPortOutByte(0x376, 0);
HlIoPortOutByte(0x3F6, 0);
/* Set system call extensions (SCE) flag in EFER MSR */
ArWriteModelSpecificRegister(X86_MSR_EFER, ArReadModelSpecificRegister(X86_MSR_EFER) | X86_MSR_EFER_SCE);
}
/**