From patchwork Tue Dec 27 09:49:34 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 18588 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 207EB5598; Tue, 27 Dec 2016 10:52:57 +0100 (CET) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0081.outbound.protection.outlook.com [104.47.33.81]) by dpdk.org (Postfix) with ESMTP id 399562C8 for ; Tue, 27 Dec 2016 10:52:51 +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=fsY1ZvEHOEyON71oHSwjNwIKaz9kMI0kr7qFxZojul8=; b=JcMD8+n7PjqspAUi7CTZRTtiGGKAygCbuCMPoj0mLu2QU6pYDyGFm/LMC2r63UzLqH6VaAfoEIRtkKGPXnmRhUT+A1DeeWI32a9+Y2+YlJ2Qwdbq/tkvRscW0uJ6MXJm1GkdL5rVb0ZfSMBrXIMDkNZ/79/kjXsmiK0BX1UI/5w= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain.localdomain (202.83.56.97) by BLUPR0701MB1713.namprd07.prod.outlook.com (10.163.85.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.11; Tue, 27 Dec 2016 09:52:46 +0000 From: Jerin Jacob To: CC: , , , , , , Huawei Xie , Yuanhan Liu , Jerin Jacob Date: Tue, 27 Dec 2016 15:19:34 +0530 Message-ID: <1482832175-27199-29-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1482832175-27199-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1481680558-4003-1-git-send-email-jerin.jacob@caviumnetworks.com> <1482832175-27199-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [202.83.56.97] X-ClientProxiedBy: PN1PR01CA0001.INDPRD01.PROD.OUTLOOK.COM (10.164.137.8) To BLUPR0701MB1713.namprd07.prod.outlook.com (10.163.85.14) X-MS-Office365-Filtering-Correlation-Id: f0f16429-5d38-4ea4-1de3-08d42e3e1ea8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BLUPR0701MB1713; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 3:AELzhYNgCE/0Y0+7X3jUSU8ycX3BAKoXwW63oSzelDDmeImzS5zd6lAlvLA+RlexvM37iNX2JAskiXzEmEMQS9T5qxzudAJffV2h6YTtx0yo++H0uhEgebEQv4b8ki/gkDxKn/BO1xR5BhVl9P3LC49qtqppequtVXdDCX3zw4kZZ9ZxyFqTkQr/mtg1gUxc6wKBzj1Abd/PUrjKSqN60f5Lr+jA7ElBMBwKJL4hfdui70B8pa7fLHm1ynoEOl5ujdIna9HsS5s9zgLz9ZvvCQ== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 25:Z8JClGN9erVnpiWscLNu19rPdxiow90pIirrlhcPqi9BJ/88bEi+JeDQ7jaXDKmiLXvLRrIp3/bTqwB7adgH0DB1M/SggGrNmCdjoRfvbLHbBIyiIyxAytWfNPt9ITaiKJapmW/F+KfJ8P54V1s6kFBUvp6fmadGvY10DTgJz9wDZ2UBiQ6OtfQfEkRSslYkfHn+tQshb75T0A/v8hnVRbYOMOyRiOflLozubi70cImxmWZTzwh29xLIFwA8Hpg2QyATmop+e2VwM1OW05soM0Z1tCIOvHMwmdIQ0UiDc3RjBq5lY/mlZ272O4OcHq4kuVZ1B/U70cFTOgh1Tp4NTYjNXace/f1WQjXp7DFnEDTANxMPxsBPqBGBypiW1JvlZU0+zJz8FaVz7ySkOT2+ijf6VU1hRGsAjpn/a6CrK8yxOXI42uYAEcQl22qeYALiOqFww6s3hsFf1GrAG+z/hkrZxJJHJ+5FoafzG6tXGM8GzlFjZp8DCmdkB+kTiDB5A4ZII1hDyVpHlmlR8VkNDGuXamdadN9UlB6PuU2AaML8n9jnJHvSxGfvsPYgTQsPNVGhUEyqx/lDZfzp4p/8T9k32wYqb1TQ6ptSN0C/kfm9OR40EzMdZIw68+XiH0QhOHfM4K36RX5KCxjCg0EvzHFyJcmu5d3vm7TxJHu+I6uf6JXIoXj23kP8Seweuhol+URgEvTALBXonauToURHRp8/dpWOKp4qElyZf2OwGzHXZytfUzZTyxNohtxY8/QlP7CeJ2QBFrjlkPsVRX3rw5iVnGfBFCnBhroji+/xf4Qt8fXRpBSssQ4BeKoPg8kj1cbPJja4oI8Q1SV24dmdlQ== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 31:fFiQ9eeTC5pqTal/tcQu8H9Zglxlg3/QxNmPGvCy7+q1NyrrUPy5L6SIKcbidnPWy847DXEEH9UfWlSn3YnOoltKtefuKlA/Ary8JZDTj6rDwzXv29epkPcKHcPwpWd8YGf/b8dGzpqGa+bWDr7SZRJw0pxrYM2PzmOK6QQ53nxuIgWvSp8gf6LO86UKFO6omvBNAI0TSnDLLSWEa2ZjaKRlv2BEV+VzwaGSjPqt4I2Hq+MyLQUV92/Qlfa/dmlx; 20:+w0LnYlWaQMI3sZR7XSVHd9k4i4RzmqXfDjR0tForHpHMgbQ+m/1z9NAFrnQNKX7KEpZ73CRcF9SXcKp0EIOOLwRcZDv7gRhIM9sqf3SMr35GsA0RIsbHualGcoN8HeSLhZxaeyLfE8eeFJIcb6aE80NICPkeP/invFjqdj+MN/YafT+AOq5PhCaUQwKfJec7gX/RD0BoQNTTQA0275k7N8I69wS8OGNXyitr20+0qdtFiHJ5zcFEQR5SDfaX72HyApf1J3/rnM5wdFNNJV5E+8eezgwTuFOoOKBEVtuPFM8j3/udbQp5hk7FqE3x9pYm3Z3M2QU1h4c1nBqEFe9PodbENDYcz75C3IgS0C6b/Gu9qpKNDo9dpciqSD/mw9Y9nCRcVXvc79s5HnfdNNvWjW04mcgfkLSeM7j1FQvyX2nQ6M1XZHyDdO3DfBNTMdnmJHQtdIn7e+4bFB8jwnJFiCy66WEvdxA6OPwm1KXjjJDwuB9e5cPFi3otMz3GzWE31iLZj8dfY7iXJf2Xf71veUgs0d1YpCuhz6OLI5PiTJXbQ7Oh2R1Jdb0QF3+Hmi3+ke6L/eiUzosG+RvLNlThC5+W2eMjz2A60Y1Ti8CVys= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123555025)(20161123560025)(20161123558021)(20161123564025)(20161123562025)(6072148); SRVR:BLUPR0701MB1713; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1713; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 4:Fbyr7GJIXwE7mQOXPWxXBSGt53uB41RKh7BGJXCLvtFNpLnJoiyxHsK79ntnhiY8boJZru3HVarj2KA4gcOyzi3zPhjwHQyQGZSxWRM9gvHWhlPCzs8SD7hkXXbgF6RgtbAxsIw5MBzJyFUj1Ab2Q9hw+hZsMrbdpIN54Bi1Vlcxz5K8SH+4qNYEWlIyayLa/guWCeZbUPA1AOxeCboG8AHa6qcoXCGkCCF98NbdVOAcFGttLTJXtZof1mVsSitu8pqrCpMhoNH2KYPywkmp5nSU3d+JV52wuFhAAHrQJhqFvaMGQS+RZhk5R1wAQfff5wvFz1rh3TRm0FAMxs93grBmsKA5h6ilZvoXuDzGrTExQPGeCJbsdqN2a8BJsxqcCZuaHVtTsIUnj6A1bIPUHtGiDO21mo/NPW1RFWHkycj/JFTtAnHxg79E6SHbciImRU0x2zJgsPpl7NNZQmF11/1/s8dBLD88TD0wsYsa1CbFNb+SH079frvZnw831DTDaHuP1K0cy4SgWWGYWJ7XSTyAFztEraSoSI0+lng+bj4BuXtTku1C1YSz3j0kH8vVDtIMHXl2VZf36vWrJCv/nijVMHSGaceKwJ6jRONHjofjLTOZ+QrCxO5I38c9d1sXdZQCn4yLJH2yDUgvTx1snAWgySWpCXbTHmOmlKvQXY9SbDdnDnPiWxjpYYJiRW8p X-Forefront-PRVS: 0169092318 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(39450400003)(189002)(199003)(36756003)(68736007)(106356001)(97736004)(50226002)(5660300001)(6916009)(47776003)(42882006)(2950100002)(6666003)(189998001)(25786008)(105586002)(33646002)(107886002)(48376002)(38730400001)(7736002)(92566002)(6486002)(6506006)(6512006)(110136003)(50466002)(305945005)(2351001)(50986999)(76176999)(4001430100002)(3846002)(4326007)(6116002)(5003940100001)(42186005)(81156014)(81166006)(101416001)(8676002)(2906002)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1713; H:localhost.localdomain.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; BLUPR0701MB1713; 23:+5W8xZrTPJdgOQGtLadPoHnwWApPtu7fyop5SO/?= dONRZES+/CT6vWIinIx5gDEBBei5FVoyvz6UvxtUl7/e8bAPZVDYdycm6i38EgTtXH1sqXc2+R/gRx8+tRMezNRS7Ui6k8xkf19kzxpLEPjr8O+K7/sYL4XZ5cel+O34I/EWcYj24cViCgXDFpPndbTj5D793YrqfF4H9cS5UUnRjek7OjZQTyijOyfs500D23NJ/PYSeDd78qXm5ajrZuAmLtWj4QviP+p7oNstHUt13gk2zOto6V016X8B6W83Fpp8wqPJz3neknbVL5ZKtRuBb9x3gcLVt/CTv5yGBTZUrHYFSnG8ihbIIPE1sNaiZLojp/BBVG3K3dcot4NcBYScP9zvwOC8OYde1Uds6WIpmCyieI09D3hQgEzHfHxLS9m6/UqpzP+gkPV8eyopsP4zjfitL4JUE+5WkXwLH8Ulml1nuVA6nqpqURCSxwgF8VB1teVKhJnaKF87TIKdSfQ0IvlJjuPwS9UL+yrb77DvSLNVF+yHSdiHO2NHaxhbCVi9DGdSd5ucUvn8/6qlUvcXKtkTapQFY5r0+gh19AqXcBbfViBxjdWE5QEo8eKrtThjyXoOnZezLpLY8ANWLLJZeXcQbEvmjorpN05cXKFnl4YBZ3UlBYdEmn1ZT8Ww/PT1YA8t5OAGsNU4y/LHXpAz/ylWcbtEDXx6gdiEO8Nqwe0a0HPu9lvN0jY50OzN3KqfgVMHXEsk0OlaHGomspcUn/nNFSPGjK9C/YpRgxWAVrabJJ5zSpzI1FZvoSOOfpn782tXr8beYTVMnjYnxve4uAwJUGmN6gbKQNqMMbA2Ry2qAyhsBMrNh2K4zIgvoB48HPsLP3s42R7dtjEqfpTs9jlkj6syhsWyBGepmbELvLzDJHURpW7qIf2JDDXyb2KvfMUo4nOid3jThBXR5TqG4RCYY/0EZv8wltLNdxWREPxQfLJtDhg3J12wyzaA/NzYUPtbg9nG155f4bvEsC63aEj+KEv1qoz53mrKn1WDDvJg/k2vMvQFYpcbY9+tpt4MlOLyfk1LXy/pOmuJ223FfKYqxBPShYSlZIxrb9vlfCkUnk3joqKP4BumNAuu7vGM6fESJXjL8ldt8PXzHsF6h6CgyrYS/W+DV4EQRFVqpqw== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 6:0x7SDeODw1SnQP2+/iSDERa29MXvoaAPIbiGdQMBR2YyZrzPR/nKrWehNJZ9whE7CCY8fLLS2J44Dtlu9ok6F0bOeOaGdMFugfMuWlt2qf1c6KZXlRlxpUxSkSq2CYqUdelPriDt86N4gW95Hl1uZiWFqImC6uZFZyqFrP5vfLw4MPt52rkqKJ4LLqfz7zB5vrVlqGkJ7n/GAl1/y/ofKyrF/+O1+7Ip01sd8JhlVP7F+sPNz66CzDnehSmVS8k18Tv/qtrbJ6B8y6Z5YW7VJdsnbhgiej0es+4/YO56OOVPW1aoCArrPQbUeriqX5eNfuES5tlCcVgpWxQhjbgftXH5/bCZyBzyZ4t+fUEQKXTRBkXroxM86ftpwR50mRLLq/nOATsHaN8I5FF9rGu7E0CMITewNELugai4zutaXKM=; 5:pEOhYuTK4RYS78cl/ucjWEfENPvkfosEXw4914RuTLBRC4w1Bqo5nDoJgc9ff8gmR8kCP0CybARCN54qU1ndqLYAceI+oNJPZvRD4BY1sXx4cw4YhTcLE5NJNHm++B2fge/XrmrZDXehdYqfgUnrbA==; 24:sepQxE6eUyic2NM5ngVJV8GkcyIM5B5z0ZBEkFWCl37CKMgYjV6SFaKcdrm+wMNXfnEXFOwPoFbcXiWfYfxaQjjZh4zmAfJBroz7mh2bpYw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 7:pX8AZvSmpkSuN1J2KJSFirUZVcjept/P9+qvbxYbI7OtMkyqPPjbwipfDVMMB3hFJC5Y4g9fbgXhB72+jYs31AV2gd+nR4N6mfBiAUMexV0irnmQLr5N1ybloahmzdbGpywn9n4p3Y0M5M3tcXVWva2LZ4RlXrk1s1iREW+iGYO8w+aqB9VT05aLfOmCyOOpxpfuPMmnrwte8CScNKLuwOSIHOvtiBu9JmL/DVDg9pQnv/fylGjJalhM4dlxJgNGk0nNCir4ghMLyTXvSRknbFHuIH8bBmhiDpFxZLHrYgSuqq/8cLYz0PsSUbXAHRaAZTt/Dy3Z33J9SWv33KYGpNCuO/2Zq0RZQVMaFN8UYVcLKEmhnfV3bsaMACPDEFyVowmbIOLEStGITrzFCCkV/UpmZVoqDskVOL8z8+nyq70bbCoKXfsBZwkOwWzfu+oDpwTB0/kzo3YJEOfoOWwKIA== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Dec 2016 09:52:46.8695 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1713 Subject: [dpdk-dev] [PATCH v2 28/29] net/virtio: use eal I/O device memory read/write 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" From: Santosh Shukla Replace the raw I/O device memory read/write access with eal abstraction for I/O device memory read/write access to fix portability issues across different architectures. CC: Huawei Xie CC: Yuanhan Liu Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob Acked-by: Yuanhan Liu --- drivers/net/virtio/virtio_pci.c | 97 +++++++++++++---------------------------- 1 file changed, 31 insertions(+), 66 deletions(-) diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c index 9b47165..7c1cb4c 100644 --- a/drivers/net/virtio/virtio_pci.c +++ b/drivers/net/virtio/virtio_pci.c @@ -37,6 +37,8 @@ #include #endif +#include + #include "virtio_pci.h" #include "virtio_logs.h" #include "virtqueue.h" @@ -316,48 +318,11 @@ static const struct virtio_pci_ops legacy_ops = { .notify_queue = legacy_notify_queue, }; - -static inline uint8_t -io_read8(uint8_t *addr) -{ - return *(volatile uint8_t *)addr; -} - -static inline void -io_write8(uint8_t val, uint8_t *addr) -{ - *(volatile uint8_t *)addr = val; -} - -static inline uint16_t -io_read16(uint16_t *addr) -{ - return *(volatile uint16_t *)addr; -} - -static inline void -io_write16(uint16_t val, uint16_t *addr) -{ - *(volatile uint16_t *)addr = val; -} - -static inline uint32_t -io_read32(uint32_t *addr) -{ - return *(volatile uint32_t *)addr; -} - -static inline void -io_write32(uint32_t val, uint32_t *addr) -{ - *(volatile uint32_t *)addr = val; -} - static inline void io_write64_twopart(uint64_t val, uint32_t *lo, uint32_t *hi) { - io_write32(val & ((1ULL << 32) - 1), lo); - io_write32(val >> 32, hi); + rte_write32(val & ((1ULL << 32) - 1), lo); + rte_write32(val >> 32, hi); } static void @@ -369,13 +334,13 @@ modern_read_dev_config(struct virtio_hw *hw, size_t offset, uint8_t old_gen, new_gen; do { - old_gen = io_read8(&hw->common_cfg->config_generation); + old_gen = rte_read8(&hw->common_cfg->config_generation); p = dst; for (i = 0; i < length; i++) - *p++ = io_read8((uint8_t *)hw->dev_cfg + offset + i); + *p++ = rte_read8((uint8_t *)hw->dev_cfg + offset + i); - new_gen = io_read8(&hw->common_cfg->config_generation); + new_gen = rte_read8(&hw->common_cfg->config_generation); } while (old_gen != new_gen); } @@ -387,7 +352,7 @@ modern_write_dev_config(struct virtio_hw *hw, size_t offset, const uint8_t *p = src; for (i = 0; i < length; i++) - io_write8(*p++, (uint8_t *)hw->dev_cfg + offset + i); + rte_write8((*p++), (((uint8_t *)hw->dev_cfg) + offset + i)); } static uint64_t @@ -395,11 +360,11 @@ modern_get_features(struct virtio_hw *hw) { uint32_t features_lo, features_hi; - io_write32(0, &hw->common_cfg->device_feature_select); - features_lo = io_read32(&hw->common_cfg->device_feature); + rte_write32(0, &hw->common_cfg->device_feature_select); + features_lo = rte_read32(&hw->common_cfg->device_feature); - io_write32(1, &hw->common_cfg->device_feature_select); - features_hi = io_read32(&hw->common_cfg->device_feature); + rte_write32(1, &hw->common_cfg->device_feature_select); + features_hi = rte_read32(&hw->common_cfg->device_feature); return ((uint64_t)features_hi << 32) | features_lo; } @@ -407,25 +372,25 @@ modern_get_features(struct virtio_hw *hw) static void modern_set_features(struct virtio_hw *hw, uint64_t features) { - io_write32(0, &hw->common_cfg->guest_feature_select); - io_write32(features & ((1ULL << 32) - 1), - &hw->common_cfg->guest_feature); + rte_write32(0, &hw->common_cfg->guest_feature_select); + rte_write32(features & ((1ULL << 32) - 1), + &hw->common_cfg->guest_feature); - io_write32(1, &hw->common_cfg->guest_feature_select); - io_write32(features >> 32, - &hw->common_cfg->guest_feature); + rte_write32(1, &hw->common_cfg->guest_feature_select); + rte_write32(features >> 32, + &hw->common_cfg->guest_feature); } static uint8_t modern_get_status(struct virtio_hw *hw) { - return io_read8(&hw->common_cfg->device_status); + return rte_read8(&hw->common_cfg->device_status); } static void modern_set_status(struct virtio_hw *hw, uint8_t status) { - io_write8(status, &hw->common_cfg->device_status); + rte_write8(status, &hw->common_cfg->device_status); } static void @@ -438,21 +403,21 @@ modern_reset(struct virtio_hw *hw) static uint8_t modern_get_isr(struct virtio_hw *hw) { - return io_read8(hw->isr); + return rte_read8(hw->isr); } static uint16_t modern_set_config_irq(struct virtio_hw *hw, uint16_t vec) { - io_write16(vec, &hw->common_cfg->msix_config); - return io_read16(&hw->common_cfg->msix_config); + rte_write16(vec, &hw->common_cfg->msix_config); + return rte_read16(&hw->common_cfg->msix_config); } static uint16_t modern_get_queue_num(struct virtio_hw *hw, uint16_t queue_id) { - io_write16(queue_id, &hw->common_cfg->queue_select); - return io_read16(&hw->common_cfg->queue_size); + rte_write16(queue_id, &hw->common_cfg->queue_select); + return rte_read16(&hw->common_cfg->queue_size); } static int @@ -470,7 +435,7 @@ modern_setup_queue(struct virtio_hw *hw, struct virtqueue *vq) ring[vq->vq_nentries]), VIRTIO_PCI_VRING_ALIGN); - io_write16(vq->vq_queue_index, &hw->common_cfg->queue_select); + rte_write16(vq->vq_queue_index, &hw->common_cfg->queue_select); io_write64_twopart(desc_addr, &hw->common_cfg->queue_desc_lo, &hw->common_cfg->queue_desc_hi); @@ -479,11 +444,11 @@ modern_setup_queue(struct virtio_hw *hw, struct virtqueue *vq) io_write64_twopart(used_addr, &hw->common_cfg->queue_used_lo, &hw->common_cfg->queue_used_hi); - notify_off = io_read16(&hw->common_cfg->queue_notify_off); + notify_off = rte_read16(&hw->common_cfg->queue_notify_off); vq->notify_addr = (void *)((uint8_t *)hw->notify_base + notify_off * hw->notify_off_multiplier); - io_write16(1, &hw->common_cfg->queue_enable); + rte_write16(1, &hw->common_cfg->queue_enable); PMD_INIT_LOG(DEBUG, "queue %u addresses:", vq->vq_queue_index); PMD_INIT_LOG(DEBUG, "\t desc_addr: %" PRIx64, desc_addr); @@ -498,7 +463,7 @@ modern_setup_queue(struct virtio_hw *hw, struct virtqueue *vq) static void modern_del_queue(struct virtio_hw *hw, struct virtqueue *vq) { - io_write16(vq->vq_queue_index, &hw->common_cfg->queue_select); + rte_write16(vq->vq_queue_index, &hw->common_cfg->queue_select); io_write64_twopart(0, &hw->common_cfg->queue_desc_lo, &hw->common_cfg->queue_desc_hi); @@ -507,13 +472,13 @@ modern_del_queue(struct virtio_hw *hw, struct virtqueue *vq) io_write64_twopart(0, &hw->common_cfg->queue_used_lo, &hw->common_cfg->queue_used_hi); - io_write16(0, &hw->common_cfg->queue_enable); + rte_write16(0, &hw->common_cfg->queue_enable); } static void modern_notify_queue(struct virtio_hw *hw __rte_unused, struct virtqueue *vq) { - io_write16(1, vq->notify_addr); + rte_write16(1, vq->notify_addr); } static const struct virtio_pci_ops modern_ops = {