12.01.2015 Views

Intel 64 and IA-32 Architectures Software Developer's Manual

Intel 64 and IA-32 Architectures Software Developer's Manual

Intel 64 and IA-32 Architectures Software Developer's Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Documentation Changes<br />

FI;<br />

FI;<br />

read SMM-monitor features field in MSEG (see Section 24.16.6.2,<br />

in the <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Software</strong> Developer’s <strong>Manual</strong>, Volume 3B);<br />

IF features field is invalid<br />

THEN<br />

leave SMM;<br />

VMfailValid(VMCALL with invalid SMM-monitor features);<br />

ELSE activate dual-monitor treatment of SMIs <strong>and</strong> SMM (see Section 24.16.6<br />

in the <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Software</strong> Developer’s <strong>Manual</strong>, Volume 3B);<br />

FI;<br />

15. Information on code fetches in uncacheable memory updated<br />

In Section 10.3.3 of the <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Software</strong> Developer’s <strong>Manual</strong>,<br />

Volume 3A, the language has been updated to address confusion.<br />

The section is reproduced below.<br />

-------------------------------------------------------------------<br />

10.3.3 Code Fetches in Uncacheable Memory<br />

Programs may execute code from uncacheable (UC) memory, but the implications are<br />

different from accessing data in UC memory. When doing code fetches, the processor<br />

never transitions from cacheable code to UC code speculatively. It also never<br />

speculatively fetches branch targets that result in UC code.<br />

The processor may fetch the same UC cache line multiple times in order to decode an<br />

instruction once. It may decode consecutive UC instructions in a cacheline without<br />

fetching between each instruction. It may also fetch additional cachelines from the same<br />

or a consecutive 4-KByte page in order to decode one non-speculative UC instruction<br />

(this can be true even when the instruction is contained fully in one line).<br />

Because of the above <strong>and</strong> because cacheline sizes may change in future processors,<br />

software should avoid placing memory-mapped I/O with read side effects in the same<br />

page or in a subsequent page used to execute UC code.<br />

16. PUSH description updated<br />

In the Description subsection, “PUSH—Push Word, Doubleword or Quadword Onto the<br />

Stack”, in Chapter 4 of the <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Software</strong> Developer’s<br />

<strong>Manual</strong>, Volume 2B, the language describing the instructions in real-address mode has<br />

been corrected.<br />

The subsection is reprinted below. See the change bar.<br />

------------------------------------------------------------------<br />

Description<br />

Decrements the stack pointer <strong>and</strong> then stores the source oper<strong>and</strong> on the top of the<br />

stack. The address-size attribute of the stack segment determines the stack pointer size<br />

(16, <strong>32</strong> or <strong>64</strong> bits). The oper<strong>and</strong>-size attribute of the current code segment determines<br />

the amount the stack pointer is decremented (2, 4 or 8 bytes).<br />

In non-<strong>64</strong>-bit modes: if the address-size <strong>and</strong> oper<strong>and</strong>-size attributes are <strong>32</strong>, the <strong>32</strong>-bit<br />

ESP register (stack pointer) is decremented by 4. If both attributes are 16, the 16-bit SP<br />

register (stack pointer) is decremented by 2.<br />

24 <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Software</strong> Developer’s <strong>Manual</strong> Documentation Changes

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

Saved successfully!

Ooh no, something went wrong!