From patchwork Mon Sep 18 10:42:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 28838 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1047B1B1A9; Mon, 18 Sep 2017 12:43:54 +0200 (CEST) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0072.outbound.protection.outlook.com [104.47.32.72]) by dpdk.org (Postfix) with ESMTP id 63C6E1B1A8 for ; Mon, 18 Sep 2017 12:43:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=LA/xf2YGZHXixrLfBl0oOTItTD7Zv3+5/2cgRrEyq70=; b=TTFMD11URApPPpWouGeEcop4C7wEFpjUJbWZH3dJgyYAJ9sN4emLhuBm0wzM6mSBHs8HuV3FG4Y7+5z9gI5/fMLJ26hQkSsSdQafhTBExJUnMGA2OFimXVOAmDfRgpCFG4mbls1BGIudh4kKGzSlnTWsahT0p4BFg9yH/xh2LzI= Received: from localhost.localdomain (14.140.2.178) by DM5PR07MB3097.namprd07.prod.outlook.com (10.172.85.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.9; Mon, 18 Sep 2017 10:43:44 +0000 From: Santosh Shukla To: dev@dpdk.org Cc: olivier.matz@6wind.com, thomas@monjalon.net, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, aconole@redhat.com, stephen@networkplumber.org, anatoly.burakov@intel.com, gaetan.rivet@6wind.com, shreyansh.jain@nxp.com, bruce.richardson@intel.com, sergio.gonzalez.monroy@intel.com, maxime.coquelin@redhat.com, Santosh Shukla Date: Mon, 18 Sep 2017 16:12:30 +0530 Message-Id: <20170918104234.9149-6-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170918104234.9149-1-santosh.shukla@caviumnetworks.com> References: <20170831032618.7120-1-santosh.shukla@caviumnetworks.com> <20170918104234.9149-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: PN1PR01CA0093.INDPRD01.PROD.OUTLOOK.COM (10.174.144.161) To DM5PR07MB3097.namprd07.prod.outlook.com (10.172.85.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f861b4ef-596e-4f70-46a9-08d4fe82266f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM5PR07MB3097; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3097; 3:A9RYR57oixz4UVVdOFrwDTAL8kd8/LnLBwCPux865CbkPH6NTL0s7FsCX/TuZ1Z3gox7CpnHadvxqwwApB9Ho3H/NyWgSXEbGzF+6D82bmWHGTIlRGYiuRXy6lW3dYQZEVu+sKPPkTFQiP8bgUq2iZ8kjO1mU/JEIGzkNBF2swo+YJ+P8Ml2RThGLPJaK1evX1NVW3MpQi/0s3EQeF1ylk0bt8I/mkm46M/mcfN7T6TpCLKPbErzj7iydceytT0z; 25:4cbrwEP6kx1XOfy2HeCNfe6AmnecwDAWCplW0KfMRb7i16g/OKdi2ipbRZxIZwezhT2W+VYPUSAY7eIa7yaoOSs+Y4g+v0dpu8IILzZwf83EC02SahPprX7fM58tMJaSHSkVFgWBHOrAMRrNYJ4KNvDIl8Tt4oGzQoQY5RfCgSWAxz8hAoaA3BJuodZii297YycOxjYAKw5cPGen6gNddXYUUlm2rvUkYUoOQhKTrtOTreAvWfedsSU/POZFjbJ/3EaU+3EHvjle1AfoU6E7Wv0kk6N4zfqQV6sFLWilXJkctygBrqyjJegN3+Q3LrVOUMM4Amb/lggzRUiy2MzdAw==; 31:OqWFJ8lgNwtbpmtBRLXzUmEq251mnUYr/zoJx92UslxLed+v5azvLMTG6ETfZvODOj5hYOhmeJSCQxtT38ManxLcw1GTx1AomfsQFUS5Z/S8I6LS1ZaDKQpOd8ZYMPuSaYkHlk+F77BRjzJQ/2BXDC4FrfV9AkFOouDaoJ11JPL+qIWTxx1vszUBt6uDHkQDzfUNM/xeh2Z4A3m01pjkKaRTP8zXg9E3uoI7Av5MCAQ= X-MS-TrafficTypeDiagnostic: DM5PR07MB3097: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3097; 20:8Vy4pPrVBZ+MNTYzTWbMUZ9qUm9BFqZsdN0tc2jU7kKBAZqT24UOQUbNyZKvSMii/Wp79b9VJb2F0uuBZWsNYC7VlDUgXwwRXnu0csjP0Ve5883KrLJGfDmnpQthNAgUQL9Y3gf3y4y1Xx2Gt5ZNXhOFSaykqcu5YcyULQPZBXBX6JAtee/ETKgD/is+7/uOD1RaiK29QjnAu4VQlni4Y89v6HCf8tqV6QLBuM2Wjf+fsAb/Dv6x9iUbywdtG0M3jDr63BpYDaTRtER1LykHC0D2w7n2ak2v54fqD006PBetbORF4uOYtWs7zeAjskRZpkSzBcqoBithJdX2Rfk3SnhhdAZRtVdu/WUjg6RU1asmXjOv2wK8BOqeAO+uWDHJdCDpg2VN92kkwZNK3fK7E2BMAWMysOcHkMQyJsBBAuz3NsWi3b5KLer5RIoJvN6KVzzIAiO4zIbs8JI+3ZlCbEh4CgnOoUJYv1v6Go/aJfHwX1azDJkBCDKSIEuR0+ENrycFJbhZFo3k5yFYcU0qLUgX+ZFTwucXu0duyHAJT5rSOxnaRCRyFtRYzTNyd/wlwOhUSbZ5eh79gupm2WfL9Vt0i+70FyeZZwVWS0xH77Y=; 4:ju12Fo3jKzJOnG6i7EGm7N0rK2JkLenRyWiuAVWCUkMQZumY7+yUcn5cjyh2E6lVu8G90DgQwC8eDZEb08w/8N7A7Br+7Oad47rV3B2Uulvi3DP7E/T0YAyWczgXFiIyj0Z9C2LNuvg/s54Wy7bvv0pTrQ+0h973shnCBN+zOC06jrJYXQ07V9dSRJRzuohm1Rdm5MleJxYO6wdZVYKHKOlkQkD5xF4KPW5lml3hCV22bVdke2lm58vDWTEZpIoo X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(93006095)(10201501046)(100000703101)(100105400095)(6041248)(20161123560025)(20161123558100)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR07MB3097; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR07MB3097; X-Forefront-PRVS: 04347F8039 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(346002)(376002)(199003)(189002)(6486002)(76176999)(6506006)(48376002)(50466002)(25786009)(5003940100001)(107886003)(110136004)(53936002)(4326008)(101416001)(97736004)(6512007)(16586007)(106356001)(105586002)(2351001)(47776003)(305945005)(189998001)(33646002)(478600001)(5660300001)(2361001)(42882006)(6916009)(6666003)(2950100002)(7416002)(36756003)(66066001)(2906002)(7736002)(81156014)(68736007)(50986999)(8656003)(81166006)(50226002)(316002)(8676002)(3846002)(5009440100003)(8936002)(16526017)(6116002)(1076002)(72206003)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3097; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR07MB3097; 23:2F+y85aqh5NUML75BcB6/XSwXpoloOHA0uwjDSf3X?= NpiLTJF7xsIOEH3Fk76gX5sv0uOjoMMp9jFfiYvvIGDXweXxUHyUla1e4E8VxELMt8CCjTPWdYDb4LVMTS6ap12DBF99uTNl7pDIC0ENmQ6bm4tY1erTVY1Hg0JbJi7r3rxtPvNTeo0wJg+ewOPp2j8e4qrS8Pz6txAA2zvbwdaGpLFOa8laIxnwciSdPfAfv6rXAhfr8n3QTHL4jzAHLl/WwZ7YitinWNCezPP0xWrPhbiC0DKHqOOFZwLogGKgDv9UFXsG2o5miOBMUGpIoBdfiVnqSwQD8n/6IaZUHk0MbohzuPbFRJ9VNbS66O6rzNZnmRRrLTQx+8wAO1z34Gpv4+mufQ1TBv6OcM+4mRo7utH0P6enAqFjVqBxVlREjjbu57Zd+ttj5gN0bjq0T/ENHv/vM06CcAgxIbWojGiJ4Xqtji/P13OLOkZ9UOEbHVOZloXdDfr2djAGUfuEVaC/Y69ZRNzD1aArqQJf54BKn+J+tOirz58slDFTPLG/tIM6BueRlrHcDkW3gnrgz+Vu9V+qv3nOuD4wX/akXTDb9ApB9Mta5nHwwV5ZxmZvX0IHXVOuYM4YGZD3GFzRw4eHS+VFT5GMrFe5CzyIZKTdh79sxEJSgA340j1Y2BD4VcBfQo+LoV10LiSkx3gYvIRzzGqMuN/U/2zLprql4UK/+7IUIa19E51Pm98nzCVNvZWZJQ21uvcJDORl/gVfwLbB5ChMGEK6otHPqWi63RAwYTQFMWXTCmbYnKv7XVmeCmc0fjhOK+6SNsHNEU6A9MEEEw+LcjsVrV06Bc8tBy57rXaIAZFIKEbvlNupZ6kdv9lktpXaI/ak1iKP41bMwBb5RJT2YZJdp/KejyaUwy2ZP5d4A2vSKCUoXm/z8B8n5tmdZvvR83A8D9FVNgriAyQuShXsadM2D047Hy9felDS5915I1x0OlhVZW1jgWV5/3t21RJDssUhKWqzGvwmXC6Na+JfxHcCrduDjocd6KaZ0SD0gNg/ei1do7SzO9w4cAgM3akVHQR63ROwKPg3olxRfD2oYLJlN6jVPhRwgLIqn+sMr0GzKaO06Bovtz2qgvT17Ru+bY7ttU1qxJbDuKjjhZ9ywkfCz4icomkSvbuHg7SrZH7K2vJzKUjivy911MnAJoxsWtMuySfuvo07ROchrSogufcJUB/3df1LDEUwK7lqzwFDiut1jS6LPZ/nQV+/jeqJHiZqmQ9if1SZoTqNs0kdGBEmjUflSj7UkJIyA== X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3097; 6:saW20pRzzBBljp4lN9RQ/4fHRiAhqVJQcQR/GZm+3s2MyoMNE1MnBmCKg6lggPPMvXwdH0LxYoldMaD2qDL/hQFDoITsYcEYiOxOlSnl+33jK6Qb1upCkl20Ysy+pCzh0dIm3KlX57V9EJkV5bb1K+Bo1XctKMkQyksPb0cKAaKe9EDpJS0ofynaA/NYzXhDRvI3sF8QQib3VRSZZ1EmdpsFKnUjLM4Hn/WzElGVcf0yDypR6WgKyXj14RmXl9kx71ys9lXK2E66o/NVK9r8jg+QTo2DG5AEeAWcTeIrKJQIondP1sxvA+tMbuoUGiZDKDJQmB5kpqc8ktZVmfxVhQ==; 5:US6apSdBDHgX9t8pMgFS4KA3+tW68q8HHjE4n4VqUFSwDCMaKa9wKUa6uy0gz51/39MUc9BLmOaGsmhaMKqLeU0/+s8rJ/Hpln6SolIasRdzJ4LILv+DJy4H3sWyVnwJK9Pmp6501tXIZprFjHBE0w==; 24:YcoiWugWay3qTFoNb3lxvxKCEwNoOYludgiSJ/FUpifAYCOlLVjhMBIrGg/UxxMD3Pj4kMNif5dzdDdCvhqF/0MuPBaDlUiJGq1B9m1TYkE=; 7:XbfuiorpjmPAymQSgEYC/ta7ihaCwNcCxZ5D+0ye+zDk2o89/QzTSKyUwfBeicqV6H6gsGiQHJXeJZZB3xUO5ykRBp0hIDrgDArhz1xchWvszv7apOBPl/6ZVg4XH8216k3q2BWs7PB2WxPgmQBuCNsIjU5aAy8qBjj0vMYgmEjOZktSaJn65iNnVio4XZSk9Upx1ERJNyC4XV11zEvryusr1OdhD5qaONZquicw32w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2017 10:43:44.1206 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3097 Subject: [dpdk-dev] [PATCH v8 5/9] eal: introduce iova mode helper api X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Introducing rte_eal_iova_mode() helper API. This API used by non-eal library for detecting iova mode. Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob Reviewed-by: Maxime Coquelin --- lib/librte_eal/bsdapp/eal/eal.c | 6 ++++++ lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 + lib/librte_eal/common/include/rte_eal.h | 12 ++++++++++++ lib/librte_eal/linuxapp/eal/eal.c | 6 ++++++ lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 + 5 files changed, 26 insertions(+) diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c index 5fa598842..07e72203f 100644 --- a/lib/librte_eal/bsdapp/eal/eal.c +++ b/lib/librte_eal/bsdapp/eal/eal.c @@ -119,6 +119,12 @@ rte_eal_get_configuration(void) return &rte_config; } +enum rte_iova_mode +rte_eal_iova_mode(void) +{ + return rte_eal_get_configuration()->iova_mode; +} + /* parse a sysfs (or other) file containing one integer value */ int eal_parse_sysfs_value(const char *filename, unsigned long *val) diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map index 3466eaf20..6bed74dff 100644 --- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map +++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map @@ -245,5 +245,6 @@ DPDK_17.11 { rte_pci_match; rte_pci_get_iommu_class; rte_bus_get_iommu_class; + rte_eal_iova_mode; } DPDK_17.08; diff --git a/lib/librte_eal/common/include/rte_eal.h b/lib/librte_eal/common/include/rte_eal.h index 0e7363d77..932dc1a96 100644 --- a/lib/librte_eal/common/include/rte_eal.h +++ b/lib/librte_eal/common/include/rte_eal.h @@ -45,6 +45,7 @@ #include #include +#include #ifdef __cplusplus extern "C" { @@ -87,6 +88,9 @@ struct rte_config { /** Primary or secondary configuration */ enum rte_proc_type_t process_type; + /** PA or VA mapping mode */ + enum rte_iova_mode iova_mode; + /** * Pointer to memory configuration, which may be shared across multiple * DPDK instances @@ -287,6 +291,14 @@ static inline int rte_gettid(void) return RTE_PER_LCORE(_thread_id); } +/** + * Get the iova mode + * + * @return + * enum rte_iova_mode value. + */ +enum rte_iova_mode rte_eal_iova_mode(void); + #define RTE_INIT(func) \ static void __attribute__((constructor, used)) func(void) diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index 48f12f44c..febbafdb3 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -128,6 +128,12 @@ rte_eal_get_configuration(void) return &rte_config; } +enum rte_iova_mode +rte_eal_iova_mode(void) +{ + return rte_eal_get_configuration()->iova_mode; +} + /* parse a sysfs (or other) file containing one integer value */ int eal_parse_sysfs_value(const char *filename, unsigned long *val) diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map index 9115aa3e9..8e49bf5fa 100644 --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map @@ -250,5 +250,6 @@ DPDK_17.11 { rte_pci_match; rte_pci_get_iommu_class; rte_bus_get_iommu_class; + rte_eal_iova_mode; } DPDK_17.08;