From patchwork Mon May 9 11:59:58 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Holmes X-Patchwork-Id: 67343 Delivered-To: patch@linaro.org Received: by 10.140.92.199 with SMTP id b65csp1557339qge; Mon, 9 May 2016 05:04:54 -0700 (PDT) X-Received: by 10.107.156.203 with SMTP id f194mr35922236ioe.112.1462795494665; Mon, 09 May 2016 05:04:54 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id j14si25883269igd.32.2016.05.09.05.04.54; Mon, 09 May 2016 05:04:54 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 1F0BC61657; Mon, 9 May 2016 12:04:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 642B8616C2; Mon, 9 May 2016 12:04:40 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 5B1B861653; Mon, 9 May 2016 12:02:18 +0000 (UTC) Received: from mail-qg0-f52.google.com (mail-qg0-f52.google.com [209.85.192.52]) by lists.linaro.org (Postfix) with ESMTPS id 91F5161611 for ; Mon, 9 May 2016 12:00:13 +0000 (UTC) Received: by mail-qg0-f52.google.com with SMTP id f74so86786340qge.2 for ; Mon, 09 May 2016 05:00:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Ru3OQIhcPbnVxHDIU+klcr7jx4I22qiLEMOUACiYnI4=; b=EtZfZGXNhkBUjyTD4LclPIX6skE4fHUzLhCNHULKb8D2TznxeoBBFt9I0NIr1loLHU 9+1FVVdKuwmMdCy9Tx+NtptXWxUqZgFKgISGkPMyMd/VfE3leA1l8sSobyK3fiNe+Xg0 Py7AAcLxtMmjHZxdu51iJ/CL3H+s/nEA0muwstMjh1abjQ2CRjrJWr/WXR+Kh24a6eNV kff1a1JdZpeKqCPdY1nBTR6zEdq0qn5qQmI2yEcoqfDOyFxLrnpGab8sA9FJkxPYhEVO 60DaoydG1KHWkH2kCGUCSiLU8PmAtHdOFNtV+JtoA6I/qsACcRSXJBT35+spAq3QlTLd tXkQ== X-Gm-Message-State: AOPr4FWag29XHgi9EE4X48qAcvrZR8cG6oS9o3mk8LElu4eaE9klO/NdaUYWISvxxBOBEsPBkog= X-Received: by 10.140.227.199 with SMTP id x190mr35681603qhb.15.1462795213205; Mon, 09 May 2016 05:00:13 -0700 (PDT) Received: from localhost.localdomain (c-98-221-136-245.hsd1.nj.comcast.net. [98.221.136.245]) by smtp.gmail.com with ESMTPSA id x107sm11290402qgx.6.2016.05.09.05.00.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 09 May 2016 05:00:12 -0700 (PDT) From: Mike Holmes To: lng-odp@lists.linaro.org Date: Mon, 9 May 2016 07:59:58 -0400 Message-Id: <1462795198-13050-1-git-send-email-mike.holmes@linaro.org> X-Mailer: git-send-email 2.7.4 X-Topics: Architecture patch Subject: [lng-odp] [PATCH] linux-generic: correctly set arch as undefined X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" arch is defined as an architecture flag so that optimisations or necessary differences can be accommodated. When we are unable to determine the architecture it is incorrect to assign it the value of an operating system. Instead lets label it correctly as a default and add an error to the user when an unknown arch is encountered. Signed-off-by: Mike Holmes --- configure.ac | 25 ++++++++++++++++------ platform/linux-generic/Makefile.am | 17 +++++++++------ platform/linux-generic/Makefile.inc | 4 ++-- platform/linux-generic/arch/arm/odp/api/cpu_arch.h | 1 + platform/linux-generic/arch/arm/odp_cpu_arch.c | 1 + .../linux-generic/arch/arm/odp_sysinfo_parse.c | 1 + .../arch/{linux => default}/odp/api/cpu_arch.h | 0 .../arch/{linux => default}/odp_cpu_arch.c | 0 .../arch/{linux => default}/odp_sysinfo_parse.c | 0 platform/linux-generic/arch/powerpc/odp_cpu_arch.c | 2 +- 10 files changed, 34 insertions(+), 17 deletions(-) create mode 120000 platform/linux-generic/arch/arm/odp/api/cpu_arch.h create mode 120000 platform/linux-generic/arch/arm/odp_cpu_arch.c create mode 120000 platform/linux-generic/arch/arm/odp_sysinfo_parse.c rename platform/linux-generic/arch/{linux => default}/odp/api/cpu_arch.h (100%) rename platform/linux-generic/arch/{linux => default}/odp_cpu_arch.c (100%) rename platform/linux-generic/arch/{linux => default}/odp_sysinfo_parse.c (100%) diff --git a/configure.ac b/configure.ac index 5e7e380..3ea33ea 100644 --- a/configure.ac +++ b/configure.ac @@ -59,13 +59,24 @@ AX_VALGRIND_CHECK # Which architecture optimizations will we use ########################################################################## AS_CASE([$host], - [x86*], [ARCH=x86], - [i686*], [ARCH=x86], - [mips64*], [ARCH=mips64], - [powerpc*], [ARCH=powerpc], - [ARCH=linux] + [x86*], [ARCH_DIR=x86], + [i686*], [ARCH_DIR=x86], + [mips64*], [ARCH_DIR=mips64], + [powerpc*], [ARCH_DIR=powerpc], + [aarch64*], [ARCH_DIR=arm], + [arm*], [ARCH_DIR=arm], + [ARCH_DIR=undefined] ) -AC_SUBST([ARCH]) +AC_SUBST([ARCH_DIR]) + +########################################################################## +# Warn on the defaults if arch is undefined +########################################################################## +if test "${ARCH_DIR}" == "undefined"; +then + echo "ARCH_DIR is undefined, please add your ARCH_DIR based on host=${host}" + exit 1 +fi ########################################################################## # Set correct pkgconfig version @@ -226,7 +237,7 @@ AC_MSG_RESULT([ Library version: ${ODP_LIBSO_VERSION} - arch ${ARCH} + ARCH_DIR ${ARCH_DIR} with_platform: ${with_platform} prefix: ${prefix} sysconfdir: ${sysconfdir} diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index b3e0d28..5081e51 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -58,7 +58,7 @@ odpapiinclude_HEADERS = \ $(srcdir)/include/odp/api/version.h \ $(srcdir)/include/odp/api/visibility_begin.h \ $(srcdir)/include/odp/api/visibility_end.h \ - $(srcdir)/arch/@ARCH@/odp/api/cpu_arch.h + $(srcdir)/arch/@ARCH_DIR@/odp/api/cpu_arch.h odpapiplatincludedir= $(includedir)/odp/api/plat odpapiplatinclude_HEADERS = \ @@ -175,13 +175,13 @@ __LIB__libodp_linux_la_SOURCES = \ odp_traffic_mngr.c \ odp_version.c \ odp_weak.c \ - arch/@ARCH@/odp_cpu_arch.c \ - arch/@ARCH@/odp_sysinfo_parse.c + arch/@ARCH_DIR@/odp_cpu_arch.c \ + arch/@ARCH_DIR@/odp_sysinfo_parse.c EXTRA_DIST = \ - arch/linux/odp/api/cpu_arch.h \ - arch/linux/odp_cpu_arch.c \ - arch/linux/odp_sysinfo_parse.c \ + arch/default/odp/api/cpu_arch.h \ + arch/default/odp_cpu_arch.c \ + arch/default/odp_sysinfo_parse.c \ arch/mips64/odp/api/cpu_arch.h \ arch/mips64/odp_cpu_arch.c \ arch/mips64/odp_sysinfo_parse.c \ @@ -190,7 +190,10 @@ EXTRA_DIST = \ arch/powerpc/odp_sysinfo_parse.c \ arch/x86/odp/api/cpu_arch.h \ arch/x86/odp_cpu_arch.c \ - arch/x86/odp_sysinfo_parse.c + arch/x86/odp_sysinfo_parse.c \ + arch/arm/odp/api/cpu_arch.h \ + arch/arm/odp_cpu_arch.c \ + arch/arm/odp_sysinfo_parse.c if HAVE_PCAP __LIB__libodp_linux_la_SOURCES += pktio/pcap.c diff --git a/platform/linux-generic/Makefile.inc b/platform/linux-generic/Makefile.inc index 048c8bb..876519b 100644 --- a/platform/linux-generic/Makefile.inc +++ b/platform/linux-generic/Makefile.inc @@ -1,2 +1,2 @@ -AM_CFLAGS += -I$(top_srcdir)/platform/$(with_platform)/arch/$(ARCH) -AM_CXXFLAGS += -I$(top_srcdir)/platform/$(with_platform)/arch/$(ARCH) +AM_CFLAGS += -I$(top_srcdir)/platform/$(with_platform)/arch/$(ARCH_DIR) +AM_CXXFLAGS += -I$(top_srcdir)/platform/$(with_platform)/arch/$(ARCH_DIR) diff --git a/platform/linux-generic/arch/arm/odp/api/cpu_arch.h b/platform/linux-generic/arch/arm/odp/api/cpu_arch.h new file mode 120000 index 0000000..e86e132 --- /dev/null +++ b/platform/linux-generic/arch/arm/odp/api/cpu_arch.h @@ -0,0 +1 @@ +../../../default/odp/api/cpu_arch.h \ No newline at end of file diff --git a/platform/linux-generic/arch/arm/odp_cpu_arch.c b/platform/linux-generic/arch/arm/odp_cpu_arch.c new file mode 120000 index 0000000..deebc47 --- /dev/null +++ b/platform/linux-generic/arch/arm/odp_cpu_arch.c @@ -0,0 +1 @@ +../default/odp_cpu_arch.c \ No newline at end of file diff --git a/platform/linux-generic/arch/arm/odp_sysinfo_parse.c b/platform/linux-generic/arch/arm/odp_sysinfo_parse.c new file mode 120000 index 0000000..39962b8 --- /dev/null +++ b/platform/linux-generic/arch/arm/odp_sysinfo_parse.c @@ -0,0 +1 @@ +../default/odp_sysinfo_parse.c \ No newline at end of file diff --git a/platform/linux-generic/arch/linux/odp/api/cpu_arch.h b/platform/linux-generic/arch/default/odp/api/cpu_arch.h similarity index 100% rename from platform/linux-generic/arch/linux/odp/api/cpu_arch.h rename to platform/linux-generic/arch/default/odp/api/cpu_arch.h diff --git a/platform/linux-generic/arch/linux/odp_cpu_arch.c b/platform/linux-generic/arch/default/odp_cpu_arch.c similarity index 100% rename from platform/linux-generic/arch/linux/odp_cpu_arch.c rename to platform/linux-generic/arch/default/odp_cpu_arch.c diff --git a/platform/linux-generic/arch/linux/odp_sysinfo_parse.c b/platform/linux-generic/arch/default/odp_sysinfo_parse.c similarity index 100% rename from platform/linux-generic/arch/linux/odp_sysinfo_parse.c rename to platform/linux-generic/arch/default/odp_sysinfo_parse.c diff --git a/platform/linux-generic/arch/powerpc/odp_cpu_arch.c b/platform/linux-generic/arch/powerpc/odp_cpu_arch.c index c5fe400..deebc47 120000 --- a/platform/linux-generic/arch/powerpc/odp_cpu_arch.c +++ b/platform/linux-generic/arch/powerpc/odp_cpu_arch.c @@ -1 +1 @@ -../linux/odp_cpu_arch.c \ No newline at end of file +../default/odp_cpu_arch.c \ No newline at end of file