Skip to content
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

Some questions in the sparc trap handle #8

Open
GFWisshit opened this issue Aug 30, 2018 · 2 comments
Open

Some questions in the sparc trap handle #8

GFWisshit opened this issue Aug 30, 2018 · 2 comments

Comments

@GFWisshit
Copy link

First, thank you for offer this RTOS, appreciate it.
In entry.S file, we use
_20180830171714
_20180830171714
Macro to set up trap handler. If a interrupt occur, code run to trap_prehandler,
we can assume that, if our function call have use all reg window except one indicated by WIM, and interrupt will use this preserved reg window.I figure out this call instrution will ruin next used reg window %i7, did i miss something? Sorry for my bad english.
_20180830171714

@cdcs
Copy link

cdcs commented Sep 3, 2018

Hi,

From what I remember from SPARC, the call instruction will not change windows. To change the CWP you need to use the Save instruction.

@GFWisshit
Copy link
Author

But call instruction is a synthetic instruction,it store return address in current win register %o7 which one are next win register %i7. In situation i pointed out,it will break return chains,cause program to fail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants