sdei.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. * Software Delegated Exception Interface (SDEI)
  2. Firmware implementing the SDEI functions described in ARM document number
  3. ARM DEN 0054A ("Software Delegated Exception Interface") can be used by
  4. Linux to receive notification of events such as those generated by
  5. firmware-first error handling, or from an IRQ that has been promoted to
  6. a firmware-assisted NMI.
  7. The interface provides a number of API functions for registering callbacks
  8. and enabling/disabling events. Functions are invoked by trapping to the
  9. privilege level of the SDEI firmware (specified as part of the binding
  10. below) and passing arguments in a manner specified by the "SMC Calling
  11. Convention (ARM DEN 0028B):
  12. r0 => 32-bit Function ID / return value
  13. {r1 - r3} => Parameters
  14. Note that the immediate field of the trapping instruction must be set
  15. to #0.
  16. The SDEI_EVENT_REGISTER function registers a callback in the kernel
  17. text to handle the specified event number.
  18. The sdei node should be a child node of '/firmware' and have required
  19. properties:
  20. - compatible : should contain:
  21. * "arm,sdei-1.0" : For implementations complying to SDEI version 1.x.
  22. - method : The method of calling the SDEI firmware. Permitted
  23. values are:
  24. * "smc" : SMC #0, with the register assignments specified in this
  25. binding.
  26. * "hvc" : HVC #0, with the register assignments specified in this
  27. binding.
  28. Example:
  29. firmware {
  30. sdei {
  31. compatible = "arm,sdei-1.0";
  32. method = "smc";
  33. };
  34. };