vector_gcc.S 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * Copyright (c) 2006-2020, 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. */
  9. .text
  10. .globl system_vectors
  11. .globl vector_exception
  12. .globl vector_irq
  13. .globl vector_fiq
  14. system_vectors:
  15. .align 11
  16. .set VBAR, system_vectors
  17. .org VBAR
  18. /* Exception from CurrentEL (EL1) with SP_EL0 (SPSEL=1) */
  19. .org (VBAR + 0x00 + 0)
  20. B vector_serror /* Synchronous */
  21. .org (VBAR + 0x80 + 0)
  22. B vector_serror /* IRQ/vIRQ */
  23. .org (VBAR + 0x100 + 0)
  24. B vector_serror /* FIQ/vFIQ */
  25. .org (VBAR + 0x180 + 0)
  26. B vector_serror /* Error/vError */
  27. /* Exception from CurrentEL (EL1) with SP_ELn */
  28. .org (VBAR + 0x200 + 0)
  29. B vector_exception /* Synchronous */
  30. .org (VBAR + 0x280 + 0)
  31. B vector_irq /* IRQ/vIRQ */
  32. .org (VBAR + 0x300 + 0)
  33. B vector_fiq /* FIQ/vFIQ */
  34. .org (VBAR + 0x380 + 0)
  35. B vector_serror
  36. /* Exception from lower EL, aarch64 */
  37. .org (VBAR + 0x400 + 0)
  38. B vector_exception
  39. .org (VBAR + 0x480 + 0)
  40. B vector_irq
  41. .org (VBAR + 0x500 + 0)
  42. B vector_fiq
  43. .org (VBAR + 0x580 + 0)
  44. B vector_serror
  45. /* Exception from lower EL, aarch32 */
  46. .org (VBAR + 0x600 + 0)
  47. B vector_serror
  48. .org (VBAR + 0x680 + 0)
  49. B vector_serror
  50. .org (VBAR + 0x700 + 0)
  51. B vector_serror
  52. .org (VBAR + 0x780 + 0)
  53. B vector_serror