Skip to content

arch: arm: Optimise Cortex-R exception return function. #20477

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

Conversation

stephanosio
Copy link
Member

@stephanosio stephanosio commented Nov 8, 2019

z_arm_exc_exit (z_arm_int_exit) requires the current execution mode to
be specified as a parameter (through r0). This is not necessary because
this value can be directly read from CPSR.

This commit modifies the exception return function to retrieve the
current execution mode from CPSR and removes all provisions for passing
the execution mode parameter.

Signed-off-by: Stephanos Ioannidis [email protected]

NOTE:

@zephyrbot zephyrbot added area: ARM ARM (32-bit) Architecture area: API Changes to public APIs labels Nov 8, 2019
@stephanosio stephanosio mentioned this pull request Nov 12, 2019
25 tasks
@stephanosio stephanosio added this to the v2.2.0 milestone Dec 9, 2019
@ioannisg
Copy link
Member

@stephanosio can you rebase this one, to resume reviewing?

@stephanosio stephanosio force-pushed the cortex_r_optimise_cortex_r_exc_return branch from f011418 to 278ef9e Compare January 10, 2020 15:22
@stephanosio stephanosio force-pushed the cortex_r_optimise_cortex_r_exc_return branch from 278ef9e to 4e4a59d Compare January 10, 2020 15:25
@stephanosio
Copy link
Member Author

Rebased

@stephanosio
Copy link
Member Author

@ioannisg Now that the kernel tests are enabled for qemu_cortex_r5, can you review/approve this PR?

@stephanosio stephanosio force-pushed the cortex_r_optimise_cortex_r_exc_return branch from 4e4a59d to e2f3007 Compare February 12, 2020 08:49
Copy link
Member

@ioannisg ioannisg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks ok to me

@ioannisg
Copy link
Member

Please rebase for a fresh CI run

@ioannisg
Copy link
Member

FYI @bbolen

z_arm_exc_exit (z_arm_int_exit) requires the current execution mode to
be specified as a parameter (through r0). This is not necessary because
this value can be directly read from CPSR.

This commit modifies the exception return function to retrieve the
current execution mode from CPSR and removes all provisions for passing
the execution mode parameter.

Signed-off-by: Stephanos Ioannidis <[email protected]>
@stephanosio stephanosio force-pushed the cortex_r_optimise_cortex_r_exc_return branch from e2f3007 to f2c26a2 Compare March 14, 2020 04:14
@stephanosio
Copy link
Member Author

Rebased

@ioannisg ioannisg merged commit cd90d49 into zephyrproject-rtos:master Mar 14, 2020
@bbolen
Copy link
Collaborator

bbolen commented Mar 16, 2020

I'm late to the party, but looks good to me.

@stephanosio stephanosio deleted the cortex_r_optimise_cortex_r_exc_return branch April 23, 2020 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: API Changes to public APIs area: ARM ARM (32-bit) Architecture
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants