[RFC] create struct arch_esf
that is public and deprecate z_arch_esf_t
#73673
Labels
RFC
Request For Comments: want input from the community
Introduction
Functions and types that start with the
z_
prefix are meant for internal use only, but we havez_arch_esf_t
appearing in the public headers/APIs that is sort of an implicit requirement for all architectures.There are functions/header files using
z_arch_esf_t
while not directly including any header file that defines this named struct.To complicate the issues mentioned above, the underlying struct names aren't consistent across the archs, which means we can't actually declare the named struct without some macro magic:
struct _irq_stack_frame
struct nanoEsf
struct x86_esf
int
struct esf
struct __esf
Problem description
This leads to #73454, and blocks #73587.
Proposed change
Deprecate
z_arch_esf_t
, have all the architecture definestruct arch_esf
and declare this in thearch_interface.h
Detailed RFC
Please see #73593
Proposed change (Detailed)
Please see #73593
Dependencies
Any external modules that uses
z_arch_esf_t
has to be updated to use the newstruct arch_esf
, i.e. zephyrproject-rtos/sof#46Concerns and Unresolved Questions
TBD
Alternatives
#73587 can be unblocked by using
void *
, #73454 can be worked around by using macros in the arch-agnostic exception header.The text was updated successfully, but these errors were encountered: