vector_gcc.S 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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_error
  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_error // Synchronous
  21. .org (VBAR + 0x80 + 0)
  22. B vector_irq // IRQ/vIRQ
  23. .org (VBAR + 0x100 + 0)
  24. B vector_fiq // FIQ/vFIQ
  25. .org (VBAR + 0x180 + 0)
  26. B vector_error // Error/vError
  27. // Exception from CurrentEL (EL1) with SP_ELn
  28. .org (VBAR + 0x200 + 0)
  29. B vector_error // 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_error
  36. // Exception from lower EL, aarch64
  37. .org (VBAR + 0x400 + 0)
  38. B vector_error
  39. .org (VBAR + 0x480 + 0)
  40. B vector_error
  41. .org (VBAR + 0x500 + 0)
  42. B vector_error
  43. .org (VBAR + 0x580 + 0)
  44. B vector_error
  45. // Exception from lower EL, aarch32
  46. .org (VBAR + 0x600 + 0)
  47. B vector_error
  48. .org (VBAR + 0x680 + 0)
  49. B vector_error
  50. .org (VBAR + 0x700 + 0)
  51. B vector_error
  52. .org (VBAR + 0x780 + 0)
  53. B vector_error
  54. .org (VBAR + 0x800 + 0)
  55. B vector_error