EL0 does not have a vector table. Only EL1, EL2 and EL3 have vector tables. The location is set by VBAR_EL1, VBAR_EL2 and VBAR_EL3 respectively.
Each vector table has the same format, i.e. 16 entries (1 entry = 128 bytes) grouped into 4 blocks.
Starting from the lowest offset, each block is used for exceptions taken from:
Current Exception level with SP_EL0
Current Exception level with SP_ELx, x>0.
Lower Exception level, where the implemented level immediately lower than the target level is using AArch64
Lower Exception level, where the implemented level immediately lower than the target level is using AArch32
Consider an IRQ from an AArch32 application (EL0) running on an AArch64 OS (EL1), being handled by an AArch64 hypervisor (EL2).
In this case, the exception will be "from AArch32", but the hypervisor must save all the AArch64 states, as they may contain active values for the OS.
Therefore, the exception entry for this case would be:
VBAR_EL2 + 0x480