KernOS
GDT::GdtEntry Union Reference

Global descriptor table entry. More...

Public Attributes

struct {
   uint16_t   LimitLow
 
   uint16_t   BaseLow
 
   uint8_t   BaseMid
 
   uint8_t   Access
 
   uint8_t   LimitHighAndGranularity
 
   uint8_t   BaseHigh
 
}; 
 
struct {
   uint32_t   Low
 
   uint32_t   High
 
}; 
 

Detailed Description

Global descriptor table entry.

Code segment descriptor entry
|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|15|14|13|12|11|10|09|08|07|06|05|04|03|02|01|00|
| Base address (24-31)  |G |D |  |A |Limit 16-19|P | DPL |1 |1 |C |R |A | Base address (16-23)  |
| Base address ( 0-15)                          |                         Segment limit (0-15)  |

Data segment descriptor entry
|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|15|14|13|12|11|10|09|08|07|06|05|04|03|02|01|00|
| Base address (24-31)  |G |DB|  |A |Limit 16-19|P | DPL |1 |0 |E |W |A | Base address (16-23)  |
| Base address ( 0-15)                          |                         Segment limit (0-15)  |
See also
AMD64 Architecture Programmer's Manual Volume 2: System Programming (PDF) (Technical report). 2013. p. 80.

Definition at line 28 of file gdt.cpp.

Member Data Documentation

◆ @7

struct { ... }

◆ @9

struct { ... }

◆ Access

uint8_t GDT::GdtEntry::Access

Definition at line 35 of file gdt.cpp.

◆ BaseHigh

uint8_t GDT::GdtEntry::BaseHigh

Definition at line 37 of file gdt.cpp.

◆ BaseLow

uint16_t GDT::GdtEntry::BaseLow

Definition at line 33 of file gdt.cpp.

◆ BaseMid

uint8_t GDT::GdtEntry::BaseMid

Definition at line 34 of file gdt.cpp.

◆ High

uint32_t GDT::GdtEntry::High

Definition at line 42 of file gdt.cpp.

◆ LimitHighAndGranularity

uint8_t GDT::GdtEntry::LimitHighAndGranularity

Definition at line 36 of file gdt.cpp.

◆ LimitLow

uint16_t GDT::GdtEntry::LimitLow

Definition at line 32 of file gdt.cpp.

◆ Low

uint32_t GDT::GdtEntry::Low

Definition at line 41 of file gdt.cpp.


The documentation for this union was generated from the following file: