From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0052.outbound.protection.outlook.com [104.47.40.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id CD99921D2E652 for ; Wed, 23 Aug 2017 05:20:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=D40x+5qW6PXsjHQ/ZZW/gzpQ9FiCu8Bd/oNcktmA3fQ=; b=r6rPL9HUPH8k46/6ohjtrva0qx0ULDBVhPSZsARlo/ugXAea/5wjsZeBH5Ps2ygqQWxQpC5YJBJgF/XwnBilLnQeKZSXC0v51nam27KElw4XTuN8OWKkWjBp0/EOx6XrzS9trH0+Jt29DqGJQ08CO2N7gNwxtPfzWkSU3nUpRS0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from brijesh-build-machine.amd.com (165.204.77.1) by DM2PR12MB0155.namprd12.prod.outlook.com (2a01:111:e400:50ce::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1362.18; Wed, 23 Aug 2017 12:23:01 +0000 From: Brijesh Singh To: edk2-devel@lists.01.org Cc: Brijesh Singh , Ard Biesheuvel , Jordan Justen , Tom Lendacky , Laszlo Ersek Date: Wed, 23 Aug 2017 08:22:32 -0400 Message-Id: <1503490967-5559-9-git-send-email-brijesh.singh@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1503490967-5559-1-git-send-email-brijesh.singh@amd.com> References: <1503490967-5559-1-git-send-email-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM5PR12CA0069.namprd12.prod.outlook.com (2603:10b6:3:103::31) To DM2PR12MB0155.namprd12.prod.outlook.com (2a01:111:e400:50ce::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 35610fa7-7aff-4666-bd09-08d4ea21b27a X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM2PR12MB0155; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0155; 3:SIXJCJo1NF8c4Dgi2bgSPYSJ+A9rKvus57a2GGXl6xCp7cMvTo7id+/FCdbea+HA/Ynz+MDUwfjBS7LFaFhDlA2hOoSOvgMVX8C3r3QY8hce08R04W84FfrU/lXxLCGUgEk9EIBaBimQ5oLXpj9dGT4RjEOChBs5bCIjCD/+9jAXKTSfn2Db29rhZ5O9GcsSzjcak91MtN3e7YT0zHrS9Mc/ERa5sxNOI/tla0N/uX8s7M+V1+6XywFMLeZ2LiDH; 25:WXF5j9qHeHTtrpTXHrEoca7Xm1h484XWjKwZSPjUuI7uIkbU363SVQkaFE+MSfqzIbkBuT/qJa62xds6LrmVzqxO2vtZrD7C159iXa7Z7K2j+gfG8XBhBy0HddWVxZnmyNZcYuEcIjW4aIuUnxoc0AhqjVKRVehYH+phnLcWs9Bq7m7gwqmczjCCwIKHIzHwI2cjMXpVA47Ja2FapDqlTXOFQyD5bKXZd5MmZYrYBPlKWxESLFeG7JU4Dg82Eo0DdV2wcBMhLvMhOzhbucJ2vLPyGaMmf8YiTk+9/ZXo+ihRUfXUWLKchqGezsXYji+5UVPM1wWkpGhyUy8KAkGspQ==; 31:P4KV3d6SfDM5qvS/pNJxy4+uK2XXHCyq2QSbw3JiuaNC5FRGWY2d8gOI733n91nq49XDaUJovUY+naM++jl00U0t75N8ALPVGX2xOWj4ctE/E2STuokYuO0gteGUjNarBqol/8KxvadbEDQ/c8aQvOTY+zh0NRkS2PSEf5VFM2/wb/LO82SXVpD0EtQUgX+EhliiFJjFR9iASOSvEZfbcPJkkrDj3fvCnyu003WS2tU= X-MS-TrafficTypeDiagnostic: DM2PR12MB0155: X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0155; 20:gjxC1fpWUapxO7ywvI0vBpSRjZ9z742eIfPQgPLtZlKinaZluUwuTWP6mAg/Hv6E1ApgHoW5ToC1f5I/TI3fVJVxK0sgoZ5p5cT2JjZyo8wP5B/5B+0pWGDcNlGOYLZXTIET7ATA9gW6yFcoDRXZKq3a/JFQ2UDReXFjQpP37XSPzVHiJNLCsAaN4uyHzHxfmdPMYCJtmKXp1aSMctXesz+3HNWBhiYhhJTckVwkizpwSIp5Aoxu1n2KjQKkHszfffYK1jv/4c/VsP48e/+rk/zNtYTwTSpE2lB6SIBDa1U2S0wL4jTU0vTaiN3i8fPQ2VFQlN7DXyA0Qp4AvaFvrSBn+/fdujLLRi2/os3BWlreOFXaM5LBeUhOfPbEJiYApQXgxYCjbrXr+ihGF3na3L5wYXrYbHTPu2JS0/3LPJG910T2QKFEdo4KYnW/UuFqe2elJnn/InxJBHDLHYzHObLQz2xkTOI5TkTq/cljYkxhWoMgufKSaVGe+3u+iR+R; 4:g9RPYhZD76HGmz7+tBDx3DA5hUeqY9apbwEYVptrgHL06lClLfDelrG5VHtqOOgirA4oAsoArHWpx3ZJ1dGTV95ZhVQCF2iFQfjbte52zIG+r0J+127w9bjMMUy8vcyo+Q+iufcXMf2KpM+elnblHOcoaJvHYTSHFQ9Zd/TY+xCZDzbuhm2MfTwZduRHehdcje8CXJVsoxZ0DrQWCku1bHiM2g72J/sPrLmVG1w5KdpPiRIwYDxDbtRJOOab00KtEnyCGUTqATK42tqdmvD9VVafxiQk/lGmM38EWvnTkF2VdtrlQqWAMZPK8q53UlZezw9nV2CVKWMpTrAoys0xFg== X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(228905959029699); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM2PR12MB0155; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM2PR12MB0155; X-Forefront-PRVS: 040866B734 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(39860400002)(189002)(199003)(305945005)(47776003)(97736004)(101416001)(110136004)(6666003)(189998001)(478600001)(7736002)(3846002)(66066001)(5003940100001)(6116002)(6486002)(48376002)(86362001)(105586002)(2950100002)(4326008)(106356001)(36756003)(6916009)(50466002)(2906002)(50226002)(42186005)(2351001)(33646002)(53416004)(25786009)(7350300001)(81156014)(76176999)(5660300001)(68736007)(54906002)(8676002)(53936002)(50986999)(81166006)(2361001)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0155; H:brijesh-build-machine.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR12MB0155; 23:gE+Xo0NBYMm/F7Hb3ZLnQD5qbu+M13+Vpuy1sVCXN?= =?us-ascii?Q?PmXB5KXseeAQ3G3ClWJ+a0vIDd2VLTInaQdo/2a7XwG3ki/qAcdaC0l/zPmj?= =?us-ascii?Q?spZercfJ8pkhDJpItI+pxenkxv6l66KOEJHlOYRkVGbA/9Eofx9S8LOcZEf2?= =?us-ascii?Q?Lu3RkWZyjVlH4gesJR/ET1COmuP7arYb5fGNoaAvWwkZ7WIJrTeIbwn8hJtC?= =?us-ascii?Q?DpPgjp146pXE+gmxqVwtrCvEzghEiq0k+VnGLsPhjO6IuX4Jf26aiP7fVe90?= =?us-ascii?Q?znGQ8/bllYLcLyPV2GXbP0n6tNJpUGYfCX65zh3c5d30a2+75MCjsXEHagVv?= =?us-ascii?Q?StN9uFzHpwjm+45kQ/TCOLtwhpwN7SIJ7lDs6MPNM97D1DNjQkOv6ambCTeH?= =?us-ascii?Q?s0yxvKYY2GmTv6l+RxVZ+71DRZqs6F4vHfOiS4Jkmp4EbtbnVG9K/yLmwWVM?= =?us-ascii?Q?Ev+zNLYSQPX6FojQ/AsRWyl2YEGknWiu2BFAPI9Tuiq4/iiUsyhosE2BE9o8?= =?us-ascii?Q?M2KU8Be0UnVeHL5NKI/0RupNkZ1ldObvC286gR0XZuySnPYj0lJlo2yWtM+P?= =?us-ascii?Q?kQKLhoSitIp8CbLWZ7IawA4dLrDdVSHwd8NlGlUzs9+t0/59YrpluB21fQa4?= =?us-ascii?Q?Oz52vNflx1ulieyv8mn2mFFRcQK+a4nrfhP651gY9Kk2uuOcXiUc12Kya+K1?= =?us-ascii?Q?RvXvv1vGkvenIKAqeVfM00rLVCCKh5Iz/hC0mA9XnnkfDcZldGh5QGcnhfRl?= =?us-ascii?Q?XoFgzu4yvnlxuYhB63r4gM/0dCesXQCoQxOvIYJB7XhB6lFV5s/E7cyhTGm9?= =?us-ascii?Q?fglCtPSCJZufwIUQZcJ0PsB+Vs39KTfpo93H2h/jUOFfh1clZmhIVD4lBnzU?= =?us-ascii?Q?2j7tRCLtKKLV3tQFCffz68QOmM7CgHmmXlEhk4gX9mpXgQIMiev+3eWUUgwD?= =?us-ascii?Q?TtxK7bg7t3Np/BTKpGYMoMGfeJpKVHFlVG7Qth7fkr9lp/hUR8PoQZJkkPWg?= =?us-ascii?Q?ioV0aVbHYaQnIyiWmtgR8fgfodx8VDbAUyJcIv8ZUArwAlZ6L0WQchQ5t3xv?= =?us-ascii?Q?sgT7XaEMz6K+KEE6wcf173soVA3BOxcoxDtzDiUWo09eYg3SRLArC2asrH5N?= =?us-ascii?Q?abgNfcbCq2TF+neyEi4nXqM+r1NWjIKZLm2lwQ00AmnGhZ9tlBFaNjj06dc6?= =?us-ascii?Q?0nO8Igpc01KTdw=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0155; 6:GOgF1yao3pCvwvrOwSFt8Zfv5ghXkQbne+9kgYNqEEAmiBllEJ38eSYjP+0p1scgvRV9ve/0qiDwNp9AfhtFG7ly7XfVvms5L148CIrO5/eMfDRQ5XRI3wAwJ4cUc6kvfObTv0fgyBjhZt8vMR4BaLHr8T+u364fRoKntXoGq2Y2s6mX5CX9itDHM92ngnbAzXkq6CjMM++0prW4nbZv9WsTeKiu3gWo/rSOldcE/byEDOh142nLP1Zz4IQmLkIot88vitU+/dekj3aYP5IvXHgbdrY9luBkSjbli5ZIvAHGDelK7cEJ1wyR6LaIA+Ay6L249beRWxK67EQCvyRB+A==; 5:U0UyRJl1o0N4D7uZOpxRDmNTbssBILzCAMlTGCMR0dYpV+obf5dSxToivptR7X7JoMjvHJeXQaVIrczSpm3l7okCvQ8cmr0VSdECx744+qnIQ3Ngua5UT3zashC4GDjPqIj9u1Pgs62GkZltuqiLRw==; 24:PNFF5xC6Ra2F4dlc9FLqWRB97qNsBbFeawBuibvNzbsi5+nvbFPEfb/6x84uWlUUuq1RWYdcXejSOCqtKWo2H1f4rnlGgrgLrGg5H3xqFjM=; 7:lCtwd+cFuXqhklBZGn817IZ4IOZls1Y62FusigVgimGiWHvMEz7FHZCo+K/HB1ZbNvrmSHlU9dhaAGEnFZhJkY9fGYapY8WnfZvqlVl5W8WlnvKQcepYzaJvmGAxwNYl7uXkZ6k2kfnA3h4F9oqDI1Y3LJIWK0ba99pccLttGutuyp92iprQOxmKpsUgK56tGgCveGtrzKTcCFSvcYOktKgd3qRjgy/KaHo5jy/E/Ao= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0155; 20:ZLFheW3XyPmzCgkwvFTLy0QmZjH9UqJ4MPO9B3/0W7i24ZO0RhR8DazCPdBqqafgp7w4kWPWM7S/dpWg1z0W404yv0e8uLRUzzTlSfIn41tNDY81UE9HPlsC9+xCwveCzs7aEx+kXFPtqn8d26A+a7g3Oe6efYHWtK2/pe/Q91rpH/WWfWxMRsHxr2ivCvMc1KMlS2gwUH3BTmocAIFVmgIp5KgNW+MpJ3vNY9xYYbP7HiJSY7ovYDcLbPNgbIuW X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2017 12:23:01.3572 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0155 Subject: [PATCH v3 08/23] OvmfPkg/Virtio10Dxe: add the RingBaseShift offset X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Aug 2017 12:20:29 -0000 Content-Type: text/plain virtio drivers use VIRTIO_DEVICE_PROTOCOL.MapSharedBuffer() to map the ring buffer host address to a device address. If an IOMMU is present then RingBaseShift contains the offset from the host address. Suggested-by: Laszlo Ersek Cc: Ard Biesheuvel Cc: Jordan Justen Cc: Tom Lendacky Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Brijesh Singh --- OvmfPkg/Virtio10Dxe/Virtio10.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/Virtio10Dxe/Virtio10.c b/OvmfPkg/Virtio10Dxe/Virtio10.c index ef9a00710668..e9b50b6e437b 100644 --- a/OvmfPkg/Virtio10Dxe/Virtio10.c +++ b/OvmfPkg/Virtio10Dxe/Virtio10.c @@ -498,11 +498,10 @@ Virtio10SetQueueAddress ( UINT64 Address; UINT16 Enable; - ASSERT (RingBaseShift == 0); - Dev = VIRTIO_1_0_FROM_VIRTIO_DEVICE (This); Address = (UINTN)Ring->Desc; + Address += RingBaseShift; Status = Virtio10Transfer (Dev->PciIo, &Dev->CommonConfig, TRUE, OFFSET_OF (VIRTIO_PCI_COMMON_CFG, QueueDesc), sizeof Address, &Address); @@ -511,6 +510,7 @@ Virtio10SetQueueAddress ( } Address = (UINTN)Ring->Avail.Flags; + Address += RingBaseShift; Status = Virtio10Transfer (Dev->PciIo, &Dev->CommonConfig, TRUE, OFFSET_OF (VIRTIO_PCI_COMMON_CFG, QueueAvail), sizeof Address, &Address); @@ -519,6 +519,7 @@ Virtio10SetQueueAddress ( } Address = (UINTN)Ring->Used.Flags; + Address += RingBaseShift; Status = Virtio10Transfer (Dev->PciIo, &Dev->CommonConfig, TRUE, OFFSET_OF (VIRTIO_PCI_COMMON_CFG, QueueUsed), sizeof Address, &Address); -- 2.7.4