-
Notifications
You must be signed in to change notification settings - Fork 16
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
Possibility to loop in serror_aarch64 without making any progress #690
Comments
Yes, I think the esb would be needed for this, but it would have to be under |
Also does it make sense to enable the ABT_BIT after the current SError has been handled? With this approach we can be very sure that the CPU gets a chance to make progress even on a broken system. |
Hi @vwadekar, The code snippet for handling SError from lower ELs assume that that all pending errors are synchronized when the exception is taken and the error reflects in ESR_EL3. Now I am not sure whether once the pending errors are synchronized by ESB whether the Error Syndrome in the ESR_EL3 due to the first SError is still valid or not. This needs further reading up. I will try to get in touch with the Architecture team regarding this. |
Hi @vwadekar,
Do you mean to set the ABT_BIT so as to keep the SError masked while executing in EL3 ? Errors attributed to EL3 are handled differently from the ones coming from lower EL. If the SErrors are masked, during EL3 execution, then this error attribution cannot happen anymore. We assume that ESB will synchronize all errors attributed to lower EL on entry to EL3 and hence the above implementation. |
Hello @vwadekar! Thank you for raising an issue for Trusted Firmware-A. The TF-A project has now migrated to www.trustedfirmware.org. This issue tracker will still remain accessible for some time, but only for historical reasons. From now on you should raise any new issues on trustedfirmware.org. How do I raise issues for TF-A?Please use our new issue tracking board. For this you just need to login with your existing GitHub account. We also have a guide to help you raise the issue with the appropriate labels and tags. This way it will be easier for both you and us to track and address the issue most effectively. What if I face any problems?You can send us an email in the public TF-A mailing list. Here you can also find all the mailing lists for all the projects hosted under trustedfirmware.org. We are looking forward to seeing you in trustedfirmware.org! The Trusted Firmware-A team |
1 similar comment
Hello @vwadekar! Thank you for raising an issue for Trusted Firmware-A. The TF-A project has now migrated to www.trustedfirmware.org. This issue tracker will still remain accessible for some time, but only for historical reasons. From now on you should raise any new issues on trustedfirmware.org. How do I raise issues for TF-A?Please use our new issue tracking board. For this you just need to login with your existing GitHub account. We also have a guide to help you raise the issue with the appropriate labels and tags. This way it will be easier for both you and us to track and address the issue most effectively. What if I face any problems?You can send us an email in the public TF-A mailing list. Here you can also find all the mailing lists for all the projects hosted under trustedfirmware.org. We are looking forward to seeing you in trustedfirmware.org! The Trusted Firmware-A team |
The RAS exception handler enables the ABT_BIT immediately upon entering the handler.
vector_entry serror_aarch64
msr daifclr, #DAIF_ABT_BIT
b enter_lower_el_async_ea
end_vector_entry serror_aarch64
For "clustered" SErrors, this means that we will constantly loop here without making any progress. Should we execute the ESB instruction before enabling the ABT_BIT to avoid this scenario?
The text was updated successfully, but these errors were encountered: