From patchwork Fri Oct 6 11:03:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 29801 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 380191B2CF; Fri, 6 Oct 2017 13:04:46 +0200 (CEST) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0055.outbound.protection.outlook.com [104.47.38.55]) by dpdk.org (Postfix) with ESMTP id 452701B2CF for ; Fri, 6 Oct 2017 13:04:44 +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=uGcBdUqJLBb2YYnqtyRThexpU4qmw6wsOKulipuBOqc=; b=n94fTSl/VGqbgS+GLQ1iE+Vu/3GCL6cMRCkkuMIsHN7Snb3P/Y3uarsOC0wfTlODHQyQe6+hpXza7osqE6aYQoy5+5DyTbeIWZrAmE2uS9jJcub4eFboajSv0OXLwhxgWX9dWeazAOGP6CxymaOrxORN2MSN8HzSmWKSGsLBwwg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from localhost.localdomain (111.93.218.67) by CY4PR07MB3094.namprd07.prod.outlook.com (10.172.115.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Fri, 6 Oct 2017 11:04:37 +0000 From: Santosh Shukla To: olivier.matz@6wind.com, dev@dpdk.org Cc: 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: Fri, 6 Oct 2017 16:33:42 +0530 Message-Id: <20171006110346.13247-6-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171006110346.13247-1-santosh.shukla@caviumnetworks.com> References: <20170920112356.17629-1-santosh.shukla@caviumnetworks.com> <20171006110346.13247-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: CY4PR1201CA0022.namprd12.prod.outlook.com (10.172.75.32) To CY4PR07MB3094.namprd07.prod.outlook.com (10.172.115.8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a4b3f6db-b2ba-41d9-c92a-08d50caa0bb9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:CY4PR07MB3094; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094; 3:dxIUiTmrPrmng1HBBdDgLalY5E90P43rDDNry+2U/I9g5UyhZjLZdKGPEYzFevF2yJAcn3dC2gNaATKF8JFnFbsJKvabqWXSvAFaOXgObN3smsAF8UPn51na4mpq9HMjXNVWNnaeMu4VmP0Aa8jpseEV5ZATTtktBn4caadwG+bA3wteZEQxWT4WPuK1Fleeh/XPu5OsIPabj3r+7wMtlQW/+u3+5MaNHfqyZHunBT0Uwj9NsMWz0YMO5jacOLM0; 25:VgcBPsMtMWnn7kQenApUGAZDD9THbtfXDpYU6Zfm5QQjpS1mCLikrFVWjTZnGBk+l4GB8GTWqHNPK7G4XnPY6a6uJP0yGkLWgzFUNX2K3BBXc+1cM2S2ecZ8j908TNwHqboHv7BK/8cUMqU9l/9O0Bz9FB7nanw7jw35sAJyw2ZQILjFBMVgH6+rft9OlayBcTsSo1sSjhjbZdYPHbCCG/DXRuvdNNkbKNCBlTc10IzHF9nbk/Y2QpAPTGbktOmGr6qqwT7Q7LZs30mFn+OB4iKcNe8UcVXRRXtVj6pzuGxh0qbr/ihvSBo9Hw44f2xMjyMWs46SzuA4Nn7EBcTgjQ==; 31:caVpA7zGdikBuge0y76XBz8U0HZ184FTMJ+OXVNXMrIZEjCfNPDV9RwMGFLZXF71uPKjdAeM/sS6lJLT7oHRr4D6k9BwJzWmTbVkUjY0j9hSslH69pFm4Mk3D0V5Y4t6O801Q83YNPXoleUOdDaYn9JlJcV2JgyKT71cTAqhHPqRjt2MJZHNVMcgGaHvg/SBJp4Hah8HweCqaADifQrN+H9hejBLSL02L3jDL7RNAO0= X-MS-TrafficTypeDiagnostic: CY4PR07MB3094: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094; 20:KyE/g661dSeofCiAx3vWGT+6Tdq5JtxzMoq/AaJ3zCYAov8INXvmSThxCcT9CMq91/+hVcnqJf5163aO0/iRUF3NWaIcW62xAOeGtHnogMclY1R77N2SIEZ8glQV3YqKoTnNT29Pg3QK7hXNvK9CF+pAvfSAKHAymCHRAkOLsa5CkkO33Ua2HtM4wNDUmliAc9epRXtI6Z6Z3YbhiJLQlS2iKZ8wDLA4PQ7Ze8W4BsCcOJ2iA0l/oGF8gYBlxM24FWPbi6WMz5eTjmwlE0iAjyPhj5kbJXt1Q9WBBlVrbwKtHsJ/776XahLGDPQ2MY/5kmWse7V2hFgiLZ7a8Z9TqJX5lhCXscIa8aWFxmx8BRZFSTTuEYSxE8liflAuMQVhniP4QP3WYFHPndmBmNMRAjQ2ZCaGGpy3BhxEQ5X5KHe05ql3bt80CSF36VPYvJCSgDuV1yCdgGIRpRjskXkhBCZsCt0HozlwxUWA/LVQUIyueJBNg34hVcDQcvFkOOQFTmvGmd2A9xF2rPrmWBD8uNtwOu51fqHuyN3hPtuHOj8pDZRpRx2GviwK36SDudZvr8oINIWLVhQvmiy+fPUWBJHV9FZIUKt4zFiMU2zyDh8=; 4:SxhOCmW3Hdu+R4L4lhBY901T91sI3uxjs2CqCIFhRDeyuqV0MFJz8GBVvpGdy0P1GfPVYF6fIMhdNEmLi5p83USXteFAUU/Z9HxzKI9K+awLTx96fcZj2ksttYzJcWei2BfiDgU9JDMf75LU5aKraGFtzJg2aSWCFnDAr6ZwjatN1mFLekmWR1xwVZV4+5DB6vA1OnBsG4zWZKnRiEKYXcWyrDXK+x8w+KZg1AFNepOiszq++mo5lCvUM4xq6pZ+yLdR6O6qm4Ecu31Ph7IJ2Ju+pdqXCavAuae5hyvYDFo= X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); 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)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(6041248)(20161123555025)(20161123564025)(20161123560025)(20161123558100)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR07MB3094; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR07MB3094; X-Forefront-PRVS: 0452022BE1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(346002)(376002)(189002)(199003)(97736004)(2950100002)(5660300001)(7416002)(105586002)(6512007)(53936002)(106356001)(478600001)(6666003)(50226002)(189998001)(8936002)(25786009)(81166006)(81156014)(8676002)(107886003)(2906002)(5003940100001)(6486002)(76176999)(305945005)(8656003)(50466002)(36756003)(4326008)(1076002)(68736007)(48376002)(7736002)(72206003)(3846002)(6506006)(316002)(33646002)(16526018)(5009440100003)(101416001)(66066001)(6116002)(47776003)(16586007)(50986999)(42882006); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3094; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A: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; CY4PR07MB3094; 23:9rpvqHLHaHhWC3nje6KRvqBMyKRE6kAwBIS1QaIsp?= DA7yGv0zC1WypAAxWhvPD2LZggmxl9SKjixQ0tXJ6vsDx2y/a4ytNbTxASY3TlDTmd8BJAT5KvB/+iTTJaJwKMODMYvCxt09kEKN+8ClEwmEXzig1hxlxTySRgxRDQxRq/HjJPZp2EaibC5Z19JkVE33Ps5LtEh30bBC1uZT6u63HsbCyNWAWFgIzl13tJ30Uu2ueQBZhBg80+QVEwCpOykMxx9J+AmC8J/paQAWxoRzfz7iQaXmbyjkQk3n7RLBOy4yNdYRGyNxe0a7+qS6ueC1Cl9oF6SSHZO5rUtRZlIDv0UWRwUMSNsM+xic3rfMAP3EgDxeSPehpxZ8U9bRBHUfWusXKRfqJgrvm8XonQvpvyzQmoDXqhBR+WcqnhCBWxV2sd48maJnsLiYR15IFMRBJ7wRrtojCPh8ADIOm17N5BvkMqE9+kmGMVv3l2FRBIDK68n0YRNPuZiIayVe8NehOoJL2HQQ8aKW4LxBfQ1grPP3iYMMvv+QHVjed3Wgx1U/4UVgbAtrPTvW19JLHPo/6ZF5K3jSynO6I4/bGBS5ILqZOlxXfFEWs4eUSACC2B2vBcCVqtSzkrFcO4ksy2CVVcN3Zi0b9KC0BYFxhg7A9LK8v7GSYGHBt0Dx1/x8cWHitsHiuaEan7Wk7yBGfIfibL98O0zBBZNpeJwxq7HR6KM4XPllUWNWLVAuq5vYKoeHHs0UZJaE7yiPAs6WmUOpEjA4NyqUxhoU7nXLn5doXEhC7PDFVichwO/xrKpEsc6aBmBsTqhaRQHG1SDfsBzJKqNpZmt7l2Vy82CPhtNVVdOSQ64BZGg09D76XgABFvLzi6OxlZxBNrpKIvJPd4ZHj73QpnyWVhVH0j/UB9CjZnDnSFQaNMUbbtxqpIcZXU8iNstN3DmiEJGUslMvXMQt+BqXenVzY+gkXVG+DE/6+/tkJsLy1KjVmvnUPwMIUuXwHUJ4fuWZAe2xv3db9piB1xUJ2367taipjopfAI3TmQeWor3rO8xKn+k/tsRKwsuP4kF6Ufyq9TG3Xq7BApeRPz1oZoY6+1nTksdqho1AP9wZlbCPVPm8xl3qK8Kc2gdess9KEs8L/tT6hF375gjC7zUSs9ApGp1AcrZUlCdGi2c0mqiovFXDbtxD/vsLFg= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094; 6:AXFMYHf6rfco8Q9Td6K9o8tpiIM34RuWZGAiQvLnvK8R9Nc5US+vPk8Ipq+CG+ogM9kRr+vgOTauoqD3FFqyzJHOXun+KG9tGLRSPP/2Go6qv6tzHRSXemr7ZStrDaeSiC4dY+XOPT3D5v8mJd/lFC1RW+5kr77dIMVf9AZxYd3XKM1MSnhaBXIpmWVqHfhUrWN7z5dUZqCqb6D/Zf7NocWabgpBhDQJ3PsDSodvjHBItRuiLAc/HzUosnSpyd7puN2+1v0Z15kNy8frBIT30N9UkXIPMSutF+pPXNwhTMz8Mfhr7Q3o2QOp0OTVK1XyTNkoYzcZySRSbGTiW/7Rvw==; 5:BBsbwwdahqzdMLiAeLm4HwO2dQ3DkRteAWw+dia7fZVBuftZz1vlp7rESPSW2xYgj7iKBFSzG7aO4aNXGkHd8/HfumQbk5DZI0CCxtBi8mU6zMaCA5fqUa1Pc5nuZRfhtH1mUDjJP+fvawY6KsKdxg==; 24:SrPH8JOD34xCIjM1+0DyLzcXQ3/WPZWMGbKHx5t1fLKNLpt8s/6YwqQZZtiq6Tz1oRJggLfgkUSUIbIBDjP+LJRXhxPRR/GrHBd2xC1i7HU=; 7:TkuQfSxqsd53pEyK0Qv6PDzDcDEhysFDRTUoEbdO9BaPIhPNBcVY8Sa5wDMAgvCtEWo+p1EBEJpgA0GeDocGn+hdIOQOHHxHZhVMJMXs1RtCeejHzqgiQYb10HDUikl0OP5OGMJzNVRqyGwcy+qUUmrl1DHMlxRkShJbPmh5QLOiQfv1+psqbREGX2ysNR0/CFjS9URRzvbZaos3lNERr0RFyNbRfQSK4amxaAq9ZPw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2017 11:04:37.2554 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3094 Subject: [dpdk-dev] [PATCH v10 5/9] eal: introduce helper API for iova mode 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 Tested-by: Hemant Agrawal --- 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 559d2308e..436094d24 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); + /** * Run function before main() with low priority. * 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;