|
@@ -0,0 +1,42 @@
|
|
|
+* Software Delegated Exception Interface (SDEI)
|
|
|
+
|
|
|
+Firmware implementing the SDEI functions described in ARM document number
|
|
|
+ARM DEN 0054A ("Software Delegated Exception Interface") can be used by
|
|
|
+Linux to receive notification of events such as those generated by
|
|
|
+firmware-first error handling, or from an IRQ that has been promoted to
|
|
|
+a firmware-assisted NMI.
|
|
|
+
|
|
|
+The interface provides a number of API functions for registering callbacks
|
|
|
+and enabling/disabling events. Functions are invoked by trapping to the
|
|
|
+privilege level of the SDEI firmware (specified as part of the binding
|
|
|
+below) and passing arguments in a manner specified by the "SMC Calling
|
|
|
+Convention (ARM DEN 0028B):
|
|
|
+
|
|
|
+ r0 => 32-bit Function ID / return value
|
|
|
+ {r1 - r3} => Parameters
|
|
|
+
|
|
|
+Note that the immediate field of the trapping instruction must be set
|
|
|
+to #0.
|
|
|
+
|
|
|
+The SDEI_EVENT_REGISTER function registers a callback in the kernel
|
|
|
+text to handle the specified event number.
|
|
|
+
|
|
|
+The sdei node should be a child node of '/firmware' and have required
|
|
|
+properties:
|
|
|
+
|
|
|
+ - compatible : should contain:
|
|
|
+ * "arm,sdei-1.0" : For implementations complying to SDEI version 1.x.
|
|
|
+
|
|
|
+ - method : The method of calling the SDEI firmware. Permitted
|
|
|
+ values are:
|
|
|
+ * "smc" : SMC #0, with the register assignments specified in this
|
|
|
+ binding.
|
|
|
+ * "hvc" : HVC #0, with the register assignments specified in this
|
|
|
+ binding.
|
|
|
+Example:
|
|
|
+ firmware {
|
|
|
+ sdei {
|
|
|
+ compatible = "arm,sdei-1.0";
|
|
|
+ method = "smc";
|
|
|
+ };
|
|
|
+ };
|