Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
gdt.h
Go to the documentation of this file.
1#ifndef __HAL_CPU_GDT_H__
2#define __HAL_CPU_GDT_H__
4#include <type.h>
6typedef struct {
13} __attribute__((packed))
14gdt_entry_t; // __attribute__((packed)) is used to tell the compiler not
15 // to optimize the struct
16
17typedef struct {
20} __attribute__((packed)) gdt_ptr_t;
21
31
32typedef struct {
33 gdt_entry_t entries[14];
34 gdt_ptr_t pointer;
35 lm_tss_t tss;
37
38gdt_entry_t
40void gdt_flush(gdt_ptr_t gdt_ptr);
41
42__attribute__((no_stack_protector)) void setup_gdt(int core);
43void set_tss_stack(uint16_t core, uintptr_t stack_top);
44
45#endif // __HAL_CPU_GDT_H__
void setup_gdt(int core)
elf_section_map uintptr_t base
Definition elf.h:296
gdt_entry_t gdt_make_entry(uint32_t base, uint16_t limit, uint8_t access, uint8_t flags)
Definition gdt.c:77
void set_tss_stack(uint16_t core, uintptr_t stack_top)
Definition gdt.c:67
typedef __attribute__
void gdt_flush(gdt_ptr_t gdt_ptr)
Definition gdt.c:89
uint16_t flags
Definition thread.h:5
uint64_t base
Definition gdt.h:19
uint8_t flags
Definition gdt.h:11
uint8_t base_middle
Definition gdt.h:9
uint16_t limit_low
Definition gdt.h:7
uint16_t base_low
Definition gdt.h:8
uint8_t base_high
Definition gdt.h:12
uint8_t access
Definition gdt.h:10
uint16_t limit
Definition gdt.h:18
gdt_entry_t entries[14]
Definition gdt.h:33
gdt_ptr_t pointer
Definition gdt.h:34
lm_tss_t tss
Definition gdt.h:35
Definition gdt.h:22
uint64_t rsp[3]
Definition gdt.h:24
uint16_t iomap_base
Definition gdt.h:29
uint64_t ist[7]
Definition gdt.h:26
uint32_t reserved
Definition gdt.h:23
uint16_t reserved4
Definition gdt.h:28
uint64_t reserved2
Definition gdt.h:25
uint64_t reserved3
Definition gdt.h:27
unsigned short uint16_t
Definition type.h:13
unsigned int uint32_t
Definition type.h:19
unsigned long uintptr_t
Definition type.h:73
unsigned long uint64_t
Definition type.h:25
unsigned char uint8_t
Definition type.h:7
int core
Definition vm_manager.h:5