KernOS
gdt.cpp File Reference
#include <common.h>
#include <gdt.h>
#include <utilities.h>
#include <registers.h>
#include <accessright.h>
Include dependency graph for gdt.cpp:

Go to the source code of this file.

Classes

union  GDT::GdtEntry
 Global descriptor table entry. More...
 
struct  GDT::Selector
 convenience structure used to set bits of GdtEntry More...
 

Namespaces

 GDT
 global descriptor table
 
 INIT
 contains all kernel initialization routines
 

Functions

void GDT::SetGlobalDescriptorEntry (GdtEntry GdtTable[], const Selector SelectorTable[])
 Set entries in GdtTable from array of Selector. More...
 
void GDT::Load_gdt (void *gdtAddress, uint16_t LimitUse)
 assembly instruction to load gdt table to CPU More...
 
void GDT::Install_gdt ()
 Creates global descriptor entries in gdt_table, and loads into CPU. More...
 
void INIT::gdt ()
 creates global descriptor table and loads it into CPU More...
 

Variables

const uint32_t GDT::NULL_LIMIT = 0x00000000
 
const uint32_t GDT::KERN_CS_LIMIT = 0x000FFFFF
 
const uint32_t GDT::KERN_DS_LIMIT = 0x000FFFFF
 
const uint32_t GDT::USER_CS_LIMIT = 0x000FFFFF
 
const uint32_t GDT::USER_DS_LIMIT = 0x000FFFFF
 
const uint32_t GDT::NULL_BASE = 0x00000000
 
const uint32_t GDT::KERN_CS_BASE = 0x00000000
 
const uint32_t GDT::KERN_DS_BASE = 0x00000000
 
const uint32_t GDT::USER_CS_BASE = 0x00000000
 
const uint32_t GDT::USER_DS_BASE = 0x00000000
 
const uint8_t GDT::NULL_GRANULARITY = 0x00
 
const uint8_t GDT::KERN_CS_GRANULARITY = 0xC0
 
const uint8_t GDT::KERN_DS_GRANULARITY = 0xC0
 
const uint8_t GDT::USER_CS_GRANULARITY = 0xC0
 
const uint8_t GDT::USER_DS_GRANULARITY = 0xC0