IRQ doesn't call exception table


I'm trying to setup the physical non secure timer.

I'm in EL1 ttbr1, core0 and got there thorugh el2 so I can't modify or read SCR_EL3 but cleared HCR_EL2 so IMO, FIMO and AMO are set to 0.

I'm enabling the time like the flollwing:

    asm volatile ("mrs x1, CNTFRQ_EL0");
    asm volatile ("msr CNTP_TVAL_EL0, x1");

    asm volatile ("mov x0, 1");
    asm volatile ("msr cntp_ctl_el0, x0");

And then enabling gicc/gicd, setting the priorities and enabling int 30.

When I call a svc exception my exception table vector gets called, so I would expect the same for the timer.

But when the timer is triggered (which I'm checking with ISR_EL1 and cntp_ctl_el0) none of my functions in the exception vector is called.

DAIF is set to all 0 but ISR_EL1 does not indicate an pending irq anymore, when I set daif serror to 1. so maybe there is an exception in the timer irq call? If so, what can cause such a behavior?

greets from germany!