summaryrefslogtreecommitdiffstats
path: root/src/cmake/cpu.cmake
AgeCommit message (Collapse)AuthorFilesLines
2019-05-14Build packages for generic Arm architectureLijian.Zhang1-0/+2
The current aarch64 version of VPP package distro in cloud repository (https://packagecloud.io/fdio/master/ubuntu), is built on a ThunderX server, using some arch-specific options, for example, 128Byte cache line size, T=arm64-thunderx-linuxapp-gcc, RTE_MACHINE=thunderx The patch is trying to build package distro with aarch64 generic features, for both binary type targets, e.g., build/build-release, and package type targets, e.g., pkg-deb/pkg-rpm, with the generic options, e.g., 128Byte cache line size, T=arm64-armv8a-linuxapp-gcc, RTE_MACHINE=armv8a If end users want to build arch specific optimized image, TARGET_PLATFORM variable could be used, as below example, $ make build-release/pkg-deb TARGET_PLATFORM=thunderx Change-Id: If78bca8709fe83db6a95e8c26346f206bf5ea71d Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Sirshak Das <Sirshak.Das@arm.com> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
2019-02-14Add -fno-common compile optionBenoît Ganne1-1/+1
-fno-common makes sure we do not have multiple declarations of the same global symbol across compilation units. It helps debug nasty linkage bugs by guaranteeing that all reference to a global symbol use the same underlying object. It also helps avoiding benign mistakes such as declaring enum as global objects instead of types in headers (hence the minor fixes scattered across the source). Change-Id: I55c16406dc54ff8a6860238b90ca990fa6b179f1 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-01-17cmake: initial cross-compilation supportDamjan Marion1-1/+4
Change-Id: Ib9c2aba1eda08a22465441e33553b9b744c79d56 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-01Support dynamic dual/quad loop selection on aarch64Lijian Zhang1-0/+16
Currently, there are three variants available on aarch64, qdf24xx, thunderx2t99, and cortex-a72. -DCLIB_N_PREFETCHES is passed to source code to select dual/quad implementation. Besides, different compiler options are applied on these critical functions. gcc-7.3.0 reports ICE(internal compiler error) with -mtune=thunderx2t99, so -mtune=thunderx2t99 is enabled only when gcc version is greater than 7.3.0 Cavium ThunderX2, Impermenter 0x43, Part 0x0af -march=armv8-a+crc+crypto -mtune=thunderx2t99 Qualcomm Centriq 2400, Impermenter 0x51, Part 0xc00 -march=armv8.1-a+crc+crypto -mtune=qdf24xx Cortex-A72, Impermenter 0x41, Part 0xd08 -march=armv8-a+crc+crypto -mtune=cortex-a72 Change-Id: Id5649c6325c1e642d0fd42535e3908793b13e02a Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Sirshak Das <sirshak.das@arm.com> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
2018-09-12Always use 'lib' instead of 'lib64'Damjan Marion1-4/+0
It is packaging responsibility to put libs in the right place. Use of lib64 resulted in huge amount of files with hardcoded lib64. This patch simplifies things... Change-Id: Iab0dea0583e480907732c5d2379eb951a00fa9e6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-07Cavium OcteonTX: cache line fixMarco Varlese1-5/+9
According to Nitin Saxena ThunderX2 machine has 64B cache line whilst all others are 128B. According to Damjan, Nitin's previous patch broke compilation for all non-Cavium machines. This patch should make everything happy again. Change-Id: I8c5c2661f9f2f9c3e9b0965a277712f9a1eefa5f Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-09-07cmake: Fix compilation for OCTEONTxNitin Saxena1-5/+5
Change-Id: I7b7183b4603076e5afac096545d820091ee7c495 Signed-off-by: Nitin Saxena <nitin.saxena@cavium.com>
2018-09-02cmake: cache line size detectionDamjan Marion1-0/+35
Change-Id: I9a0df8d15deefdf31cfead56c96433cd7220b802 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-27cmake: fix clang build and few minor fixesDamjan Marion1-4/+4
Change-Id: If5b850c939f7a5383f9a7eff8ac41708c3428a90 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-27cmake: use lib64 for lib dirDamjan Marion1-0/+4
While not sure if this is right or not, this is what autotools do Change-Id: I01f22281302b1383b0e69c3f03e5c8f8a8961358 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-26cmake: move functions to src/cmakeDamjan Marion1-0/+44
Change-Id: Ibcb7105fa7e3c09efdce01bccd4de235fe33ea99 Signed-off-by: Damjan Marion <damarion@cisco.com>