Specifications
Intel
®
 Quark SoC X1000 Core
October 2013 Developer’s Manual
Order Number: 329679-001US 101
Protected Mode Architecture—Intel
®
 Quark Core
If CR4.SMEP = 1, instructions may be fetched from any linear address with a 
valid translation for which the U/S flag (bit 2) is 0 in at least one of the paging-
structure entries controlling the translation.
— For PAE paging or IA-32e paging with IA32_EFER.NXE = 1, access rights 
depend on the value of CR4.SMEP:
If CR4.SMEP = 0, instructions may be fetched from any linear address with a 
valid translation for which the XD flag (bit 63) is 0 in every paging-structure 
entry controlling the translation.
If CR4.SMEP = 1, instructions may be fetched from any linear address with a 
valid translation for which (1) the U/S flag is 0 in at least one of the paging-
structure entries controlling the translation; and (2) the XD flag is 0 in every 
paging-structure entry controlling the translation.
For user-mode accesses:
• Data reads.
Data may be read from any linear address with a valid translation for which the U/S 
flag (bit 2) is 1 in every paging-structure entry controlling the translation.
• Data writes.
Data may be written to any linear address with a valid translation for which both 
the R/W flag and the U/S flag are 1 in every paging-structure entry controlling the 
translation.
• Instruction fetches.
— For 32-bit paging or if IA32_EFER.NXE = 0, instructions may be fetched from 
any linear address with a valid translation for which the U/S flag is 1 in every 
paging-structure entry controlling the translation.
— For PAE paging or IA-32e paging with IA32_EFER.NXE = 1, instructions may be 
fetched from any linear address with a valid translation for which the U/S flag is 
1 and the XD flag is 0 in every paging-structure entry controlling the 
translation.
A processor may cache information from the paging-structure entries in TLBs and 
paging-structure caches (see Section 6.4.8). These structures may include information 
about access rights. The processor may enforce access rights based on the TLBs and 
paging-structure caches instead of on the paging structures in memory.
This fact implies that, if software modifies a paging-structure entry to change access 
rights, the processor might not use that change for a subsequent access to an affected 
linear address. 
6.4.5.1 SMEP Details for Intel
®
 Quark SoC X1000 Core
• Functionality/implementation is same as Silvermont.
• Enabled by setting CR4.SMEP (CR4[20])= 1.
• In supervisor mode (CPL < 3), a #PF is caused by code fetch from a page whose 
mapping has the U/S bit set (CPL=3) at every level of the translation for the linear 
address. If U/S is 0 at any level, CR4.SMEP does not cause a #PF.
— (CPL==OS) & PAGE==USER & (CR0.PG==1)
• #PF: if (CR4.SMEP=1), and CPL<3 and instruction is fetched from user mode page. 
Error code = 10001b
— Page is present, Access was not a write (data read or code fetch), Access was 
in supervisor mode (CPL < 3), No reserved-bit violation, Access was an 
instruction fetch. 










