12.07.2015 Views

Intel® Extended Memory 64 Technology Software Developer's Guide

Intel® Extended Memory 64 Technology Software Developer's Guide

Intel® Extended Memory 64 Technology Software Developer's Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Table 1-31 2MB Page Translation63:48 47:39 38:30 29:21 20: 0Sign Extend Page Map Level 4Table Offset (PML4E)Page Directory PointerOffset (PDPE)Page Directory Offset(PDE)Page OffsetPML4E PDPE PDE PhysicalAddressCR3Table 1-32 CR363:40 39:12 11:0Page Directory Pointer Offset1.6.9.1. Call GatesThe call-gate mechanism provides a public entry point into the operating system. It also provides a means for changingprivilege levels and stacks when calling the operating system.Legacy IA-32 call-gate descriptors provide a 32-bit offset for the instruction pointer (EIP). <strong>64</strong>-bit extensions doublethe size of legacy call gates to provide a <strong>64</strong>-bit offset for the instruction pointer (RIP). Table 1-33 shows the layout ofa call-gate descriptor in IA-32e mode. Table 1-34 describes the fields in a <strong>64</strong>-bit mode call gate.Table 1-33 Call Gates in IA-32e ModeBit PositionDW Offset 31:16 15 14:13 12:8 7:03 Reserved 00000 Reserved2 Offset 63:321 Offset 31:16 P DPL 0CH (type) 000000000 Target Segment Selector Offset 15:0The first eight bytes (bytes 7:0) of a <strong>64</strong>-bit mode call gate are similar but not identical to legacy 32-bit call gates. Theparameter copy count field has been removed. Bytes 11:8 hold the upper 32 bits of the target-segment offset in canonicalform. A general-protection exception (#GP) is generated if software attempts to use a call gate with a target offsetthat is not in canonical form.The target code segment referenced by the call gate must be a <strong>64</strong>-bit code segment (CS.L = 1, CS.D = 0). If it is not,a general-protection exception, #GP (selector), is generated with the target CS selector reported as the error code. Thedouble-sized descriptors can reside in the same descriptor table as 16-bit and 32-bit legacy descriptors. A second typefield, used for consistency checking, is defined in bits 12:8 of the highest dword and must be cleared to zero. Thisillegal type (00H) results in a general-protection exception (#GP) if an attempt is made to access the upper half of the<strong>64</strong>-bit mode descriptor as a legacy descriptor.Vol. 1 1-29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!