summaryrefslogtreecommitdiffhomepage
path: root/Private/HALKit/AMD64/HalHardwareInit.cpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-31 19:36:16 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-31 19:36:16 +0100
commit8621867b0e4b38dedc8556e6c483e3575d776af0 (patch)
treeae8e9d271db301dc3f9433b909cd80636a8196e5 /Private/HALKit/AMD64/HalHardwareInit.cpp
parent8f7904569a60721cfd051a359dd17cc86ea67cfe (diff)
Kernel: Many improvements done to the kernel and it's HAL and protocols.
Will implement BFileReader on next commit. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/HALKit/AMD64/HalHardwareInit.cpp')
-rw-r--r--Private/HALKit/AMD64/HalHardwareInit.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/Private/HALKit/AMD64/HalHardwareInit.cpp b/Private/HALKit/AMD64/HalHardwareInit.cpp
index b509b284..bc002e3d 100644
--- a/Private/HALKit/AMD64/HalHardwareInit.cpp
+++ b/Private/HALKit/AMD64/HalHardwareInit.cpp
@@ -11,9 +11,22 @@
// bugs = 0
+extern "C" HCore::VoidPtr __EXEC_IVT;
+
+static HCore::HAL::Register64* kIdtRegister;
+static HCore::HAL::Register64* kGdtRegister;
+
namespace HCore {
bool ke_init_hal() {
- // TODO: Hardware Specific stuff.
+ kIdtRegister = nullptr;
+ kGdtRegister = nullptr;
+
+ kIdtRegister = new HCore::HAL::Register64();
+ kIdtRegister->Base = (UIntPtr)__EXEC_IVT;
+ kIdtRegister->Limit = sizeof(HAL::Register64) * 256;
+
+ HAL::IDTLoader idt;
+ idt.Load(*kIdtRegister);
return true;
}