Actually, the comments are pretty good. However, I give a try to explain more.
Overall, the function set up interrupt handler, described by a pointer to the actual service routine pISR
, it's priority, and the index of the (physical) interrupt.
At your CPU, the addresses and the corresponding priorities are stored in tables with the start addresses VICVECTADDR0
and VICVECTPRIORITY0
, resp. The correct table entry is found by adding the interrupt index to the base address.
VICINTSELECT
and VICINTENABLE
are bit vectors, where the bit addressed by the interrupt index is set and unset, resp. The semantic of VICINTSELECT
is to tell the CPU that there exist a service routine for the interrupt (clear bit). The semantic of VICINTENABLE
is to tell the CPU that the interrupt is not masked, i.e. enabled (set bit).
I hope my explanation helps a bit.