Descriptor: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
m (and again...)
mNo edit summary
Line 87: Line 87:
|-
|-
! DPL
! DPL
| 45,46 || Descriptor Privilege Level || Specifies which privileg level a process minimum must have to use this Descriptor.
| 45,46 || Descriptor Privilege Level || Specifies which privilege level a process minimum must have to use this Descriptor.
|-
|-
! P
! P

Revision as of 17:57, 26 June 2010

Descritors are describing System Segments, Memory Segments and Gates.

System Segment Descriptor

Name Bit Full Name Description
Limit 0..15 Limit 0..15 Memory range.
BAddr 16..39 Base Address 0..23 Physical address where the memory range begins.
Typ 40..43 Descriptor Type Possible types :
0000b=0x0 unused (invalid Descriptor)
0001b=0x1 80286-TSS, 16 bit
0010b=0x2 LDT
0011b=0x3 activ 80286-TSS, 16 bit
1001=0x9 80386-TSS, 32 bit
1011=0xB activ 80386-TSS, 32 bit
S 44 Storage Segment = 0 for System Segments.
DPL 45,46 Descriptor Privilege Level Specifies which privilege level a process minimum must have to use this Descriptor.
P 47 Present defines if this Descriptor is "present" in memory. s. Paging.
Limit 48..51 Limit 16..19 high part of the Limit.
AVL 52 .
0 53 .
- 54 .
G 55 .
BAddr 56..63 Base Address 24..31 Higher part of the Base Address.

Memory Segment Descriptor

Name Bit Full Name Description
Limit 0..15 Limit 0..15 Memory range.
BAddr 16..39 Base Address 0..23 Physical address where the memory range begins.
A 40
WR 41
CE 42
EX 43
S 44 Storage Segment = 1 for Memory Segments.
DPL 45,46 Descriptor Privilege Level Specifies which privilege level a process minimum must have to use this Descriptor.
P 47 Present defines if this Descriptor is "present" in memory. s. Paging.
Limit 48..51 Limit 16..19 high part of the Limit.
AVL 52 .
0 53 .
B 54 .
G 55 .
BAddr 56..63 Base Address 24..31 Higher part of the Base Address.

Gate Descriptor

Name Bit Full Name Description
Offset 0..15 Offset 0..15 Lower part of the offset address (also known as pointer).
Selector 16..31 Selector Selector that specifies the segment of the function to call.
DWC 32..35 Double Word Counter .
0 36..39 - Have to be 0.
Typ 40..43 Gate Type Possible gate types :
0b0101=0x5 Task gate
0b0110=0x6 16-bit interrupt gate
0b0111=0x7 16-bit trap gate
0b1110=0xE 32-bit interrupt gate
0b1111=0xF 32-bit trap gate
S 44 Storage Segment = 0 for gates.
DPL 45,46 Descriptor Privilege Level Gate call protection. Specifies which Privileg Level the calling process minimum should have.
P 47 Present can be set to 0 for Paging.
Offset 48..63 Offset 16..31 Higher part of the offset.