e9b9739264
RTE_ARCH_xx flags are used to distinguish platform architectures. These flags can be used to pick different code paths for different architectures at compile time. For Arm platforms, there are 3 flags in use: RTE_ARCH_ARM, RTE_ARCH_ARMv7 and RTE_ARCH_ARM64. RTE_ARCH_ARM64 is for 64-bit aarch64 platforms, and RTE_ARCH_ARM & RTE_ARCH_ARMv7 are for 32-bit platforms. RTE_ARCH_ARMv7 is for ARMv7 platforms as its name suggested. The issue is meaning of RTE_ARCH_ARM is not clear enough. Because no info about platform word length is included in the name. To make the flag names more clear, a naming scheme is proposed. RTE_ARCH_ARM (all Arm platforms) | +----RTE_ARCH_32 (New. 32-bit platforms of all architectures) | | | +----RTE_ARCH_ARMv7 (ARMv7 platforms) | | | +----RTE_ARCH_ARMv8_AARCH32 (aarch32 state on aarch64 machine) | +----RTE_ARCH_64 (64-bit platforms of all architectures) | +----RTE_ARCH_ARM64 (64-bit Arm platforms) RTE_ARCH_32 will be explicitly defined for 32-bit platforms. To fit into the new naming scheme, current usage of RTE_ARCH_ARM in project is mapped to (RTE_ARCH_ARM && RTE_ARCH_32). Matching flags for other architectures are: RTE_ARCH_X86 | +----RTE_ARCH_32 | | | +----RTE_ARCH_I686 | | | +----RTE_ARCH_X86_X32 | +----RTE_ARCH_64 | +----RTE_ARCH_X86_64 RTE_ARCH_PPC_64 ---- RTE_ARCH_64 Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com> |
||
---|---|---|
.. | ||
arm64_armada_linux_gcc | ||
arm64_armv8_linux_gcc | ||
arm64_bluefield_linux_gcc | ||
arm64_dpaa_linux_gcc | ||
arm64_emag_linux_gcc | ||
arm64_n1sdp_linux_gcc | ||
arm64_octeontx2_linux_gcc | ||
arm64_stingray_linux_gcc | ||
arm64_thunderx2_linux_gcc | ||
arm64_thunderx_linux_gcc | ||
armv8_machine.py | ||
meson.build |