Intel E5310 Specification Update - Page 34

Returning to Real Mode from SMM with EFLAGS.VM Set May Result

Page 34 highlights

appropriate TLB invalidation. When a subsequent access to that address by a specific instruction (ADD, AND, BTC, BTR, BTS, CMPXCHG, DEC, INC, NEG, NOT, OR, ROL/ROR, SAL/SAR/SHL/SHR, SHLD, SHRD, SUB, XOR, and XADD) causes a page fault, the value saved for EFLAGS may incorrectly contain the arithmetic flag values that the EFLAGS register would have held had the instruction completed without fault. This can occur even if the fault causes a VM exit or if its delivery causes a nested fault. Implication: None identified. Although the EFLAGS saved value may contain incorrect arithmetic flag values, Intel has not identified software that inspects the arithmetic portion of this value while handling page faults. This erratum will have no further effects once the original instruction is restarted because the instruction will produce the same results as if it had initially completed without a page fault. Workaround: System software should perform the appropriate TLB invalidations if its page-fault handler inspects the arithmetic portion of the saved EFLAGS value. Status: For the steppings affected, see the Summary Tables of Changes. AJ62. LBR, BTS, BTM May Report a Wrong Address when an Exception/ Interrupt Occurs in 64-bit Mode Problem: An exception/interrupt event should be transparent to the LBR (Last Branch Record), BTS (Branch Trace Store) and BTM (Branch Trace Message) mechanisms. However, during a specific boundary condition where the exception/interrupt occurs right after the execution of an instruction at the lower canonical boundary (0x00007FFFFFFFFFFF) in 64-bit mode, the LBR return registers will save a wrong return address with bits 63 to 48 incorrectly sign extended to all 1's. Subsequent BTS and BTM operations which report the LBR will also be incorrect. Implication: LBR, BTS and BTM may report incorrect information in the event of an exception/ interrupt. Workaround: None identified. Status: For the steppings affected, see the Summary Tables of Changes. AJ63. Returning to Real Mode from SMM with EFLAGS.VM Set May Result in Unpredictable System Behavior Problem: Returning back from SMM mode into real mode while EFLAGS.VM is set in SMRAM may result in unpredictable system behavior. Implication: If SMM software changes the values of the EFLAGS.VM in SMRAM, it may result in unpredictable system behavior. Intel has not observed this behavior in commercially available software. Workaround: SMM software should not change the value of EFLAGS.VM in SMRAM. Status: For the steppings affected, see the Summary Tables of Changes. AJ64. A Thermal Interrupt is Not Generated when the Current Temperature is Invalid Problem: When the DTS (Digital Thermal Sensor) crosses one of its programmed thresholds it generates an interrupt and logs the event (IA32_THERM_STATUS MSR (019Ch) bits [9,7]). Due to this erratum, if the DTS reaches an invalid temperature (as indicated IA32_THERM_STATUS MSR bit[31]) it does not generate an interrupt even if one of the programmed thresholds is crossed and the corresponding log bits become set. Implication: When the temperature reaches an invalid temperature the CPU does not generate a Thermal interrupt even if a programmed threshold is crossed. Workaround: None identified. Status: For the steppings affected, see the Summary Tables of Changes. 34 Intel® Xeon® Processor 5300 Series Specification Update, December 2010

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

34
Intel® Xeon® Processor 5300 Series
Specification Update, December 2010
appropriate TLB invalidation.
When a subsequent access to that address by a specific
instruction (ADD, AND, BTC, BTR, BTS, CMPXCHG, DEC, INC, NEG, NOT, OR, ROL/ROR,
SAL/SAR/SHL/SHR, SHLD, SHRD, SUB, XOR, and XADD) causes a page fault, the value
saved for EFLAGS may incorrectly contain the arithmetic flag values that the EFLAGS
register would have held had the instruction completed without fault.
This can occur
even if the fault causes a VM exit or if its delivery causes a nested fault.
Implication:
None identified. Although the EFLAGS saved value may contain incorrect arithmetic flag
values, Intel has not identified software that inspects the arithmetic portion of this
value while handling page faults. This erratum will have no further effects once the
original instruction is restarted because the instruction will produce the same results as
if it had initially completed without a page fault.
Workaround:
System software should perform the appropriate TLB invalidations if its page-fault
handler inspects the arithmetic portion of the saved EFLAGS value.
Status:
For the steppings affected, see the
Summary Tables of Changes
.
AJ62.
LBR, BTS, BTM May Report a Wrong Address when an Exception/
Interrupt Occurs in 64-bit Mode
Problem:
An exception/interrupt event should be transparent to the LBR (Last Branch Record),
BTS (Branch Trace Store) and BTM (Branch Trace Message) mechanisms. However,
during a specific boundary condition where the exception/interrupt occurs right after
the execution of an instruction at the lower canonical boundary (0x00007FFFFFFFFFFF)
in 64-bit mode, the LBR return registers will save a wrong return address with bits 63
to 48 incorrectly sign extended to all 1’s. Subsequent BTS and BTM operations which
report the LBR will also be incorrect.
Implication:
LBR, BTS and BTM may report incorrect information in the event of an exception/
interrupt.
Workaround:
None identified.
Status:
For the steppings affected, see the
Summary Tables of Changes
.
AJ63.
Returning to Real Mode from SMM with EFLAGS.VM Set May Result in
Unpredictable System Behavior
Problem:
Returning back from SMM mode into real mode while EFLAGS.VM is set in SMRAM may
result in unpredictable system behavior.
Implication:
If SMM software changes the values of the EFLAGS.VM in SMRAM, it may result in
unpredictable system behavior. Intel has not observed this behavior in commercially
available software.
Workaround:
SMM software should not change the value of EFLAGS.VM in SMRAM.
Status:
For the steppings affected, see the
Summary Tables of Changes
.
AJ64.
A Thermal Interrupt is Not Generated when the Current Temperature
is Invalid
Problem:
When the DTS (Digital Thermal Sensor) crosses one of its programmed thresholds it
generates an interrupt and logs the event (IA32_THERM_STATUS MSR (019Ch) bits
[9,7]). Due to this erratum, if the DTS reaches an invalid temperature (as indicated
IA32_THERM_STATUS MSR bit[31]) it does not generate an interrupt even if one of the
programmed thresholds is crossed and the corresponding log bits become set.
Implication:
When the temperature reaches an invalid temperature the CPU does not generate a
Thermal interrupt even if a programmed threshold is crossed.
Workaround:
None identified.
Status:
For the steppings affected, see the
Summary Tables of Changes
.