Blame view
include/acpi/ghes.h
1.48 KB
40e064153 ghes: move struct... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <acpi/apei.h> #include <acpi/hed.h> /* * One struct ghes is created for each generic hardware error source. * It provides the context for APEI hardware error timer/IRQ/SCI/NMI * handler. * * estatus: memory buffer for error status block, allocated during * HEST parsing. */ #define GHES_TO_CLEAR 0x0001 #define GHES_EXITING 0x0002 struct ghes { struct acpi_hest_generic *generic; |
0a00fd5e2 ACPICA: Restore e... |
17 |
struct acpi_hest_generic_status *estatus; |
40e064153 ghes: move struct... |
18 19 20 21 22 23 24 25 26 27 28 29 |
u64 buffer_paddr; unsigned long flags; union { struct list_head list; struct timer_list timer; unsigned int irq; }; }; struct ghes_estatus_node { struct llist_node llnode; struct acpi_hest_generic *generic; |
21480547c ghes: add the nee... |
30 |
struct ghes *ghes; |
40e064153 ghes: move struct... |
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
}; struct ghes_estatus_cache { u32 estatus_len; atomic_t count; struct acpi_hest_generic *generic; unsigned long long time_in; struct rcu_head rcu; }; enum { GHES_SEV_NO = 0x0, GHES_SEV_CORRECTED = 0x1, GHES_SEV_RECOVERABLE = 0x2, GHES_SEV_PANIC = 0x3, }; |
21480547c ghes: add the nee... |
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 |
/* From drivers/edac/ghes_edac.c */ #ifdef CONFIG_EDAC_GHES void ghes_edac_report_mem_error(struct ghes *ghes, int sev, struct cper_sec_mem_err *mem_err); int ghes_edac_register(struct ghes *ghes, struct device *dev); void ghes_edac_unregister(struct ghes *ghes); #else static inline void ghes_edac_report_mem_error(struct ghes *ghes, int sev, struct cper_sec_mem_err *mem_err) { } static inline int ghes_edac_register(struct ghes *ghes, struct device *dev) { return 0; } static inline void ghes_edac_unregister(struct ghes *ghes) { } #endif |