Intel SL6VU Specification Update - Page 25

AC16., Machine Check Architecture Error Reporting and Recovery May Not Work, As Expected

Page 25 highlights

Errata R AC16. Machine Check Architecture Error Reporting and Recovery May Not Work As Expected Problem: When the processor detects errors it should attempt to report and/or recover from the error. In the situations described below, the processor does not report and/or recover from the error(s) as intended. • When a transaction is deferred during the snoop phase and subsequently receives a Hard Failure response, the transaction should be removed from the bus queue so that the processor may proceed. Instead, the transaction is not properly removed from the bus queue, the bus queue is blocked, and the processor will hang. • When a hardware prefetch results in an uncorrectable tag error in the L2 cache, IA32_MC0_STATUS.UNCOR and IA32_MC0_STATUS.PCC are set but no Machine Check Exception (MCE) is signaled. No data loss or corruption occurs because the data being prefetched has not been used. If the data location with the uncorrectable tag error is subsequently accessed, an MCE will occur. However, upon this MCE, or any other subsequent MCE, the information for that error will not be logged because IA32_MC0_STATUS.UNCOR has already been set and the MCA status registers will not contain information about the error which caused the MCE assertion but instead will contain information about the prefetch error event. • When the reporting of errors is disabled for Machine Check Architecture (MCA) Bank 2 by setting all IA32_MC2_CTL register bits to 0, uncorrectable errors should be logged in the IA32_MC2_STATUS register but no machine-check exception should be generated. Uncorrectable loads on bank 2, which would normally be logged in the IA32_MC2_STATUS register, are not logged. • When one half of a 64 byte instruction fetch from the L2 cache has an uncorrectable error and the other 32 byte half of the same fetch from the L2 cache has a correctable error, the processor will attempt to correct the correctable error but cannot proceed due to the uncorrectable error. When this occurs the processor will hang. • When an L1 cache parity error occurs, the cache controller logic should write the physical address of the data memory location that produced that error into the IA32_MC1_ADDR register. In some instances of a parity error on a load operation that hits the L1 cache, however, the cache controller logic may write the physical address from a subsequent load or store operation into the IA32_MC1_ADDR register. • If an instruction fetch results in an uncorrectable error and there is also a debug breakpoint at this address, the processor will livelock and the uncorrectable error will not be logged in the machine check registers. • The MCA Overflow bit should be set when an uncorrectable error resides within the register bank (valid bit is already set) and any subsequent errors occur. The Overflow bit being set indicates that more than one error has occurred. Because of this erratum, if any further errors occur, the MCA Overflow bit will not be updated; thereby incorrectly indicating only one error has been received. Implication: The processor is unable to correctly report and/or recover from certain errors. Workaround: None identified. Status: For the steppings affected, see the Summary Tables of Changes. Intel® Celeron® Processor in the 478-Pin Package Specification Update 25

  • 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

Errata
R
Intel
®
Celeron
®
Processor in the 478-Pin Package Specification Update
25
AC16.
Machine Check Architecture Error Reporting and Recovery May Not Work
As Expected
Problem:
When the processor detects errors it should attempt to report and/or recover from the error. In the
situations described below, the processor does not report and/or recover from the error(s) as
intended.
When a transaction is deferred during the snoop phase and subsequently receives a Hard
Failure response, the transaction should be removed from the bus queue so that the processor
may proceed. Instead, the transaction is not properly removed from the bus queue, the bus
queue is blocked, and the processor will hang.
When a hardware prefetch results in an uncorrectable tag error in the L2 cache,
IA32_MC0_STATUS.UNCOR and IA32_MC0_STATUS.PCC are set but no Machine
Check Exception (MCE) is signaled. No data loss or corruption occurs because the data being
prefetched has not been used. If the data location with the uncorrectable tag error is
subsequently accessed, an MCE will occur. However, upon this MCE, or any other
subsequent MCE, the information for that error will not be logged because
IA32_MC0_STATUS.UNCOR has already been set and the MCA status registers will not
contain information about the error which caused the MCE assertion but instead will contain
information about the prefetch error event.
When the reporting of errors is disabled for Machine Check Architecture (MCA) Bank 2 by
setting all IA32_MC2_CTL register bits to 0, uncorrectable errors should be logged in the
IA32_MC2_STATUS register but no machine-check exception should be generated.
Uncorrectable loads on bank 2, which would normally be logged in the
IA32_MC2_STATUS register, are not logged.
When one half of a 64 byte instruction fetch from the L2 cache has an uncorrectable error
and the other 32 byte half of the same fetch from the L2 cache has a correctable error, the
processor will attempt to correct the correctable error but cannot proceed due to the
uncorrectable error. When this occurs the processor will hang.
When an L1 cache parity error occurs, the cache controller logic should write the physical
address of the data memory location that produced that error into the IA32_MC1_ADDR
register. In some instances of a parity error on a load operation that hits the L1 cache,
however, the cache controller logic may write the physical address from a subsequent load or
store operation into the IA32_MC1_ADDR register.
If an instruction fetch results in an uncorrectable error and there is also a debug breakpoint at
this address, the processor will livelock and the uncorrectable error will not be logged in the
machine check registers.
The MCA Overflow bit should be set when an uncorrectable error resides within the register
bank (valid bit is already set) and any subsequent errors occur. The Overflow bit being set
indicates that more than one error has occurred. Because of this erratum, if any further errors
occur, the MCA Overflow bit will not be updated; thereby incorrectly indicating only one
error has been received.
Implication:
The processor is unable to correctly report and/or recover from certain errors.
Workaround:
None identified.
Status:
For the steppings affected, see the
Summary Tables of Changes.