Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
gdt.c File Reference
#include "gdt.h"
#include "init/init.h"
#include "libk/serial.h"
#include "procc/thread.h"
#include <libk/debug/debug.h>
#include <str.h>
#include <memory/memory_utils.h>
#include <memory/phys_base_allocator.h>

Go to the source code of this file.

Macros

#define TSS_LOW   0x28ULL
 
#define TSS_HIGH   0x30ULL
 

Functions

void reloadGDT (int cs, int ds)
 
uint8_t ap_stack_top[VOXIA_MAX_CORE][65536] __attribute__ ((aligned(16)))
 
 __attribute__ ((no_stack_protector))
 
void set_tss_stack (uint16_t core, uintptr_t stack_top)
 
 INIT (Gdt)
 
gdt_entry_t gdt_make_entry (uint32_t base, uint16_t limit, uint8_t access, uint8_t flags)
 
void gdt_flush (gdt_ptr_t p)
 

Variables

static gdt_each_core_t __gdt_entries [VOXIA_MAX_CORE]
 

Macro Definition Documentation

◆ TSS_HIGH

#define TSS_HIGH   0x30ULL

Definition at line 13 of file gdt.c.

◆ TSS_LOW

#define TSS_LOW   0x28ULL

Definition at line 12 of file gdt.c.

Function Documentation

◆ __attribute__() [1/2]

uint8_t ap_stack_top[VOXIA_MAX_CORE][65536] __attribute__ ( (aligned(16)) )

References ap_stack_top.

◆ __attribute__() [2/2]

__attribute__ ( (no_stack_protector) )

Definition at line 18 of file gdt.c.

References __gdt_entries, ap_stack_top, core, and gdt_make_entry().

◆ gdt_flush()

void gdt_flush ( gdt_ptr_t p)

Definition at line 89 of file gdt.c.

◆ gdt_make_entry()

gdt_entry_t gdt_make_entry ( uint32_t base,
uint16_t limit,
uint8_t access,
uint8_t flags )

Definition at line 77 of file gdt.c.

References base, and flags.

Referenced by __attribute__().

◆ INIT()

INIT ( Gdt )

Definition at line 72 of file gdt.c.

References setup_gdt().

◆ reloadGDT()

void reloadGDT ( int cs,
int ds )
extern

◆ set_tss_stack()

void set_tss_stack ( uint16_t core,
uintptr_t stack_top )

Definition at line 67 of file gdt.c.

References __gdt_entries, and core.

Variable Documentation

◆ __gdt_entries

gdt_each_core_t __gdt_entries[VOXIA_MAX_CORE]
static

Definition at line 15 of file gdt.c.

Referenced by __attribute__(), __attribute__(), and set_tss_stack().