GitOS
Operating system exercise
|
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | gdt |
struct | gdt_structured |
struct | gdt_descriptor |
Macros | |
#define | TOTAL_GDT_SEGMENTS 6 |
#define | KERNEL_CODE_SELECTOR 0x08 |
#define | KERNEL_DATA_SELECTOR 0x10 |
#define | USER_CODE_SELECTOR 0x1b |
#define | USER_DATA_SELECTOR 0x23 |
Functions | |
struct gdt | __attribute__ ((packed)) |
void | gdt_load (struct gdt *gdt, unsigned int size) |
void | gdt_read (struct gdt_descriptor *target) |
void | gdt_structured_to_gdt (struct gdt *gdt, struct gdt_structured *structured_gdt, unsigned int total_entries) |
Variables | |
uint16_t | segment |
uint16_t | base_first |
uint8_t | base |
uint8_t | access |
uint8_t | high_flags |
uint8_t | base_24_31_bits |
struct gdt_structured | __attribute__ |
uint16_t | size |
uint32_t | start_address |
#define KERNEL_CODE_SELECTOR 0x08 |
#define KERNEL_DATA_SELECTOR 0x10 |
#define TOTAL_GDT_SEGMENTS 6 |
#define USER_CODE_SELECTOR 0x1b |
#define USER_DATA_SELECTOR 0x23 |
struct gdt __attribute__ | ( | (packed) | ) |
void gdt_load | ( | struct gdt * | gdt, |
unsigned int | size | ||
) |
References gdt_descriptor, size, gdt_descriptor::size, and gdt_descriptor::start_address.
void gdt_read | ( | struct gdt_descriptor * | target | ) |
void gdt_structured_to_gdt | ( | struct gdt * | gdt, |
struct gdt_structured * | structured_gdt, | ||
unsigned int | total_entries | ||
) |
References encode_gdt_entry().
struct gdt_structured __attribute__ |
uint8_t access |
uint8_t base |
uint8_t base_24_31_bits |
uint16_t base_first |
uint8_t high_flags |
uint16_t segment |
uint16_t size |
uint32_t start_address |