-
Notifications
You must be signed in to change notification settings - Fork 6.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
arch: deprecate z_arch_esf_t
with struct arch_esf
, introduce an arch-agnostic exception.h
for it
#73593
Conversation
4c12eaf
to
fc67715
Compare
ad90a8d
to
04b935a
Compare
Rebased & updated the git revision of |
Create `zephyr/include/zephyr/arch/exception.h`, which will redirect to the corrent architecture-specific exception header based on Kconfig. Some of the architectures define their esf struct in architecture-specific `arch.h`, refactor them out into a separate `exception.h`. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
`fatal.h` has 2 functions that use the `z_arch_esf_t` type. Include `exception.h`, which should have the `z_arch_esf_t` defined. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Rename every architecture's esf struct to `struct esf`. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Make `struct arch_esf` compulsory for all architectures by declaring it in the `arch_interface.h` header. After this commit, the named struct `z_arch_esf_t` is only used internally to generate offsets, and is slated to be removed from the `arch_interface.h` header in the future. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Created `GEN_OFFSET_STRUCT` & `GEN_NAMED_OFFSET_STRUCT` that works for `struct`, and remove the use of `z_arch_esf_t` completely. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Add a note about the introduction of `struct arch_esf` and the deprecation of `z_arch_esf_t`. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Update the git revision of the `sof` module. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
x86 32bit defines `CONFIG_X86` while its 64bit counterpart defines an additional `CONFIG_X86_64`, by reordering the include order we can make it look a bit cleaner. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Zephyr support out-of-tree architectures so we shouldn't throw error for archs not listed here. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
ping @andyross could you please take another look? Thanks |
Thanks for the quick fix @ycsin One thing I can see today is that now This effectively means that the new generic I almost expect that if we fix the above, yet another include issue will appear. These type of include issues will continue to appear unless verified by a tool (attempting to fix or verify manually will be nearly impossible). |
@ycsin are you looking into this? Otherwise I'll go ahead and create another issue :) If you are not already, you may want to use a tool like the |
Not looking into this, please feel free to create another issue |
The exception stack frame type `z_arch_esf_t` had been deprecated since zephyrproject-rtos#73593 for 2 releases, it is not used in the kernel since, and applications/drivers should have been updated to use the `struct arch_esf` now, remove it. Signed-off-by: Yong Cong Sin <ycsin@meta.com> Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
The exception stack frame type `z_arch_esf_t` had been deprecated since #73593 for 2 releases, it is not used in the kernel since, and applications/drivers should have been updated to use the `struct arch_esf` now, remove it. Signed-off-by: Yong Cong Sin <ycsin@meta.com> Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
RFC #73673
Fixes #73454
Unblocks #73587
z_arch_esf_t
tostruct arch_esf
sof#46Migration guide preview