On 17/4/21 10:00 am, Kinsey Moore wrote:
> On 4/16/2021 08:48, Gedare Bloom wrote:
>> On Fri, Apr 16, 2021 at 1:19 AM Sebastian Huber
>> <sebastian.hu...@embedded-brains.de> wrote:
>>> Hello Kinsey,
>>>
>>> why don't you use a fatal error extension for this? You can save all the
>>> processor state to a structure and use it to jump to previous or next
>>> instruction it if needed in a custom fatal error handler which deals
>>> with RTEMS_FATAL_EXCEPTION. I think libdebugger uses this approach.
>>>
>> +1
>>
>> This is otherwise a major overhaul/addition to the CPU port
>> requirements. I'd lean in favor of adding any CPU_* API that is
>> necessary to support vectoring from an exception to a signal. I don't
>> think we can make this kind of intrusive modification to basic
>> interrupt handling capabilities across all ports easily. Some of that
>> code is old and very stable.
> 
> I avoided going that direction to maintain the interrupt stack since an
> exception return from within those handlers would necessarily leave the CPU
> state as well as intervening functions on the stack along with a minor amount 
> of
> data on the thread stack. In addition, thread dispatch needs to occur and all
> exception handling for AArch64 (as modeled after ARM) is currently considered
> final with no way to reasonably return to execution.
> 
> Not every platform will need this kind of intrusive change. Any platform that
> handles exceptions in a manner similar to IRQs can deal with this exception
> mapping far more trivially. ARM and AArch64 don't have that luxury, but SPARC
> does and I assume others do as well.

How would a user in an application debug a data abort error if all they get is a
signal?

How would this type of signal support be implemented on the 32bit ARM arch and
maintain libdebugger support?

How would libdebugger be integrated on the aarch64 with this change?

Chris
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to