Specifications

Intel
®
Quark Core—Protected Mode Architecture
Intel
®
Quark SoC X1000 Core
Developer’s Manual October 2013
90 Order Number: 329679-001US
a simple Protected Mode Intel
®
Quark SoC X1000 Core system. It has a single code
and single data/stack segment, each four-Gbytes long, and a single privilege level, PL
= 0.
The actual method of enabling Protected Mode is to load CR0 with the PE bit set via the
MOV CR0, R/M instruction.
After enabling Protected Mode, the next instruction should execute an intersegment
JMP to load the CS register and flush the instruction decode queue. The final step is to
load all of the data segment registers with the initial selector values.
An alternate approach to entering Protected Mode that is especially appropriate for
multi-tasking operating systems is to use the built-in task-switch to load all the
registers. In this case, the GDT contains two TSS descriptors in addition to the code
and data descriptors needed for the first task. The first JMP instruction in Protected
Mode jumps to the TSS, causing a task switch and loading all of the registers with the
values stored in the TSS. Because a task switch saves the state of the current task in a
task state segment, the Task State Segment register should be initialized to point to a
valid TSS descriptor.
Figure 39. Simple Protected System