System Descriptor Formats; Access Rights Byte Definition For Code And Data Descriptions - Intel Quark SoC X1000 Core Developer's Manual

Hide thumbs Also See for Quark SoC X1000 Core:
Table of Contents

Advertisement

Table 26.

Access Rights Byte Definition for Code and Data Descriptions

Bit
Position
7
6–5
4
3
2
1
3
2
1
0
Segments identified as data segments (E=0, S=1) are used for two types of Intel
Quark SoC X1000 Core segments: stack and data segments. The expansion direction
(ED) bit specifies if a segment expands downward (stack) or upward (data). If a
segment is a stack segment, all offsets must be greater than the segment limit. On a
data segment, all offsets must be less than or equal to the limit. In other words, stack
segments start at the base linear address plus the maximum segment limit and grow
down to the base linear address plus the limit. On the other hand, data segments start
at the base linear address and expand to the base linear address plus limit.
The write W bit controls the ability to write into a segment. Data segments are read-
only if W=0. The stack segment must have W=1.
The B bit controls the size of the stack pointer register. If B=1, then PUSHes, POPs, and
CALLs all use the 32-bit ESP register for stack references and assume an upper limit of
FFFFFFFFH. If B=0, stack instructions all use the 16-bit SP register and assume an
upper limit of FFFFH.
6.2.4.3

System Descriptor Formats

System segments describe information about operating system tables, tasks, and
gates.
Figure 29
various types of system segments. Intel
contain a 32-bit base linear address and a 20-bit segment limit.
®
Intel
Quark SoC X1000 Core
Developer's Manual
74
Name
P = 1
Present (P)
P = 0
Descriptor Privilege
Level (DPL)
Segment
S = 1
Descriptor (S)
S = 0
If Data Segment (S = 1, E = 0)
Executable (E)
E = 0
Expansion
ED = 0
Direction (ED)
ED = 1
W = 0
Writeable (W)
W = 1
If Code Segment (S = 1, E = 1)
Executable (E)
E = 1
Conforming (C)
C = 1
R = 0
Readable (R)
R = 1
A = 0
Accessed (A)
A = 1
shows the general format of system segment descriptors, and the
®
Intel
Quark Core—Protected Mode Architecture
Function
Segment is mapped into physical memory.
No mapping to physical memory exits, base and limit
are not used.
Segment privilege attribute used in privilege tests.
Code or Data (includes stacks) segment descriptor.
System Segment Descriptor or Gate Descriptor.
Descriptor type is data segment
Expand up segment, offsets must be ≤ limit.
Expand down segment, offsets must be > limit.
Data segment may not be written to.
Data segment may be written to.
Descriptor type is code segment
Code segment may only be executed when CPL ³ DPL
and CPL remains unchanged.
Code segment may not be read.
Code segment may be read.
Segment has not been accessed.
Segment selector has been loaded into segment
register or used by selector test instructions.
®
Quark SoC X1000 Core system descriptors
®
October 2013
Order Number: 329679-001US

Advertisement

Table of Contents
loading

Table of Contents