blob: bc002e3d501582ec3ac7d55092a62b2316f3a019 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/*
* ========================================================
*
* HCore
* Copyright Mahrouss Logic, all rights reserved.
*
* ========================================================
*/
#include <ArchKit/Arch.hpp>
// bugs = 0
extern "C" HCore::VoidPtr __EXEC_IVT;
static HCore::HAL::Register64* kIdtRegister;
static HCore::HAL::Register64* kGdtRegister;
namespace HCore {
bool ke_init_hal() {
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;
}
} // namespace HCore
|