Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
gdt.h File Reference
#include <type.h>

Go to the source code of this file.

Data Structures

struct  __attribute__
 
struct  lm_tss
 
struct  gdt_each_core_t
 

Functions

struct lm_tss __attribute__ ((packed)) lm_tss_t
 
gdt_entry_t gdt_make_entry (uint32_t base, uint16_t limit, uint8_t access, uint8_t flags)
 
void gdt_flush (gdt_ptr_t gdt_ptr)
 
 __attribute__ ((no_stack_protector)) void setup_gdt(int core)
 
void set_tss_stack (uint16_t core, uintptr_t stack_top)
 

Variables

typedef __attribute__
 
uint32_t reserved
 
uint64_t rsp [3]
 
uint64_t reserved2
 
uint64_t ist [7]
 
uint64_t reserved3
 
uint16_t reserved4
 
uint16_t iomap_base
 

Function Documentation

◆ __attribute__() [1/2]

◆ __attribute__() [2/2]

struct lm_tss __attribute__ ( (packed) )

Definition at line 1 of file tcp.h.

◆ gdt_flush()

void gdt_flush ( gdt_ptr_t gdt_ptr)

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__().

◆ 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

◆ __attribute__

typedef __attribute__

◆ iomap_base

uint16_t iomap_base

Definition at line 6 of file gdt.h.

◆ ist

uint64_t ist[7]

Definition at line 3 of file gdt.h.

Referenced by interrupt_register(), and irq_register().

◆ reserved

uint32_t reserved

Definition at line 0 of file gdt.h.

◆ reserved2

uint32_t reserved2

Definition at line 2 of file gdt.h.

◆ reserved3

uint64_t reserved3

Definition at line 4 of file gdt.h.

◆ reserved4

uint16_t reserved4

Definition at line 5 of file gdt.h.

◆ rsp

uint64_t rsp[3]

Definition at line 1 of file gdt.h.

Referenced by __attribute__(), sch_restore_to_next_thread(), and syscall_dispatch().