dpotop
Posts: 80
Joined: Mon Nov 24, 2014 2:14 pm

Taking an exception disables interrupts?

Wed Feb 20, 2019 11:15 pm

Hello,

There's a point I can't find the reference in the ARMv8 ARM - it's probably
there, but I just can't find it:

When an exception is taken (any type) are interrupts (IRQs and
FIQs) disabled?

Best regards,
Dpotop
dpotop

LdB
Posts: 1325
Joined: Wed Dec 07, 2016 2:29 pm

Re: Taking an exception disables interrupts?

Thu Feb 21, 2019 1:04 am

Both nested and non nested typical setup is discussed on the ARM site (this is the 64bit .. 32bit is in it's section)
http://infocenter.arm.com/help/index.js ... 10s05.html

The bottom line
When the processor takes an exception to AArch64 execution state, all of the PSTATE interrupt masks is set automatically.
The Irq and Fiq are independent.

On multicore Pi's all the irq's are default routed to core0 but you can use the crosspoint in datasheet QA7 to change that. If you have high priority interrupts like on an RTOS you may like to spread them out across the cores. Also remember on the Pi1 there is 64 interrupt sources (73 on a Pi3) and you need to check all flags when taking an interrupt because they can and often do overlap. In easy samples you start with you may only enable one of the 60 plus interrupt sources so you can ignore this but you can't in a proper system using the interrupts.

dpotop
Posts: 80
Joined: Mon Nov 24, 2014 2:14 pm

Re: Taking an exception disables interrupts?

Thu Feb 21, 2019 7:02 am

Thanks a lot LdB - the first paragraphs in your link contained exactly the information I looked for.

Dpotop
dpotop

Return to “Bare metal, Assembly language”