hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/include/linux/arm_sdei.h
....@@ -5,13 +5,11 @@
55
66 #include <uapi/linux/arm_sdei.h>
77
8
-enum sdei_conduit_types {
9
- CONDUIT_INVALID = 0,
10
- CONDUIT_SMC,
11
- CONDUIT_HVC,
12
-};
8
+#include <acpi/ghes.h>
139
10
+#ifdef CONFIG_ARM_SDE_INTERFACE
1411 #include <asm/sdei.h>
12
+#endif
1513
1614 /* Arch code should override this to set the entry point from firmware... */
1715 #ifndef sdei_arch_get_entry_point
....@@ -86,13 +84,22 @@
8684 #endif /* CONFIG_ARM_SDE_INTERFACE */
8785 #endif /* CONFIG_FIQ_DEBUGGER_TRUST_ZONE */
8886
87
+/* GHES register/unregister helpers */
88
+int sdei_register_ghes(struct ghes *ghes, sdei_event_callback *normal_cb,
89
+ sdei_event_callback *critical_cb);
90
+int sdei_unregister_ghes(struct ghes *ghes);
91
+
8992 #ifdef CONFIG_ARM_SDE_INTERFACE
9093 /* For use by arch code when CPU hotplug notifiers are not appropriate. */
9194 int sdei_mask_local_cpu(void);
9295 int sdei_unmask_local_cpu(void);
96
+void __init sdei_init(void);
97
+void sdei_handler_abort(void);
9398 #else
9499 static inline int sdei_mask_local_cpu(void) { return 0; }
95100 static inline int sdei_unmask_local_cpu(void) { return 0; }
101
+static inline void sdei_init(void) { }
102
+static inline void sdei_handler_abort(void) { }
96103 #endif /* CONFIG_ARM_SDE_INTERFACE */
97104
98105