The RL2_OF module gives out a single
interrupt combining all the FLC/RL2 error/status events as follows:
- FLC done: The FLC has completed
the transfer to the FLC range. This is indicated by the flc_don bit in
the Interrupt Raw Status Register.
- FLC write error: A write error from FLC remote range (target memory) has
occurred. This is indicated by the flc_wrerr bit in the Interrupt Raw
Status Register and the FLC is logically disabled.
- FLC read error: A read error on the data returned from FLC range has occurred.
This is indicated by the flc_rderr bit in the Interrupt Raw Status
Register and the FLC is logically disabled.
- RL2 write hit: Any write to the RL2 cacheable range, while the RL2 cache is
enabled and operating, has occurred potentially causing a coherency issue. This
is indicated by the wr_hit bit in the Interrupt Raw Status Register and
the RL2 is logically disabled.
- RL2 write error: Any write to the remote cache data storage memory due to a read
allocation (during cache miss) that returns a write error has occurred. This is
indicated by the wr_err bit in the Interrupt Raw Status Register and the
RL2 is logically disabled.
Any read or write error on the RAT translated memory range is pass through to the
originator. Also, any read or write error on FLC ranges during the originator
request is also pass through to the originator.
For any read within cacheable range
that is not currently cached, that meets RL2 allocation policy, and returns a read
error, the following occurs:
- The error is passed through to the initiator
- The remote cache data storage memory is written with the errant data.
- The cache line is marked invalid
- If not in Dual Mode or only a single cache line is allocated within the WAY, the
WAY LRU is reverted and marked as the oldest WAY for future allocations