#define BAD_FIQ                2
 #define BAD_ERROR      3
 
-       .macro  kernel_entry, el, regsize = 64
+       .macro kernel_ventry    label
+       .align 7
        sub     sp, sp, #S_FRAME_SIZE
+       b       \label
+       .endm
+
+       .macro  kernel_entry, el, regsize = 64
        .if     \regsize == 32
        mov     w0, w0                          // zero upper 32 bits of x0
        .endif
 
        .align  11
 ENTRY(vectors)
-       ventry  el1_sync_invalid                // Synchronous EL1t
-       ventry  el1_irq_invalid                 // IRQ EL1t
-       ventry  el1_fiq_invalid                 // FIQ EL1t
-       ventry  el1_error_invalid               // Error EL1t
+       kernel_ventry   el1_sync_invalid                // Synchronous EL1t
+       kernel_ventry   el1_irq_invalid                 // IRQ EL1t
+       kernel_ventry   el1_fiq_invalid                 // FIQ EL1t
+       kernel_ventry   el1_error_invalid               // Error EL1t
 
-       ventry  el1_sync                        // Synchronous EL1h
-       ventry  el1_irq                         // IRQ EL1h
-       ventry  el1_fiq_invalid                 // FIQ EL1h
-       ventry  el1_error_invalid               // Error EL1h
+       kernel_ventry   el1_sync                        // Synchronous EL1h
+       kernel_ventry   el1_irq                         // IRQ EL1h
+       kernel_ventry   el1_fiq_invalid                 // FIQ EL1h
+       kernel_ventry   el1_error_invalid               // Error EL1h
 
-       ventry  el0_sync                        // Synchronous 64-bit EL0
-       ventry  el0_irq                         // IRQ 64-bit EL0
-       ventry  el0_fiq_invalid                 // FIQ 64-bit EL0
-       ventry  el0_error_invalid               // Error 64-bit EL0
+       kernel_ventry   el0_sync                        // Synchronous 64-bit EL0
+       kernel_ventry   el0_irq                         // IRQ 64-bit EL0
+       kernel_ventry   el0_fiq_invalid                 // FIQ 64-bit EL0
+       kernel_ventry   el0_error_invalid               // Error 64-bit EL0
 
 #ifdef CONFIG_COMPAT
-       ventry  el0_sync_compat                 // Synchronous 32-bit EL0
-       ventry  el0_irq_compat                  // IRQ 32-bit EL0
-       ventry  el0_fiq_invalid_compat          // FIQ 32-bit EL0
-       ventry  el0_error_invalid_compat        // Error 32-bit EL0
+       kernel_ventry   el0_sync_compat                 // Synchronous 32-bit EL0
+       kernel_ventry   el0_irq_compat                  // IRQ 32-bit EL0
+       kernel_ventry   el0_fiq_invalid_compat          // FIQ 32-bit EL0
+       kernel_ventry   el0_error_invalid_compat        // Error 32-bit EL0
 #else
-       ventry  el0_sync_invalid                // Synchronous 32-bit EL0
-       ventry  el0_irq_invalid                 // IRQ 32-bit EL0
-       ventry  el0_fiq_invalid                 // FIQ 32-bit EL0
-       ventry  el0_error_invalid               // Error 32-bit EL0
+       kernel_ventry   el0_sync_invalid                // Synchronous 32-bit EL0
+       kernel_ventry   el0_irq_invalid                 // IRQ 32-bit EL0
+       kernel_ventry   el0_fiq_invalid                 // FIQ 32-bit EL0
+       kernel_ventry   el0_error_invalid               // Error 32-bit EL0
 #endif
 END(vectors)