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

ARMv8-nofp support #32195

Closed
jharris-intel opened this issue Feb 10, 2021 · 1 comment
Closed

ARMv8-nofp support #32195

jharris-intel opened this issue Feb 10, 2021 · 1 comment
Labels

Comments

@jharris-intel
Copy link
Contributor

jharris-intel commented Feb 10, 2021

Is this request related to a missing driver support for a particular hardware platform, SoC or board? Please describe.

ARMv8 has the following to say about FPU/SIMD support:

ARMv8 can support the following levels of support for floating-point and Advanced SIMD instructions:
• Full floating-point and SIMD support without exception trapping.
• Full floating-point and SIMD support with exception trapping.
• No floating-point or SIMD support. This option is licensed only for implementations targeting specialised
markets.

("specialized markets" here meaning "embedded systems" and suchlike... which as you can no doubt tell from this ticket includes the market I am in :-) )

I would like support for ARMv8 with no floating-point or SIMD, as described above.

Describe why you are asking for this support?

I have a few fairly minor patches to enable ARMv8-nofp support in Zephyr, and would like to upstream them. (I would directly create a PR, although this is somewhat blocked behind the chosen direction of #32192). I would much prefer if ARMv8-nofp support was upstreamed, as that would make maintenance easier. (It's much better in general to try to upstream such things.)

I would like to maintain support for this feature, although I cannot guarantee time on this in perpetuity. (It would be fully acceptable if support was dropped should I stop maintaining this without finding someone to pass it off to.)

Additional context

Note that you can fairly easily test this feature on an ARMv8 implementation that does have an FPU by setting CPTR_EL3.TFP to 1 in early boot in EL3 (or CPTR_EL2.TFP in EL2). This will result in any FPU operations trapping, which can confirm that no floating-point operations were used.

@github-actions
Copy link

This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time.

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

No branches or pull requests

1 participant