logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

arm_sdei.h (2751B)


  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. /* Copyright (C) 2017 Arm Ltd. */
  3. #ifndef _LINUX_ARM_SDEI_H
  4. #define _LINUX_ARM_SDEI_H
  5. #define SDEI_1_0_FN_BASE 0xC4000020
  6. #define SDEI_1_0_MASK 0xFFFFFFE0
  7. #define SDEI_1_0_FN(n) (SDEI_1_0_FN_BASE + (n))
  8. #define SDEI_1_0_FN_SDEI_VERSION SDEI_1_0_FN(0x00)
  9. #define SDEI_1_0_FN_SDEI_EVENT_REGISTER SDEI_1_0_FN(0x01)
  10. #define SDEI_1_0_FN_SDEI_EVENT_ENABLE SDEI_1_0_FN(0x02)
  11. #define SDEI_1_0_FN_SDEI_EVENT_DISABLE SDEI_1_0_FN(0x03)
  12. #define SDEI_1_0_FN_SDEI_EVENT_CONTEXT SDEI_1_0_FN(0x04)
  13. #define SDEI_1_0_FN_SDEI_EVENT_COMPLETE SDEI_1_0_FN(0x05)
  14. #define SDEI_1_0_FN_SDEI_EVENT_COMPLETE_AND_RESUME SDEI_1_0_FN(0x06)
  15. #define SDEI_1_0_FN_SDEI_EVENT_UNREGISTER SDEI_1_0_FN(0x07)
  16. #define SDEI_1_0_FN_SDEI_EVENT_STATUS SDEI_1_0_FN(0x08)
  17. #define SDEI_1_0_FN_SDEI_EVENT_GET_INFO SDEI_1_0_FN(0x09)
  18. #define SDEI_1_0_FN_SDEI_EVENT_ROUTING_SET SDEI_1_0_FN(0x0A)
  19. #define SDEI_1_0_FN_SDEI_PE_MASK SDEI_1_0_FN(0x0B)
  20. #define SDEI_1_0_FN_SDEI_PE_UNMASK SDEI_1_0_FN(0x0C)
  21. #define SDEI_1_0_FN_SDEI_INTERRUPT_BIND SDEI_1_0_FN(0x0D)
  22. #define SDEI_1_0_FN_SDEI_INTERRUPT_RELEASE SDEI_1_0_FN(0x0E)
  23. #define SDEI_1_0_FN_SDEI_PRIVATE_RESET SDEI_1_0_FN(0x11)
  24. #define SDEI_1_0_FN_SDEI_SHARED_RESET SDEI_1_0_FN(0x12)
  25. #define SDEI_VERSION_MAJOR_SHIFT 48
  26. #define SDEI_VERSION_MAJOR_MASK 0x7fff
  27. #define SDEI_VERSION_MINOR_SHIFT 32
  28. #define SDEI_VERSION_MINOR_MASK 0xffff
  29. #define SDEI_VERSION_VENDOR_SHIFT 0
  30. #define SDEI_VERSION_VENDOR_MASK 0xffffffff
  31. #define SDEI_VERSION_MAJOR(x) (x>>SDEI_VERSION_MAJOR_SHIFT & SDEI_VERSION_MAJOR_MASK)
  32. #define SDEI_VERSION_MINOR(x) (x>>SDEI_VERSION_MINOR_SHIFT & SDEI_VERSION_MINOR_MASK)
  33. #define SDEI_VERSION_VENDOR(x) (x>>SDEI_VERSION_VENDOR_SHIFT & SDEI_VERSION_VENDOR_MASK)
  34. /* SDEI return values */
  35. #define SDEI_SUCCESS 0
  36. #define SDEI_NOT_SUPPORTED -1
  37. #define SDEI_INVALID_PARAMETERS -2
  38. #define SDEI_DENIED -3
  39. #define SDEI_PENDING -5
  40. #define SDEI_OUT_OF_RESOURCE -10
  41. /* EVENT_REGISTER flags */
  42. #define SDEI_EVENT_REGISTER_RM_ANY 0
  43. #define SDEI_EVENT_REGISTER_RM_PE 1
  44. /* EVENT_STATUS return value bits */
  45. #define SDEI_EVENT_STATUS_RUNNING 2
  46. #define SDEI_EVENT_STATUS_ENABLED 1
  47. #define SDEI_EVENT_STATUS_REGISTERED 0
  48. /* EVENT_COMPLETE status values */
  49. #define SDEI_EV_HANDLED 0
  50. #define SDEI_EV_FAILED 1
  51. /* GET_INFO values */
  52. #define SDEI_EVENT_INFO_EV_TYPE 0
  53. #define SDEI_EVENT_INFO_EV_SIGNALED 1
  54. #define SDEI_EVENT_INFO_EV_PRIORITY 2
  55. #define SDEI_EVENT_INFO_EV_ROUTING_MODE 3
  56. #define SDEI_EVENT_INFO_EV_ROUTING_AFF 4
  57. /* and their results */
  58. #define SDEI_EVENT_TYPE_PRIVATE 0
  59. #define SDEI_EVENT_TYPE_SHARED 1
  60. #define SDEI_EVENT_PRIORITY_NORMAL 0
  61. #define SDEI_EVENT_PRIORITY_CRITICAL 1
  62. #endif /* _LINUX_ARM_SDEI_H */