From 58dfc9c407db906cc05ddb3e636eaae4f8fc7417 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 5 Dec 2022 00:43:59 +0200 Subject: [PATCH] Enable Global Pages --- Core/CPU.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Core/CPU.cpp b/Core/CPU.cpp index 7334fbf..6037014 100644 --- a/Core/CPU.cpp +++ b/Core/CPU.cpp @@ -181,6 +181,14 @@ namespace CPU x64::CR4 cr4 = x64::readcr4(); uint32_t rax, rbx, rcx, rdx; x64::cpuid(0x1, &rax, &rbx, &rcx, &rdx); + if (rdx & x64::CPUID_FEAT_RDX_PGE) + { + debug("Enabling global pages support..."); + if (!BSP) + KPrint("Global Pages is supported."); + cr4.PGE = 1; + } + if (rdx & x64::CPUID_FEAT_RDX_SSE) { debug("Enabling SSE support..."); @@ -197,6 +205,7 @@ namespace CPU cr0.NW = 0; cr0.CD = 0; + cr0.WP = 1; x64::writecr0(cr0);