Header Log Register 0 @0x11c

This is the first of a set of four registers used to capture the header of a TLP received by the core from the link upon detection of an uncorrectable error. The Controller implements Shared Header Log for VFs. All Virtual Functions associated with the same PF share the same Header Log. When multiple bits are set in the Uncorrectable Error Status Registers of the VFs, the captured header corresponds to the error that was detected first, that is, the error pointed by the First Error Pointer, of the associated VF. To prevent the captured header from being over-written before the software is able to read it, this register is not updated while the status bit pointed by the First Error Pointer in the Uncorrectable Error Status Register remains set. After the software clears this status bit, a subsequent error condition that sets any bit in the Uncorrectable Error Status Register will also cause the Header Log Registers to be updated. The doublewords of the TLP header are stored in the Header Log Registers with their bytes transposed. That is the byte containing the Type/Format fields of the header is stored at bit positions 31:24 of the Header Log Register 0. F/w will be allowed to write Header log info when error emulation emulation feature is enabled (i.e., if bit12 of Debug MUX Control 3 register is asserted).

Table 1. i_hdr_log_0
Bits SW Name Description Reset
31:0 R Header DWORD 0 [HD0] First DWORD of captured TLP header STICKY. 0x0