vector_gcc.S 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * Date Author Notes
  3. * 2018-10-06 ZhaoXiaowei the first version
  4. */
  5. .text
  6. .globl system_vectors
  7. .globl vector_error
  8. .globl vector_irq
  9. .globl vector_fiq
  10. system_vectors:
  11. .align 11
  12. .set VBAR, system_vectors
  13. .org VBAR
  14. // Exception from CurrentEL (EL1) with SP_EL0 (SPSEL=1)
  15. .org (VBAR + 0x00 + 0)
  16. B vector_error // Synchronous
  17. .org (VBAR + 0x80 + 0)
  18. B vector_irq // IRQ/vIRQ
  19. .org (VBAR + 0x100 + 0)
  20. B vector_fiq // FIQ/vFIQ
  21. .org (VBAR + 0x180 + 0)
  22. B vector_error // Error/vError
  23. // Exception from CurrentEL (EL1) with SP_ELn
  24. .org (VBAR + 0x200 + 0)
  25. B vector_error // Synchronous
  26. .org (VBAR + 0x280 + 0)
  27. B vector_irq // IRQ/vIRQ
  28. .org (VBAR + 0x300 + 0)
  29. B vector_fiq // FIQ/vFIQ
  30. .org (VBAR + 0x380 + 0)
  31. B vector_error
  32. // Exception from lower EL, aarch64
  33. .org (VBAR + 0x400 + 0)
  34. B vector_error
  35. .org (VBAR + 0x480 + 0)
  36. B vector_error
  37. .org (VBAR + 0x500 + 0)
  38. B vector_error
  39. .org (VBAR + 0x580 + 0)
  40. B vector_error
  41. // Exception from lower EL, aarch32
  42. .org (VBAR + 0x600 + 0)
  43. B vector_error
  44. .org (VBAR + 0x680 + 0)
  45. B vector_error
  46. .org (VBAR + 0x700 + 0)
  47. B vector_error
  48. .org (VBAR + 0x780 + 0)
  49. B vector_error
  50. .org (VBAR + 0x800 + 0)
  51. B vector_error