1f68774ccSMax Filippov#include "core-isa.h" 2f68774ccSMax Filippov 3c09015ddSAnthony Liguori.macro vector name 4c09015ddSAnthony Liguori 5*906da882SMax Filippov.section .vector.\name, "ax" 6*906da882SMax Filippov.global vector_\name 7*906da882SMax Filippovvector_\name\(): 8c09015ddSAnthony Liguori j 1f 9*906da882SMax Filippov .literal_position 10c09015ddSAnthony Liguori1: 11*906da882SMax Filippov wsr a0, excsave1 12*906da882SMax Filippov movi a0, 1f 13*906da882SMax Filippov ret.n 14*906da882SMax Filippov 15*906da882SMax Filippov.section .vector.\name\().text, "ax" 16*906da882SMax Filippov .literal_position 17*906da882SMax Filippov1: 18*906da882SMax Filippov rsr a0, excsave1 19c09015ddSAnthony Liguori wsr a2, excsave1 20c09015ddSAnthony Liguori movi a2, handler_\name 21c09015ddSAnthony Liguori l32i a2, a2, 0 22c09015ddSAnthony Liguori beqz a2, 1f 23c09015ddSAnthony Liguori jx a2 24c09015ddSAnthony Liguori1: 25c09015ddSAnthony Liguori movi a3, 1b 26c09015ddSAnthony Liguori movi a2, 1 27c09015ddSAnthony Liguori simcall 28c09015ddSAnthony Liguori 29c09015ddSAnthony Liguori.align 4 30c09015ddSAnthony Liguori.global handler_\name 31c09015ddSAnthony Liguorihandler_\name\(): .word 0 32c09015ddSAnthony Liguori 33c09015ddSAnthony Liguori.endm 34c09015ddSAnthony Liguori 35f68774ccSMax Filippov#if XCHAL_HAVE_WINDOWED 36c09015ddSAnthony Liguorivector window_overflow_4 37c09015ddSAnthony Liguorivector window_overflow_8 38c09015ddSAnthony Liguorivector window_overflow_12 39c09015ddSAnthony Liguorivector window_underflow_4 40c09015ddSAnthony Liguorivector window_underflow_8 41c09015ddSAnthony Liguorivector window_underflow_12 42f68774ccSMax Filippov#endif 43c09015ddSAnthony Liguori 44f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 2 45c09015ddSAnthony Liguorivector level2 46f68774ccSMax Filippov#endif 47f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 3 48c09015ddSAnthony Liguorivector level3 49f68774ccSMax Filippov#endif 50f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 4 51c09015ddSAnthony Liguorivector level4 52f68774ccSMax Filippov#endif 53f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 5 54c09015ddSAnthony Liguorivector level5 55f68774ccSMax Filippov#endif 56f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 6 57c09015ddSAnthony Liguorivector level6 58f68774ccSMax Filippov#endif 59f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 7 60c09015ddSAnthony Liguorivector level7 61f68774ccSMax Filippov#endif 62c09015ddSAnthony Liguori 63c09015ddSAnthony Liguorivector kernel 64c09015ddSAnthony Liguorivector user 65c09015ddSAnthony Liguorivector double 66