Hi, everyone. With the help of aballier, leio and mrueg I'd like to proudly present you a proposal for initial set of CPU_FLAGS_ARM flags. The flags apply commonly to Gentoo 'arm' and 'arm64' profiles, and the majority of them is going to be forced by profiles [patch for them will follow later].
The change comes along with cpuid2cpuflags port to ARM. The port can be
tested in 'arm-wip' branch [1]. Quick snippet:
ACCEPT_KEYWORDS='**' EGIT_BRANCH=arm-wip \
emerge -1v =app-portage/cpuid2cpuflags-9999
(note: -9999 is freshly added, you may need to sync)
For those curious of technical details, the ARM variant uses getauxval()
with AT_HWCAP{,2} for instruction sets, and uname() machine field to
identify the ARM subarchitecture (and works on GNU/Linux only). Both
'arm' and 'arm64' kernels are supported.
Note: I haven't been able to find or figure out a proper way to detect
Thumb-2 or ARMv6T2. If anybody has a clue how to do it, I'd appreciate
that.
Now, the proposed flag list:
aes - Use the AES cryptography instruction set
crc32 - Use the CRC32 instruction set
iwmmxt - Use the iwMMXt instruction set
neon - Use the NEON (ASIMD) instruction set
sha1 - Use the SHA-1 cryptography instruction set
sha2 - Use the SHA-2 cryptography instruction set
thumb2 - Enable Thumb-2 instruction set (ARMv6T2 and ARMv7+)
v4 - Use ARMv4 instructions
v4t - Use ARMv4T instructions
v5t - Use ARMv5T instructions
v5te - Use ARMv5TE instructions
v5tej - Use ARMv5TEJ instructions
v6 - Use ARMv6 instructions
v7 - Use ARMv7 instructions
vfp - Use the VFP instruction set
vfp-d16 - Indicate that the FPU has 16 64-bit VFP registers
vfp-d32 - Indicate that the FPU has 32 64-bit VFP registers
vfpv3 - Use the VFP version 3 instruction set
vfpv4 - Use the VFP version 4 instruction set
Please review the flags, test the code and let us know what you think of
it.
[1]:https://github.com/mgorny/cpuid2cpuflags/tree/arm-wip
--
Best regards,
Michał Górny
signature.asc
Description: This is a digitally signed message part
