123456789101112131415161718192021222324252627282930313233343536373839404142 |
- * 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";
- };
- };
|