vector_gcc.S 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright (c) 2006-2022, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Date Author Notes
  7. * 2018-10-06 ZhaoXiaowei the first version
  8. * 2022-02-16 GuEe-GUI replace vectors entry to macro
  9. */
  10. #include "rtconfig.h"
  11. #ifndef RT_USING_VMTHREAD
  12. .macro ventry label
  13. .align 7
  14. b \label
  15. .endm
  16. .globl system_vectors
  17. .globl vector_error
  18. .globl vector_irq
  19. .globl vector_fiq
  20. .align 11
  21. system_vectors:
  22. /* Exception from CurrentEL (EL1t) with SP_EL0 (SPSEL = 0) */
  23. ventry vector_error /* Synchronous */
  24. ventry vector_irq /* IRQ/vIRQ */
  25. ventry vector_fiq /* FIQ/vFIQ */
  26. ventry vector_error /* SError/vSError */
  27. /* Exception from CurrentEL (EL1h) with SP_ELn */
  28. ventry vector_error /* Synchronous */
  29. ventry vector_irq /* IRQ/vIRQ */
  30. ventry vector_fiq /* FIQ/vFIQ */
  31. ventry vector_error /* SError/vSError */
  32. /* Exception from lower EL, aarch64 */
  33. ventry vector_error /* Synchronous */
  34. ventry vector_error /* IRQ/vIRQ */
  35. ventry vector_error /* FIQ/vFIQ */
  36. ventry vector_error /* SError/vSError */
  37. /* Exception from lower EL, aarch32 */
  38. ventry vector_error /* Synchronous */
  39. ventry vector_error /* IRQ/vIRQ */
  40. ventry vector_error /* FIQ/vFIQ */
  41. ventry vector_error /* SError/vSError */
  42. #endif /* !RT_USING_VMTHREAD */