Errata
32
Specification Update
AZ26.
Pending x87 FPU Exceptions (#MF) Following STI May Be Serviced
before Higher Priority Interrupts
Problem:
Interrupts that are pending prior to the execution of the STI (Set Interrupt Flag)
instruction are serviced immediately after the STI instruction is executed. Because of this
erratum, if following STI, an instruction that triggers a #MF is executed while STPCLK#,
Enhanced Intel SpeedStep® Technology transitions or Thermal Monitor 1 events occur,
the pending #MF may be serviced before higher priority interrupts.
Software may observe #MF being serviced before higher priority interrupts.
Workaround:
None identified.
Status:
For the steppings affected, see the Summary Tables of Changes.
AZ27.
VERW/VERR/LSL/LAR Instructions May Unexpectedly Update the Last
Exception Record (LER) MSR
Problem:
The LER MSR may be unexpectedly updated, if the resultant value of the Zero Flag (ZF)
is zero after executing the following instructions:
1.
VERR (ZF=0 indicates unsuccessful segment read verification)
2.
VERW (ZF=0 indicates unsuccessful segment write verification)
3.
LAR (ZF=0 indicates unsuccessful access rights load)
4.
LSL (ZF=0 indicates unsuccessful segment limit load)
Implication:
The value of the LER MSR may be inaccurate if VERW/VERR/LSL/LAR instructions are
executed after the occurrence of an exception.
Workaround:
Software exception handlers that rely on the LER MSR value should read the LER MSR
before executing VERW/VERR/LSL/LAR instructions.
Status:
For the steppings affected, see the Summary Tables of Changes.
AZ28.
INIT Does Not Clear Global Entries in the TLB
Problem:
INIT may not flush a TLB entry when:
The processor is in protected mode with paging enabled and the page global enable
flag is set (PGE bit of CR4 register)
G bit for the page table entry is set
TLB entry is present in TLB when INIT occurs
Software may encounter unexpected page fault or incorrect address translation due
to a TLB entry erroneously left in TLB after INIT.
Workaround:
Write to CR3, CR4 (setting bits PSE, PGE or PAE) or CR0 (setting bits PG or PE) registers
before writing to memory early in BIOS code to clear all the global entries from TLB.
Status:
For the steppings affected, see the Summary Tables of Changes.