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

Fix arm32 FIQ mask in IRQ/ABT/SVC/UND handlers for GICv3 #1748

Merged
merged 2 commits into from
Aug 31, 2017

Conversation

david-wang-2015
Copy link

In Arm aarch32 mode, FIQ is not masked by hardware in IRQ, ABT, SVC and
UND mode.
For GICv2, IRQ is for foreign interrupt and already masked by hardware
in the exception modes listed above.
For GICv3, FIQ is for foreign interrupt. So, we need to mask FIQ
explicitly in these exception modes.

Signed-off-by: David Wang david.wang@arm.com

@jenswi-linaro
Copy link
Contributor

This takes care of the problem with unmasked foreign interrupts, but doesn't address the issue with masked local interrupts.

In #1742 I've added an idea on how to address the latter problem. Since it's all related perhaps we'd better take care of both issues in the PR.

@david-wang-2015
Copy link
Author

@jenswi-linaro , good idea. I will do this. :)
Thanks.

@jenswi-linaro
Copy link
Contributor

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

@david-wang-2015
Copy link
Author

Rebased and refined.

@jenswi-linaro
Copy link
Contributor

Please apply my r-b.

David Wang added 2 commits August 25, 2017 14:14
Disable native and foreign interrupts in thread handlers for arm32.
The tee handlers can decide when the native interrupts can be enabled.

Signed-off-by: David Wang <david.wang@arm.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
In Arm aarch32 mode, FIQ is not masked by hardware in IRQ mode.
For GICv2, IRQ is for foreign interrupt and already masked by hardware
in FIQ mode which is used for native interrupt.
For GICv3, FIQ is for foreign interrupt. It's not masked by hardware in
IRQ mode which is used for natvie interrupt. We need to mask it explicitly.

Signed-off-by: David Wang <david.wang@arm.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
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

Successfully merging this pull request may close these issues.

3 participants