diff options
| author | Alexey Gavrilov <90127298+rebovas@users.noreply.github.com> | 2024-03-07 15:18:51 +0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-07 15:18:51 +0700 |
| commit | 05673a8a51a9f00fa367ec2898ffce493e7ecdc9 (patch) | |
| tree | 4999e8c789a036511a1b6bbaec594b712bb1f64a /arch/x86/gdt | |
| parent | 976575c12b5da66996a3204ec711e4937a3ef240 (diff) | |
| parent | 244a9154e42a49470bd28e3a95ebe9f4a5fe5ff7 (diff) | |
Merge pull request #1 from rebovas/init_proc
Mechanism of initialization
Diffstat (limited to 'arch/x86/gdt')
| -rwxr-xr-x | arch/x86/gdt/Gdt.cpp | 4 | ||||
| -rwxr-xr-x | arch/x86/gdt/Gdt.h | 2 | ||||
| -rw-r--r-- | arch/x86/gdt/GlobalObj.cpp | 6 | ||||
| -rw-r--r-- | arch/x86/gdt/GlobalObj.h | 11 | ||||
| -rw-r--r-- | arch/x86/gdt/SwitchToGdt.s (renamed from arch/x86/gdt/GoToGdtMemSeg.s) | 4 |
5 files changed, 6 insertions, 21 deletions
diff --git a/arch/x86/gdt/Gdt.cpp b/arch/x86/gdt/Gdt.cpp index 88c7bbd..21941b4 100755 --- a/arch/x86/gdt/Gdt.cpp +++ b/arch/x86/gdt/Gdt.cpp @@ -1,6 +1,8 @@ #include "Gdt.h" +uint64 MngGdt::gdt[MngGdt::size]; + DescSeg32::DescSeg32(uint32 base, uint32 limit, uint8 access, uint8 flags) { this->baseLow = base & 0x0000FFFF; @@ -88,7 +90,7 @@ bool MngGdt::loadGdt() pointer <<= 16; pointer |= size; - GOTOGDTMEMSEG(pointer); + SWITCHTOGDT(pointer); isGdtLoaded = 1; return true; diff --git a/arch/x86/gdt/Gdt.h b/arch/x86/gdt/Gdt.h index a8d7dc2..6667d93 100755 --- a/arch/x86/gdt/Gdt.h +++ b/arch/x86/gdt/Gdt.h @@ -59,7 +59,7 @@ class DescSeg32 // Segment descriptor #ifdef __cplusplus extern "C" { #endif -extern void GOTOGDTMEMSEG(uint64 pointer); +extern void SWITCHTOGDT(uint64 pointer); #ifdef __cplusplus }; #endif diff --git a/arch/x86/gdt/GlobalObj.cpp b/arch/x86/gdt/GlobalObj.cpp deleted file mode 100644 index fbceeef..0000000 --- a/arch/x86/gdt/GlobalObj.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "GlobalObj.h" - - -uint64 MngGdt::gdt[MngGdt::size]; - -MngGdt mngGdt; diff --git a/arch/x86/gdt/GlobalObj.h b/arch/x86/gdt/GlobalObj.h deleted file mode 100644 index 3c62847..0000000 --- a/arch/x86/gdt/GlobalObj.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef GDTGLOBALOBJ_H -#define GDTGLOBALOBJ_H - -#include <types.h> -#include "Gdt.h" - -extern MngGdt mngGdt; - -void mngGdtInit(); - -#endif diff --git a/arch/x86/gdt/GoToGdtMemSeg.s b/arch/x86/gdt/SwitchToGdt.s index 2b5dd62..52ebbc7 100644 --- a/arch/x86/gdt/GoToGdtMemSeg.s +++ b/arch/x86/gdt/SwitchToGdt.s @@ -1,5 +1,5 @@ -global GOTOGDTMEMSEG -GOTOGDTMEMSEG: +global SWITCHTOGDT +SWITCHTOGDT: lgdt [esp + 4] jmp 0x08:.reloadCS .reloadCS: |
