.. | .. |
---|
13 | 13 | * estatus: memory buffer for error status block, allocated during |
---|
14 | 14 | * HEST parsing. |
---|
15 | 15 | */ |
---|
16 | | -#define GHES_TO_CLEAR 0x0001 |
---|
17 | 16 | #define GHES_EXITING 0x0002 |
---|
18 | 17 | |
---|
19 | 18 | struct ghes { |
---|
.. | .. |
---|
22 | 21 | struct acpi_hest_generic_v2 *generic_v2; |
---|
23 | 22 | }; |
---|
24 | 23 | struct acpi_hest_generic_status *estatus; |
---|
25 | | - u64 buffer_paddr; |
---|
26 | 24 | unsigned long flags; |
---|
27 | 25 | union { |
---|
28 | 26 | struct list_head list; |
---|
.. | .. |
---|
35 | 33 | struct llist_node llnode; |
---|
36 | 34 | struct acpi_hest_generic *generic; |
---|
37 | 35 | struct ghes *ghes; |
---|
| 36 | + |
---|
| 37 | + int task_work_cpu; |
---|
| 38 | + struct callback_head task_work; |
---|
38 | 39 | }; |
---|
39 | 40 | |
---|
40 | 41 | struct ghes_estatus_cache { |
---|
.. | .. |
---|
52 | 53 | GHES_SEV_PANIC = 0x3, |
---|
53 | 54 | }; |
---|
54 | 55 | |
---|
| 56 | +#ifdef CONFIG_ACPI_APEI_GHES |
---|
| 57 | +/** |
---|
| 58 | + * ghes_register_vendor_record_notifier - register a notifier for vendor |
---|
| 59 | + * records that the kernel would otherwise ignore. |
---|
| 60 | + * @nb: pointer to the notifier_block structure of the event handler. |
---|
| 61 | + * |
---|
| 62 | + * return 0 : SUCCESS, non-zero : FAIL |
---|
| 63 | + */ |
---|
| 64 | +int ghes_register_vendor_record_notifier(struct notifier_block *nb); |
---|
| 65 | + |
---|
| 66 | +/** |
---|
| 67 | + * ghes_unregister_vendor_record_notifier - unregister the previously |
---|
| 68 | + * registered vendor record notifier. |
---|
| 69 | + * @nb: pointer to the notifier_block structure of the vendor record handler. |
---|
| 70 | + */ |
---|
| 71 | +void ghes_unregister_vendor_record_notifier(struct notifier_block *nb); |
---|
| 72 | +#endif |
---|
| 73 | + |
---|
| 74 | +int ghes_estatus_pool_init(unsigned int num_ghes); |
---|
| 75 | + |
---|
55 | 76 | /* From drivers/edac/ghes_edac.c */ |
---|
56 | 77 | |
---|
57 | 78 | #ifdef CONFIG_EDAC_GHES |
---|