21264/EV68A Hardware Reference Manual
Error Detection and Error Handling 8–5
Bcache Tag Parity Error
•
C_STAT[DC_PERR] is set.
• C_ADDR contains bits [42:6] of the Dcache duplicate tag address of the block that
contains the error.
• When enabled, a machine check (MCHK) is posted. The MCHK is taken when not
in PALmode.
8.7 Bcache Tag Parity Error
The Bcache tag parity is checked on all Bcache tag references, including references
invoked by system probes. If an error is detected, the following actions are taken:
• Bcache tag parity errors are not recoverable.
• C_STAT[BC_PERR] is set.
• C_ADDR contains bits [42:6] of the Bcache address of the block that contains the
error.
• When enabled, a machine check (MCHK) is posted. The MCHK is taken when not
in PALmode.
8.8 Controlling Bcache Block Parity Calculation
Parity is calculated for either valid Bcache blocks or all Bcache blocks. The calculation
is controlled by the value in Cbox CSR BC_VALID_MODE in the WRITE_MANY
chain, as follows:
• If the MSB of BcTag_H is less than the value of Maximum PA in Table 4–13, then
BC_VALID_MODE=1 and parity is calculated for only valid Bcache blocks.
• If the MSB of BcTag_H is greater than or equal to the value of Maximum PA in
Table 4–13, then BC_VALID_MODE=0 and parity is calculated for all Bcache
blocks.
For example, if BcTag_H[38:20] and Maximum PA is 36, then 38 is greater than or
equal to 36 and BC_VALID_MODE=0 and parity is calculated for all Bcache blocks.
8.9 Bcache Data Single-Bit Correctable ECC Error
The following actions may trigger Bcache data ECC errors:
• Icache fill, data possibly used by Icache
• Dcache fill, data possibly used by load instruction
• Bcache victim during an ECB instruction or during a Dcache/Bcache miss
The recovery mechanism depends on the action that triggered the error.
8.9.1 Icache Fill from Bcache
For an Icache fill, the LSD ECC checkers detect the error, and bad Icache data parity is
generated for the octaword that contains the quadword in error. If an error is detected,
the following actions are taken:
• The hardware flushes the Icache.
• C_STAT[ISTREAM_BC_ERR] is set.