From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0084.outbound.protection.outlook.com [104.47.34.84]) by dpdk.org (Postfix) with ESMTP id 48967108F for ; Wed, 18 Jan 2017 02:22:16 +0100 (CET) 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=qrZy2FuXb1N9qroOlAvQL8xe/F5MgN5HrOYSUL0SYm4=; b=n33FE8DOCEnrN76YfWrMJ6ZoAjPWBx+TqQTuT5FC45ZGvjKFhe4H//zZ2y5mm4Wkt9G25jftjBVO3MY2xxWJkLeQrUg2RmCClvJ/b93dHT87FzM4TfIBh8T3Scis0Yi/BLerxdA/dLLeDkBBgwBe4DQH/Rq0S/Cu04G4PKnAYWI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from jerin.caveonetworks.com (111.93.218.67) by BY1PR0701MB1721.namprd07.prod.outlook.com (10.162.111.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.12; Wed, 18 Jan 2017 01:22:11 +0000 From: Jerin Jacob To: CC: , , , , , , Jerin Jacob Date: Wed, 18 Jan 2017 06:51:13 +0530 Message-ID: <1484702502-25451-1-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1484637244-7548-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1484637244-7548-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MA1PR01CA0115.INDPRD01.PROD.OUTLOOK.COM (10.174.56.159) To BY1PR0701MB1721.namprd07.prod.outlook.com (10.162.111.140) X-MS-Office365-Filtering-Correlation-Id: 3c3d1669-1538-4134-149c-08d43f406f1d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY1PR0701MB1721; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 3:8fIOcy1gc8W1bZWAz8JyN4PZaT5mOUFAP3E/EXSfsWdacHlgpbn1pppBA9jasoDLNFOh3fuoC3YbsxStHzmHkNcKm+cIgMUR+TaaS3Fo+TvDo6byLJOJncICuayhSYubiSnzXcw7O4HKrlzpV+kPiKT9GPdG+pR+3gjH3MLy9JGO6vWz2rLQPl2KJi5iE/AAahU7RjCu7zGO2vcZBv9vN0QsTq/882/gLQ7WiCfoq0tcFtmVi6uN23PbruW3kR40kUz1gD7EEP2IEUSQMfyHvw== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 25:pLknp5BdIEC8Nz2zTuJyP52eY6tG8wnCVkel34fog0qBrxMWCDOoSyawhSmK9Gp/FLKl16RrklzBUKZjpwrqMzmvCG/LQGlk7s2hT5Ivnjf98UHbhKkz/7t3D8x7iv1N90OagBasJp+gupqFVupQSDmSty6FaBMGkCZ+epFenC4siGL1rbwnOR5F7neWnETAJAVGTXDxORCG3PGacNSn/2mhjRYIIWi4acRElRufLvgSHkE5J0oBQeJkCBGtSdKBz/DC5AqcVsKeqzzDnY0n5J6DZ6nnwHepxZEscwZ16MmYry9RBltC1zjLfcxBtnKtWRF24gxJenUOC7pgb2ZdDMOqeGZ5A8xN8fJxmM5n+cq59TtEsBgATSEhcAeHxgNIfPLVh0GFhas+OqJPJ5yE3d/J7FGwNBJvqRqSOw13oVZzcMNQ4cwYApRboAltrLR0NswhLj570s0PPlO9v+dpYak65hl5C7Kzzyy9IqTyTQ5adY3qdHxhK28DF3eUAx8xHngmAb22bal1NDhiOQgWp8XwHdt1FRIupSg5bKnNmkzTWTb0YMJn3Agq4VjQVXpwBYtoF6FA82mUq+7CVTjLumYY+TU2x/2kKO0iAucxCt3jOP5xXsnmNAw3XNwgKYht3mFfhcm6Mcj+Y8upBudin2EVTCJ6wlEco/Ir3+fOhIOMvvHH+HzmRyhy1dI71wWR6BxdtNUdfxre2Yq7XKZlbvuWetibh8FnDtENQ1S9wVZYkqTE9I4SuYrpiCJFYe/xgE93stp2roMgKS1BVNxb1aflr3gXslT6OSEY/EanPub0n7uZ9frtW5F0FNGqFaYHDnR5T0nkXKmvRabIn7konEtI1FV/xVepZXAnFVmBVoempbxTfdp6prTmNJ+FpOpjPuiYBrEsKUV8I4RgYighhQ== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 31:4CyzU+6h/0ya15XM4LoTeRCSEGax4dzuGWBSftLDpVePT2vUuJkUUsCtGAYE/97BWuwunQ5NBBKKmKuovmTAa0KX2OADYDv9/itJDc/6y4rSOoqH3l7D7oON1NOLzD+m+95tMyigqikPLNFtZSuxaQjh/Ev2wpFgtv5AbswAioIyOsXSw+31dZbccCq92RtY+Vcz6reZSrH4Um10ondEQ8/KTm/2WkidHBCfEDksBtJSg8J7taqox76LizkjhvMe1srhaB+fxlaa2VoT+6Vu7WnZxHUX+n1wO9myfhtg9LY=; 20:Tnc27O40OodroRnZPDr3OTKYMu6dHxYEXiW+TJj9Pc1Zb5hutQo+EW+rOLkmmccFG0MDADy65nqg8gRb/HtZJ072tFE3/mJ8gRCQrFD1x8YYRDWBHUtG+f/N4AimJwLYQWAprKMZEhn722xNlXPUjlgn9P/ueKy9ztDeQ0GiZ8mjFZf7gApwl2KqtseRSc83pN6kl+r+EoGd8pDgvq6W/TZ+uT4f1YWLx6QYmt4FVHTr/lH0FX9fmGxsyYfRXJ/xgDBTiO8cuBmTilIXN/Y2NezxKxJBpuAMb0uw/ceavOpbzLOVucSnyHQcgBf/draH33udiKKFgh9F1fLTpX+UE93YqF5SFJD7hGAtbQ53YTDnLxmSWEAhCHaFAAn3LGv2XVzWurXvDSM+VPuQPntNYCi5f2Rbljf5GwzTApkm7Xrcn2mK3d+zWA+OtjX04cm2EobOKGUyU6894lHkWDHjbcJVfmt9mt44nNJMGEjvnp2H3HV6B4w3jHizlKRlmAvzjB2x9Caqqq4H/5cLbGyf01ZCn3lfDJmfkGhlKgow7G2Z8loeOCBO9fqp6/wlieYx0p76n9jR+59zRjtkB44SNYxQWA6/BjjKMIvfZO/MC4I= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123564025)(20161123555025)(20161123562025)(6072148); SRVR:BY1PR0701MB1721; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1721; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 4:2KPHo/pDLTWftWiLBaWkkn0SYwigkFDawGrKPMCfGDrYEFOuk5SybmCBBqvySQmKDu0kMIXROzdlqDg211Fq2chzRtnZv/WRcePbDkBxlsi7tQcgIyWAknqynceUzRIEIbyWmnfb7fDGEyqng119xb3pfi1H+iqqjiTMALNcgh9pN5M6ENYTHnaS3TF+flEzFYtNBmW/83PNDWe6+ewpe2FfUm2vwLWGcmb2te/3d73PL58RFjHNcUTe0XI4o1sZxTJXZmj/pDFrx9h+9fzKRVDh+GAI3r1LafU+kTjyHAqOPiW5oD2t2HIC1XFkxMRaTwZYAtUe+tpsSy/XwbRNR39D9cktM88WugPadlZm6CpD8v5axtOicPGJzSq4nw5HOFt6lPmX75Ay1HIIsNFVxzC83xfUCrdNMw9Zmk4/hmmbCKYHPzxVVu0AUPRaNns2KFFqKvQPMInCeZMOybo4QpZw8EypuJdbdbZ4FPmT/onySCg2/m4hhZbNY8O2B+vjr96Ja3h10S58AWvRnpsSaO9s/735Gzn+JMmSHh4VzfOWd4BXNs/YhXdnUOCvw6l54z7Gr3MMo8mdbsS/QPCVfJL9EPYg2bJ1U9l/RwjU1BtHWiES//8JhKalkRv03Gw26skCO8IvuR0GDguFlNy5Jw== X-Forefront-PRVS: 01917B1794 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(199003)(189002)(4326007)(6506006)(50986999)(97736004)(47776003)(6306002)(107886002)(25786008)(189998001)(54906002)(66066001)(92566002)(101416001)(38730400001)(81156014)(81166006)(6486002)(2906002)(42186005)(53936002)(1720100001)(50226002)(8676002)(2351001)(68736007)(305945005)(53416004)(3846002)(50466002)(105586002)(33646002)(6116002)(4001430100002)(5660300001)(6512007)(48376002)(69596002)(76176999)(42882006)(5003940100001)(5009440100003)(36756003)(7736002)(110136003)(6916009)(106356001)(2950100002)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1721; H:jerin.caveonetworks.com; 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; BY1PR0701MB1721; 23:+59F4AsSMw4i5gKH91o9V4vPHHnhIMisoQJxtXf?= =?us-ascii?Q?V/tvuHnldG13u/fOfi9if3B/TPQr6GW2UwuwSJSKmxt9YoEempG+ELZA+ml8?= =?us-ascii?Q?o70xSG6zRmq5XJ39qV+BP/DN0OUmjhmGhc8k4nEfJSQUc9yxkshDmX/FlELV?= =?us-ascii?Q?JErzrRUx9sAvPVDY4hx09rpFrcO4iP5Jq11IXJkGxsvIZxAty6z5weKTSojI?= =?us-ascii?Q?HOUo5ly3sOvJaF8LLWzECVFoQyfauwTx+bopIeDYfojObvzohV3+I0Mvccss?= =?us-ascii?Q?5r2cN0r/2CFRH/x5bC3Z73sLeN+MM2XaIKrRn4bgisLsO+050Y2KwwhHK1ow?= =?us-ascii?Q?KEDiuU5XV/s4HM/L8wCH/V/Ou5pHduM/x7Vdb1C/T+YC9DwENfZ/MLbm+R10?= =?us-ascii?Q?GEiYHlmUibqxy8e7OH3MuTfW2q6xTnT82agh1aCUI9s/d2UZL2zNdm0GIIfL?= =?us-ascii?Q?9dOO97R8q2WfWxpd0n8MX1VHvlilRr4Jdnzqw51pAkzhOlsYW84FF7Z4Xx50?= =?us-ascii?Q?mVIlv3/purUD4ltwBkb8GxzK4TV6Wr85C9UkCfD9+hAQM/22GYiiUOOvRt4w?= =?us-ascii?Q?Ch59gGNBJ7SEjpQ1O238EjJaZwSu28i87M+Z+o9FpBv8pnD1FEcmQ/5mSYF3?= =?us-ascii?Q?DGBrdwUG4X2DiLTJo2GF9DEWvlvFtyErVh9GjzoBPrVv/z1AwmaC68fIaG69?= =?us-ascii?Q?wlLl4yJ99UKRSK5nZgjHaDUCW/CSDkegi0+73ShltBRbAb8pfnuoGZJzvSqj?= =?us-ascii?Q?iMg2a4mGg66LOh0foyMq/UNgD0UShZgPzlgcHk91GT1VUfjSFGDeo5Z/Pdb6?= =?us-ascii?Q?26aE8NOrg6v8tv2yqBvqdxYqEcz+XCOasDDUm3ruMKLiUS44FX7SA1HBqsV5?= =?us-ascii?Q?nDhcKhCaf4cJkkRo6JYo0kd2eF2ZqfXVpSbgpOLq+tTHkyqW16SGRGhJdbs6?= =?us-ascii?Q?94sM5ocK3/PZEWA0NdRXlmx7rd43hr07LTDq36EK7R91CWQ0kwaLO+Ub0yO8?= =?us-ascii?Q?7cKAg7xqyVw6uG9OOp7LJwG6s9Lbc3B2LpjxQvnzvHcL5gEsvTN+hRSMMJjf?= =?us-ascii?Q?g8gfbUt2KUDTWZjRaCNoSLYkchiSJdvYbRrd+w0XD8GsqGEc5i6Sk4S3kZWW?= =?us-ascii?Q?vZbyNsA2rOPINPWeMFP2fSaFjbKB0BQYYwM3TPgJKYmdi+xnJRZvN4lerLRZ?= =?us-ascii?Q?bGy95cv6dMQm/cWFXpbJbZlIETEjQZYGqMf3mNM33O1ObwC6/HIQ3YPH3NLs?= =?us-ascii?Q?56HymChEPQnZkygsH3aSJk3HAIbf71NQ5OfYKA6Fh747s+2tCvmjY3FUZ237?= =?us-ascii?Q?3aFoSOftP/p6lhexcbT4XagY=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 6:a2L0x9/DU87QoVLN8e64R5uhV6wU6Dz9rAe3zyoytzmw9rUWTYFy2j/EXPi4+UC1Exl8pQ39+18EiAX7lTLR6OLt1whTKpGqURi8u1nYLaLAZECYv75vq0bQABC5E5Clze58CgR5E5t10RGkWXg+MteEcd0h7pWB/NARZxJFXqlYQwD2hh01tsrSO//XmOtIE93VYU0XtU+w77Z/Nd0s/JJRhygcM/ZKLLIoktOHyY+dIAUE1vz1lqsmC0hV3GMLp/sG1adqa3F6jk4mZV6w8ovo41Mw1TE4EQf7pmCk9GCC0uGd/aIoAqC483j/FTpcVPbt9vzbBhE4npTJUHcfRhDFT59Sfp5jwqcZx8hGRbzOeRPdaJgdpnmx2IXF2HeUKep6P4ISWl3j1h8fmOYmgm0J1dhDAQpRYBixvoiVamU=; 5:u1/vGOVUxdxveeZriARnS+6K6uzApVAu1iwMwFeBlc0KKTZSYEpkcS8tnzYxo3oxOJBcmxFvn42ZkCqUF5UYCMJZLDXyAj7xIy/ZU6sjVvaPA76VFXIYWXv/myZg4+RHpmk6jpJP5oJkZCk7CzXIGekzhcDumNu3kcSJvrY0ZwM=; 24:bK7o+wYhDTHi3QncrnMp9V4uF4efohXmOdxiuw8QkHG7IwPMIgSKek1eKwlndWgRr+vRHfrGDP+BvnLS3MQEwNB4VGyCE4dqYTmD/CVzg4w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 7:GjRPZSevcTHgG9A9rIiF8k4R/zo3KOmgqUZIVkYbMyeoQbsHa6ue1Jmcqnt8dPMKgnaGZFTacgpKOUPSlgfpAPX8YI9UAeQYPwBNDI3SarPM+ObfbOMPj+qXH+Br7naUe/MlpvvMKrwGTGb/NfevCssn7xnEY2PB3swmf+OCPeDrfHAgASwfjs6nuO3KAiXc2lrk/K3Fx1Pge93XZqVFjNYIPEUY4MhS2qPBAnoyUtApHN8E3SllvVl2kAy4bafNo4armBMUCBlYROCRhjzFQtAdtKmgSpgpgSssxkEJ8IJc6pS/DQKevT7kSBMaQUoYZIoxFYMmCAlLAgNmiJ/zdLHkx7BV3bDMhFSCHJMKIXAPqMIBtpfRAozsKTVbZTTg0E2OZNAJ5qqK50p2avO8fDZlFtSyOSe+z4irepWYy3L1UfOEcdmlNzwe6AkIgeDr7DYUmGsV9xq8BXM7wgGhUw== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2017 01:22:11.3353 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1721 Subject: [dpdk-dev] [PATCH v5 00/29] introduce I/O device memory read/write operations 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: , X-List-Received-Date: Wed, 18 Jan 2017 01:22:16 -0000 v5: 1) net/ena: removed intermediate readl/writel implementation and implemented ENA_REG_READ32/ENA_REG_WRITE32 as rte_read_relaxed/ rte_write32_relaxed(Jan Medala) 2) Rebased to dpdk.org master 3) Created a temporary branch in public repo to share changes for easy testing repo: https://github.com/jerinjacobk/dpdk.git branch: rte_io_v5 v4: 1) Changed rte_[read/write]8/16/32/64_[relaxed] definition to inline function from macros 2) net/bnxt: removed duplicate "*(volatile uint32_t *)bar = 0" v3: 1) Changed I40E_PCI_REG_WRITE to I40E_PCI_REG_WRITE_RELAXED in fastpath i40e_rx_alloc_bufs function(Tiwei) 2) Changed rte_?wb to rte_*wb in the git commit log of "eal/arm64: change barrier definitions to macros"(Jianbo) 3) Re-based to latest dpdk master(Jan 12) v2: 1) Changed rte_[read/write]b/w/l/q_[relaxed] to rte_[read/write]8/16/32/64_[relaxed](Yuanhan) 2) Changed rte_?mb to macros for arm64(Jianbo) 3) rte_wmb() followed by rte_write* changed to rte_wmb() followed by relaxed version(rte_write_relaxed) in _fast_ path to avoid an extra memory barrier for arm64 in fast path(Jianbo) 3) Replaced virtio io_read*/io_write* with rte_read*/rte_write*(Yuanhan) Based on the discussion in the below-mentioned thread, http://dev.dpdk.narkive.com/DpIRqDuy/dpdk-dev-patch-v2-i40e-fix-eth-i40e-dev-init-sequence-on-thunderx This patchset introduces 8-bit, 16-bit, 32bit, 64bit I/O device memory read/write operations along with the relaxed versions. The weakly-ordered machine like ARM needs additional I/O barrier for device memory read/write access over PCI bus. By introducing the EAL abstraction for I/O device memory read/write access, The drivers can access I/O device memory in architecture-agnostic manner. The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access. This patch-set split into three functional set: patch-set 1-9: Introduce I/O device memory barrier eal abstraction and implement it for all the architectures. patch-set 10-13: Introduce I/O device memory read/write operations Earl abstraction and implement it for all the architectures using previous I/O device memory barrier. patchset 14-28: Replace the raw readl/writel in the drivers with new rte_read[8/16/32/64], rte_write[8/16/32/64] eal abstraction Note: 1) We couldn't test the patch on all the Hardwares due to unavailability. Appreciate the feedback from ARCH and PMD maintainers. 2) patch 13/28 has false positive check patch error with ASM syntax ERROR:BRACKET_SPACE: space prohibited before open square bracket '[' #92: FILE: lib/librte_eal/common/include/arch/arm/rte_io_64.h:54: + : [val] "=r" (val) Jerin Jacob (16): eal: introduce I/O device memory barriers eal/x86: define I/O device memory barriers for IA eal/tile: define I/O device memory barriers for tile eal/ppc64: define I/O device memory barriers for ppc64 eal/arm: separate smp barrier definition for ARMv7 and ARMv8 eal/armv7: define I/O device memory barriers for ARMv7 eal/arm64: fix memory barrier definition for arm64 eal/arm64: define smp barrier definition for arm64 eal/arm64: define I/O device memory barriers for arm64 eal: introduce I/O device memory read/write operations eal: generic implementation for I/O device read/write access eal: let all architectures use generic I/O implementation eal/arm64: override I/O device read/write access for arm64 eal/arm64: change barrier definitions to macros net/ena: use eal I/O device memory read/write API net/thunderx: use eal I/O device memory read/write API Santosh Shukla (13): crypto/qat: use eal I/O device memory read/write API net/bnxt: use eal I/O device memory read/write API net/bnx2x: use eal I/O device memory read/write API net/cxgbe: use eal I/O device memory read/write API net/e1000: use eal I/O device memory read/write API net/enic: use eal I/O device memory read/write API net/fm10k: use eal I/O device memory read/write API net/i40e: use eal I/O device memory read/write API net/ixgbe: use eal I/O device memory read/write API net/nfp: use eal I/O device memory read/write API net/qede: use eal I/O device memory read/write API net/virtio: use eal I/O device memory read/write API net/vmxnet3: use eal I/O device memory read/write API doc/api/doxy-api-index.md | 3 +- .../qat/qat_adf/adf_transport_access_macros.h | 11 +- drivers/net/bnx2x/bnx2x.h | 26 +- drivers/net/bnxt/bnxt_cpr.h | 13 +- drivers/net/bnxt/bnxt_hwrm.c | 8 +- drivers/net/bnxt/bnxt_txr.h | 6 +- drivers/net/cxgbe/base/adapter.h | 34 +- drivers/net/cxgbe/cxgbe_compat.h | 8 +- drivers/net/cxgbe/sge.c | 10 +- drivers/net/e1000/base/e1000_osdep.h | 18 +- drivers/net/e1000/em_rxtx.c | 2 +- drivers/net/e1000/igb_rxtx.c | 2 +- drivers/net/ena/base/ena_plat_dpdk.h | 15 +- drivers/net/enic/enic_compat.h | 27 +- drivers/net/enic/enic_rxtx.c | 9 +- drivers/net/fm10k/base/fm10k_osdep.h | 17 +- drivers/net/i40e/base/i40e_osdep.h | 10 +- drivers/net/i40e/i40e_rxtx.c | 6 +- drivers/net/ixgbe/base/ixgbe_osdep.h | 11 +- drivers/net/ixgbe/ixgbe_rxtx.c | 13 +- drivers/net/nfp/nfp_net_pmd.h | 9 +- drivers/net/qede/base/bcm_osal.h | 20 +- drivers/net/qede/base/ecore_int_api.h | 28 +- drivers/net/qede/base/ecore_spq.c | 3 +- drivers/net/qede/qede_rxtx.c | 2 +- drivers/net/thunderx/base/nicvf_plat.h | 36 +- drivers/net/virtio/virtio_pci.c | 103 ++---- drivers/net/vmxnet3/vmxnet3_ethdev.h | 8 +- lib/librte_eal/common/Makefile | 3 +- .../common/include/arch/arm/rte_atomic.h | 6 - .../common/include/arch/arm/rte_atomic_32.h | 12 + .../common/include/arch/arm/rte_atomic_64.h | 57 ++- lib/librte_eal/common/include/arch/arm/rte_io.h | 51 +++ lib/librte_eal/common/include/arch/arm/rte_io_64.h | 199 +++++++++++ .../common/include/arch/ppc_64/rte_atomic.h | 6 + lib/librte_eal/common/include/arch/ppc_64/rte_io.h | 47 +++ .../common/include/arch/tile/rte_atomic.h | 6 + lib/librte_eal/common/include/arch/tile/rte_io.h | 47 +++ .../common/include/arch/x86/rte_atomic.h | 6 + lib/librte_eal/common/include/arch/x86/rte_io.h | 47 +++ lib/librte_eal/common/include/generic/rte_atomic.h | 27 ++ lib/librte_eal/common/include/generic/rte_io.h | 381 +++++++++++++++++++++ 42 files changed, 1081 insertions(+), 272 deletions(-) create mode 100644 lib/librte_eal/common/include/arch/arm/rte_io.h create mode 100644 lib/librte_eal/common/include/arch/arm/rte_io_64.h create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_io.h create mode 100644 lib/librte_eal/common/include/arch/tile/rte_io.h create mode 100644 lib/librte_eal/common/include/arch/x86/rte_io.h create mode 100644 lib/librte_eal/common/include/generic/rte_io.h -- 2.5.5