aboutsummaryrefslogtreecommitdiffstats
path: root/SPEC
blob: bcce21ba6d959f8c0b84127421992ff7cbc52dce (plain)
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
aer-inject allows to inject PCIE AER errors in a running kernel.

Has to run as root. /dev/aer_inject has to exist.

aer-inject aer-file
aer-inject < aer-file

Requires a kernel with PCIE AER error injection support. The injection
only happens on the software level and does not simulate full PCIE AER
handling on the platform level.

The PCIE AER error to be injected are described in an input language
which reflects PCIE AER related registers quite straighforward.

See the PCI Express Base Specification section 7.10 for details on
PCIE AER related registers.

The keywords are case-insensitive

The error always starts with:

AER

Followed by

PCI_ID pci_id

These specify the PCI device or port via domain number, bus number,
dev number and function number using the same format as the lspci
command:

  WWWW:XX:YY.Z

  Where

     WWWW is the domain (segment) in hexidecimal (optional)
     XX is the bus number in hexidecimal
     YY is the device number in hexidecimal
     Z is the function number in hexidecimal

Alternatively, you can use:

BUS number DEV number FN number

Number can be a decimal or hex (using 0x).


COR_STATUS {RCVR|BAD_TLP|BAD_DLLP|REP_ROLL|REP_TIMER|number}

UNCOR_STATUS {TRAIN|DLP|POISON_TLP|FCP|COMP_TIME|COMP_ABORT|UNX_COMP|
	      RX_OVER|MALF_TLP|ECRC|UNSUP|number}

HEADER_LOG number number number number

These specify the corrected and uncorrected error types to be
injected and corresponding TLP header log.

multiple fields can be on a line.

number (except for pci_id) can be hex/octal/decimal in the usual C format.

Multiple errors can be in a single file, each new one starts with
"AER".

For all missing fields reasonable default values are filled in
(hopefully).

Comments start with # until the end of the line.

Keywords are case-insensitive.

There are aliases for some of the longer keywords:

      PCI_ID = ID
      COR_STATUS = COR = CORRECTABLE
      UNCOR_STATUS = UNCOR = UNCORRECTABLE
      HEADER_LOG = HL