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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Documentation Changes<br />
FLAG<br />
Send Checksum Error<br />
Receive Checksum Error<br />
Send Illegal Vector<br />
Receive Illegal Vector<br />
Illegal Reg. Address<br />
Function<br />
(P6 family <strong>and</strong> Pentium processors only) Set when the local APIC<br />
detects a checksum error for a message that it sent on the APIC bus.<br />
(P6 family <strong>and</strong> Pentium processors only) Set when the local APIC<br />
detects a checksum error for a message that it received on the APIC<br />
bus.<br />
Set when the local APIC detects an illegal vector in the message that<br />
it is sending.<br />
Set when the local APIC detects an illegal vector in the message it<br />
received, including an illegal vector code in the local vector table<br />
interrupts or in a self-interrupt.<br />
(Pentium 4, <strong>Intel</strong> Xeon, <strong>and</strong> P6 family processors only) Set when the<br />
processor is trying to access a register in the processor's local APIC<br />
register address space that is reserved (see Table 8-1). Addresses in<br />
one the 0x10 byte regions marked reserved are illegal register<br />
addresses.<br />
The Local APIC Register Map is the address range of the APIC<br />
register base address (specified in the <strong>IA</strong><strong>32</strong>_APIC_BASE MSR) plus 4<br />
KBytes.<br />
29. CPUID call reference corrected<br />
In Section 3.3.1 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, a CPUID reference has been corrected. See the change bar <strong>and</strong> the bold<br />
text.<br />
-------------------------------------------------------------------<br />
3.3.1 Physical Address Space for Processors with <strong>Intel</strong> ® <strong>64</strong><br />
Technology<br />
On processors that support <strong>Intel</strong> <strong>64</strong> Technology (CPUID.80000001:EDX[29] = 1), the<br />
size of the physical address range is implementation-specific <strong>and</strong> indicated by<br />
CPUID.80000008H:EAX[bits 7-0]. For the format of information returned in EAX, see<br />
“CPUID—CPU Identification” in Chapter 3 of the <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong><br />
<strong>Software</strong> Developer’s <strong>Manual</strong>, Volume 2A.<br />
30. Note describing semaphore restrictions added<br />
In Section 7.1.2.2 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 3A, the language has been added to clarify a usage restriction. See the<br />
change bar below.<br />
-------------------------------------------------------------------<br />
7.1.2.2 <strong>Software</strong> Controlled Bus Locking<br />
To explicitly force the LOCK semantics, software can use the LOCK prefix with the<br />
following instructions when they are used to modify a memory location. An invalidopcode<br />
exception (#UD) is generated when the LOCK prefix is used with any other<br />
instruction or when no write operation is made to memory (that is, when the destination<br />
oper<strong>and</strong> is in a register).<br />
• The bit test <strong>and</strong> modify instructions (BTS, BTR, <strong>and</strong> BTC).<br />
• The exchange instructions (XADD, CMPXCHG, <strong>and</strong> CMPXCHG8B).<br />
46 <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