diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2021-04-12 10:13:21 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2021-04-12 10:13:21 +0200 |
| commit | 39713a3736145483dd3310c3605f940ca34f05c3 (patch) | |
| tree | d4dcdf0f3b667a5d706aa4b04501a71facf186bd /src/utils/gdt.h | |
| parent | 6edeba8fe208fb019aec00fdc72b97407a8078d3 (diff) | |
Refactoring
Diffstat (limited to 'src/utils/gdt.h')
| -rw-r--r-- | src/utils/gdt.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/src/utils/gdt.h b/src/utils/gdt.h deleted file mode 100644 index f010891..0000000 --- a/src/utils/gdt.h +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef GDT_H -#define GDT_H - -#include "types.h" - -#define GDT_MAX_ENTRIES 8 - -// Access byte -#define GDT_AC 1 // Access bit -#define GDT_RW 1 << 1 // Read/Write bit -#define GDT_DC 1 << 2 // Direction bit/Conforming bit -#define GDT_EXEC 1 << 3 // Executable bit -#define GDT_S 1 << 4 // Descriptor type -#define GDT_PRVL_0 0 // Privilege (from 0 to 3) -#define GDT_PRVL_1 1 << 5 -#define GDT_PRVL_2 2 << 5 -#define GDT_PRVL_3 3 << 5 -#define GDT_PR 1 << 7 // Present Bit - -// Flags -#define GDT_SZ 1 << 2 // Size bit -#define GDT_GR 1 << 3 // Granularity bit - -typedef struct GDT_ENTRY { - u32 base; - u32 limit; - u8 flags; - u8 access; -} GDT_ENTRY; - -struct GDT_REGISTER { - u16 limit; - u32 base; -} __attribute__((packed)); - -typedef struct GDT_TSS { - u16 previous_task,previous_task_unused; - u32 esp0; - u16 ss0, ss0_unused; - u32 esp1; - u16 ss1, ss1_unused; - u32 esp2; - u16 ss2, ss2_unused; - u32 cr3; - u32 eip; - u32 eflags; - u32 eax; - u32 ecx; - u32 edx; - u32 ebx; - u32 esp; - u32 ebp; - u32 esi; - u32 edi; - u16 es, es_reserved; - u16 cs, cs_reserved; - u16 ss, ss_reserved; - u16 ds, ds_reserved; - u16 fs, fs_reserved; - u16 gs, gs_reserved; - u16 ldtss, ldtss_reserved; - u16 t_reserved, io_map; -} __attribute__((packed)) GDT_TSS; - -/** - * Copy GDT in memory - */ -void gdt_memcpy(); - -/** - * Write a GDT entry at address addr - */ -void gdt_write_entry(GDT_ENTRY entry, u32 id); - -int gdt_user_ds_base(); - -#endif |
