StuBS
|
The Global Descriptor Table (GDT). More...
#include "types.h"
Classes | |
struct | GDT::SegmentDescriptor.__unnamed32__ |
Fields specific for Data Segment (for debugging purposes) More... | |
Namespaces | |
namespace | GDT |
Abstracts the GDT that, primarily, contains descriptors to memory segments. | |
Enumerations | |
enum | GDT::Segments { GDT::SEGMENT_NULL = 0 , GDT::SEGMENT_KERNEL_CODE , GDT::SEGMENT_KERNEL_DATA } |
enum | GDT::Granularity { GDT::GRANULARITY_BYTES = 0 , GDT::GRANULARITY_4KBLOCK = 1 } |
Unit of the segment limit. More... | |
enum | GDT::DescriptorType { GDT::DESCRIPTOR_SYSTEM = 0 , GDT::DESCRIPTOR_CODEDATA = 1 } |
Descriptor type. More... | |
enum | GDT::Size { GDT::SIZE_16BIT = 0 , GDT::SIZE_32BIT = 2 , GDT::SIZE_64BIT_CODE = 1 , GDT::SIZE_64BIT_DATA = 0 } |
Address width. More... | |
struct GDT::SegmentDescriptor.__unnamed32__ |
Fields specific for Data Segment (for debugging purposes)
Class Members | ||
---|---|---|
uint64_t | __pad0__: 40 |
Ignored (set via limit_low and base_low ) |
bool | data_accessed: 1 | If set, the data segment was used since the last reset of this value. |
bool | writeable: 1 | If set, data is writable (otherwise read only) |
bool | expand_down: 1 | Growing direction for dynamically growing segments. |
bool | notData: 1 |
Has to be cleared (false ) |
uint64_t | __pad1__: 9 |
Ignored (set via privilege_level ... available ) |
uint64_t | reserved: 1 |
Reserved, always set to 0 ! |
bool | big: 1 |
Size of the stack pointer (false = 16 bit, true = 32 bit)
|
uint64_t | __pad2__: 0 | Remainder ignored. |