Re: ARM Cortex-R user mode -- should system call handlers be running with external interrupts disabled?
Boie, Andrew P
I sent a PR which adds a test for this:
It passes on all the emulated targets we have (including Cortex-M), but if this is broken for your target please file a bug in GitHub.
From: devel@... <devel@...> On Behalf Of Boie, Andrew P
Sent: Tuesday, January 14, 2020 1:39 PM
To: phil.erwin@...; devel@...
Subject: Re: [Zephyr-devel] ARM Cortex-R user mode -- should system call handlers be running with external interrupts disabled?
Interrupts should be unlocked when handling system calls, and indeed a thread in a system call can sleep or be preempted. Sounds like you have found a bug. And a gap in testing, we ought to have a test that validates this.
I've noticed that on ARM Cortex-R with user mode enabled, that when we enter the system call handlers, such as
z_hdlr_k_str_out(), that interrupts are disabled. It seems to me that external interrupts should be enabled during this time.