blob: 6a959e4bd2269f4678b0500524608f77690878cd [file] [log] [blame]
Lawrence Tang214a1542022-07-06 14:11:28 +01001#ifndef CPER_SECTION_PCI_BUS_H
2#define CPER_SECTION_PCI_BUS_H
3
Lawrence Tang5202bbb2022-08-12 14:54:36 +01004#include <json.h>
Lawrence Tang214a1542022-07-06 14:11:28 +01005#include "../edk/Cper.h"
6
John Chungf8fc7052024-05-03 20:05:29 +08007#define PCI_BUS_ERROR_VALID_BITFIELD_NAMES \
8 (const char *[]) \
9 { \
10 "errorStatusValid", "errorTypeValid", "busIDValid", \
11 "busAddressValid", "busDataValid", "commandValid", \
12 "requestorIDValid", "completerIDValid", \
13 "targetIDValid" \
14 }
15#define PCI_BUS_ERROR_TYPES_KEYS \
16 (int[]) \
17 { \
18 0, 1, 2, 3, 4, 5, 6, 7 \
19 }
20#define PCI_BUS_ERROR_TYPES_VALUES \
21 (const char *[]) \
22 { \
23 "Unknown/OEM Specific Error", "Data Parity Error", \
24 "System Error", "Master Abort", \
25 "Bus Timeout/No Device Present (No DEVSEL#)", \
26 "Master Data Parity Error", "Address Parity Error", \
27 "Command Parity Error" \
28 }
Lawrence Tang214a1542022-07-06 14:11:28 +010029
John Chungf8fc7052024-05-03 20:05:29 +080030json_object *cper_section_pci_bus_to_ir(void *section);
31void ir_section_pci_bus_to_cper(json_object *section, FILE *out);
Lawrence Tang214a1542022-07-06 14:11:28 +010032
John Chungf8fc7052024-05-03 20:05:29 +080033#endif