hc
2024-05-10 ee930fffee469d076998274a2ca55e13dc1efb67
kernel/include/acpi/ghes.h
....@@ -13,7 +13,6 @@
1313 * estatus: memory buffer for error status block, allocated during
1414 * HEST parsing.
1515 */
16
-#define GHES_TO_CLEAR 0x0001
1716 #define GHES_EXITING 0x0002
1817
1918 struct ghes {
....@@ -22,7 +21,6 @@
2221 struct acpi_hest_generic_v2 *generic_v2;
2322 };
2423 struct acpi_hest_generic_status *estatus;
25
- u64 buffer_paddr;
2624 unsigned long flags;
2725 union {
2826 struct list_head list;
....@@ -35,6 +33,9 @@
3533 struct llist_node llnode;
3634 struct acpi_hest_generic *generic;
3735 struct ghes *ghes;
36
+
37
+ int task_work_cpu;
38
+ struct callback_head task_work;
3839 };
3940
4041 struct ghes_estatus_cache {
....@@ -52,6 +53,26 @@
5253 GHES_SEV_PANIC = 0x3,
5354 };
5455
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
+
5576 /* From drivers/edac/ghes_edac.c */
5677
5778 #ifdef CONFIG_EDAC_GHES