.section .text.user_el0_irq,"ax" .balign 4 .global __el0_irq_blob_start __el0_irq_blob_start: // The physical timer is armed by EL1 before ERET. EL0 keeps three // nonvolatile register witnesses while polling its own RW data page. movz x19, #0x1460 movz x20, #0x2460 movz x21, #0x3460 movz x10, #0x1000 movk x10, #0x8000, lsl #16 .Lel0_irq_wait: ldr w11, [x10] cbz w11, .Lel0_irq_wait movz x12, #0x1460 cmp x19, x12 b.ne .Lel0_irq_bad movz x12, #0x2460 cmp x20, x12 b.ne .Lel0_irq_bad movz x12, #0x3460 cmp x21, x12 b.ne .Lel0_irq_bad mov x7, #1 mov x8, #0x146 svc #0x42 .Lel0_irq_bad: brk #0x146 b .Lel0_irq_bad .global __el0_irq_blob_end __el0_irq_blob_end: