Revision 81486b55 hw/pcie_aer.c
b/hw/pcie_aer.c | ||
---|---|---|
38 | 38 |
#define PCIE_DEV_PRINTF(dev, fmt, ...) \ |
39 | 39 |
PCIE_DPRINTF("%s:%x "fmt, (dev)->name, (dev)->devfn, ## __VA_ARGS__) |
40 | 40 |
|
41 |
#define PCI_ERR_SRC_COR_OFFS 0 |
|
42 |
#define PCI_ERR_SRC_UNCOR_OFFS 2 |
|
43 |
|
|
41 | 44 |
/* From 6.2.7 Error Listing and Rules. Table 6-2, 6-3 and 6-4 */ |
42 | 45 |
static uint32_t pcie_aer_uncor_default_severity(uint32_t status) |
43 | 46 |
{ |
... | ... | |
320 | 323 |
if (root_status & PCI_ERR_ROOT_COR_RCV) { |
321 | 324 |
root_status |= PCI_ERR_ROOT_MULTI_COR_RCV; |
322 | 325 |
} else { |
323 |
pci_set_word(aer_cap + PCI_ERR_ROOT_COR_SRC, msg->source_id); |
|
326 |
pci_set_word(aer_cap + PCI_ERR_ROOT_ERR_SRC + PCI_ERR_SRC_COR_OFFS, |
|
327 |
msg->source_id); |
|
324 | 328 |
} |
325 | 329 |
root_status |= PCI_ERR_ROOT_COR_RCV; |
326 | 330 |
break; |
... | ... | |
341 | 345 |
if (root_status & PCI_ERR_ROOT_UNCOR_RCV) { |
342 | 346 |
root_status |= PCI_ERR_ROOT_MULTI_UNCOR_RCV; |
343 | 347 |
} else { |
344 |
pci_set_word(aer_cap + PCI_ERR_ROOT_SRC, msg->source_id); |
|
348 |
pci_set_word(aer_cap + PCI_ERR_ROOT_ERR_SRC + |
|
349 |
PCI_ERR_SRC_UNCOR_OFFS, msg->source_id); |
|
345 | 350 |
} |
346 | 351 |
root_status |= PCI_ERR_ROOT_UNCOR_RCV; |
347 | 352 |
} |
Also available in: Unified diff