From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0078.outbound.protection.outlook.com [104.47.32.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 0706221BBC415 for ; Thu, 22 Jun 2017 13:37:07 -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=w90GZcfCnzDumEJsmYem8fjREZtkcrxn3NUSpCMUb/8=; b=Deqoa767lZmOdS2sNGp7dVWeAcpnetxcX0J8Ndv15zOvtZoez4yMlJE+qtGUMWu3p3fpEO9UnXfg/QRiqBUS7aWTAwOmbfWhYsHnnwNPdH4Q1hLygCuyh3YUJMf/XQRyDleTnLC2+5IlxR7iNnvBf28rgwLRJfBRLGYq0akfNI0= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=amd.com; Received: from brijesh-build-machine.amd.com (165.204.77.1) by BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15; Thu, 22 Jun 2017 20:38:30 +0000 From: Brijesh Singh To: edk2-devel@lists.01.org Cc: Brijesh Singh , Jordan Justen , Laszlo Ersek Date: Thu, 22 Jun 2017 16:37:39 -0400 Message-Id: <1498163868-30191-9-git-send-email-brijesh.singh@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1498163868-30191-1-git-send-email-brijesh.singh@amd.com> References: <1498163868-30191-1-git-send-email-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: CO1PR15CA0051.namprd15.prod.outlook.com (10.175.176.19) To BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3d7c98a2-feac-41ff-120c-08d4b9aea4dc X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(201703131423075)(201703031133081); SRVR:BY2PR12MB0145; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 3:q9iuiNk41chhboXuDgWCnnDh059GDRJPjj/vAxD1d78G2Y0Hx/JFap6A/3s9YXSH75ItdvICd7AoeBVJM1sSzxiah4ojn9zHh6GfwfV00i24NY+4MQgkErKaytXsLQ8v6wE3xEpn///90rC7KEkGrIUQibLgHuIlErNMVxyf7dm66CzdpeEKxLh9BRaEXvgAQ8CxjkkOpe5mx+Ia8hO+m0DzjP+T3ETDxu9SpNsRs9AODHIRSPb5WU85S/BCZSCHl3ENProYTm08x4qG/C8GsNtwX+MIzQbPnYF3xk3BnBozvnR7Y1KoWyJuU02tMnwDTwzSFInvNXV3aVLXkSfjXa8EluyqO/iE4ACv9LSwEG8=; 25:Ehu3mWSr3g5FRh497GBUwQxCHoYEo4nerthP7D9XPAf3Hm+L9xn3SLd51ejrr6d8Jsd8Nzcb+7eASMtvUjm08ak/b2uOGwwxJkpnr20hKixgsh0ZP65Lmp9qjyLfFvW4/m7EHVMp/mTJgNdsv2lg4pvW1v3UPMluk6gN+34cZ7iR1oNP5dncl1xsVIvrFdTYVLboqkTAasklNUZDwDKcHjCLWKbUPIYjFTXaDhRzg2RR0fHJH/zdnfCXxcNWkAeItGZtNqHFnHSQKJDEmkd0lxhX0u9vBnxzUWKe1A577Al3XDEUmviljxe4AD0Msz+lclpMOsK3gHOzSH+sJGMkZ2BWuWEsRNSUl04VqZ8udzQ/g4p9H9Layb3L+zgYyGND4Bvz7QlZq69XTWgG6C28lWmBbrislYXLCRH2aZwJ3G1sOEbjU0hPJQBIfbsLrQfAGnFTWqSzemtv4LrClNH5VfBM1VqgcSjdRFuRYCBCTZk= X-MS-TrafficTypeDiagnostic: BY2PR12MB0145: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 31:tzlDS1bMg8AtlG3tQzpiZkuHDBqapONfWF7GG3pmTZz42xxpy/SzxDfGGNj9vlfRjLmwKddqN4rKjTyg3KNtMppv67O/PaOzibAh3ABUxzs8mHVC5GT3VfUiwOVYt61muupauwM3YK9q/V51+2de0SBzfXi6pwu2m+Ip8tfm0BklqXOUbfssnnCHcqQ4v1COQvYwrucUzamz9Wh/GmSfpAYeqpTOUf9UNV0VjEsC0Do=; 20:r3one0XU2js7vjv6upJifeBTbXwwK2QdXVuvZtSTtI/sF0tpsI7lqvCdOeH/tBlKoGuzAZSOEYpkvY7FU+dsTyunQ1+pKm1AGX3ZJ9ZwiOFUftRZ7L7kBDmXhWgM2aZUBWL4Afp5hPg/I1q6EzKGxSEQxUjCrJA+FgIum6eNg4oYeytqT8RRuwrjvrEQs3TDIughEPZUmdYvA4AmWv01zSpqNu+IhrQY+CA/EKEBht/4tAVSn+RPB0+kQI/yxNSU5x2HAPoWebSvzmXNWdgjoLeeUe5z0JHTDtPKka/vCUSlUTPKHMnQ4zDtc21Flu+cPTIkSfWzlcWjcWrvz13QONacLRvzNM6HXIzrKEAmQTR9VpbrwslafvBBVgIwjGHLT904FF5+7ye8caTiN9Nzku9zF8KSWUvsBlj07rsBzTTezZhzIMRgJO7XWWH1Hpz3W1oJPwObzRLdTRwLmnQrvGisOof/9Wvb+lMzuAOOhu5CZYQGB3D6xXjlSFNJUhdA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123558100)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR12MB0145; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR12MB0145; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0145; 4:gh1eo4YINroD0CXCgnPWpLEqjJEHEJMyH/NhnwMYMP?= =?us-ascii?Q?qNnpkwx7qhJZTyVWu52oi7ePqTlOdRYCyRa3TIm9R7TPx2DB7TLm9Elh+WCP?= =?us-ascii?Q?kcMr1wxFVdzfJHnD/uIl18yTOpt8EPDVO0wWFEC328ymDsFVuGRCfm7dRiPh?= =?us-ascii?Q?v2RVDgFWF/FoGk3p/J9ap18ANK89rC9loud7UN1Pz0EKbaqbA4ttmzI6NV9w?= =?us-ascii?Q?QMxzOnLT9pS0pzQmQe7w/Cpvrjs6ZlfAJ1uy2uP3oU+9T14mbJoduqYS2Ric?= =?us-ascii?Q?Fg4QQH24r3tyoAUsYej0YkyzxqfWb3sn29z5LwLDJtdfXcfntK170ucvXLuW?= =?us-ascii?Q?Q5KOJ9dWKd+1qbqKy53jG+RPlnlmrRDrpudIRZe91GMjxAB7IVR7949BY7To?= =?us-ascii?Q?Hi5nGF1xEjTYtgN4L1wItxKVMnZh4E30lzjT3nYj59J1dtOHtA7jSRWkawGZ?= =?us-ascii?Q?tIIDIQ10rEdv+oYpA/GK5GFzTEejgKVYMoftnAiaPhhZNX+Oa4u1cLvb6Npi?= =?us-ascii?Q?2VNMA42YPir133LVlbiQ+lcUoUdVdQflGL7Eaz3mMHKK1h+63h4/c28NxpmB?= =?us-ascii?Q?my3hdbdG0D92NFJHcKFjcYwCQcJ6M+0/61CwFGZglpp7k8+kHexIOdH0pf4i?= =?us-ascii?Q?ST7roD8eqPNeFDDJ+DyQnELZOghG58Eyq/foAwOPER/5rgSHg9HDbezCknmd?= =?us-ascii?Q?QY276xRAixppA3XO04ckPL6GugZiLZ44ma4ZNJ0hYeKlwOESaVKWG8uBEJuU?= =?us-ascii?Q?r1m5LMoxucbiq09nM+3r7tnoyk3qoA+AbXyaND+/W/g23CZX933PYwqVew1C?= =?us-ascii?Q?n1kA3spSd5o9ZhUVBwteadWGFTM3wiu04VgOU7UDT5pL4r9wVl0pL0a6oPL0?= =?us-ascii?Q?HbC5j+iVaZd/xEpPXwYAtT+KSv0oDd9wLh2TsNzjS2PjXgRSCZh1d2uPh8a0?= =?us-ascii?Q?ISRecKGLuiPA52/e3l0aZeitN/HTHYRUoSqcLNPXfExoM4QSUlXspIOtPXVR?= =?us-ascii?Q?93MyuJJ90zMoqX1u4i8tc0gV8ME/gBwN85lsM+XQ+Ese3jfLGl7l4bg1ZeYg?= =?us-ascii?Q?qqOyDghHPqbEC4ff+MOmst7iqP7VxpmqCSyGXpIeBEYcIhlC0mwUBS/Hloa+?= =?us-ascii?Q?zsaycjtuvdR/uH50TaZiiOy9nOAdvQ3rMeh9QMGOJ6LP96gksTAMlpyE987u?= =?us-ascii?Q?FhAwGhwYjR84D77Bk9esHLuVbmAbmwa+NZ0iTr57MrF8HBut4hEhwRUkuUSr?= =?us-ascii?Q?/s5XXnNrOp5YQXqU4=3D?= X-Forefront-PRVS: 03468CBA43 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6029001)(6009001)(39450400003)(39840400002)(39850400002)(39860400002)(39410400002)(39400400002)(25786009)(189998001)(50226002)(76176999)(50986999)(2351001)(2361001)(7736002)(33646002)(2950100002)(6916009)(6486002)(4326008)(53936002)(2906002)(110136004)(15188155005)(5003940100001)(16799955002)(8676002)(81166006)(38730400002)(478600001)(53376002)(966005)(36756003)(6306002)(305945005)(54906002)(47776003)(3846002)(66066001)(50466002)(48376002)(6116002)(86362001)(53416004)(5660300001)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0145; H:brijesh-build-machine.amd.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0145; 23:v58oYiIwmziVgN7LwAvOhdGaYwio8MLj0n2ZfLOdu?= =?us-ascii?Q?U7OhDjZYzzmdHDOIjUU5tBv1Cl1Mu/Gky1xWGLhzHMTpwwkcKRdOKGYSrMpX?= =?us-ascii?Q?9mHYiXMY3vkznstko+6FL5R49dnM9pSoN3NcEAFrT+KnVciaO1R784LlmHyZ?= =?us-ascii?Q?QlTkmXaPb9NJ1zSFwlDXF6kts4DnHMwe8KFbJVGb0v4hURCEwwyK8CCp9L0k?= =?us-ascii?Q?on5KcPeG5h6TB+f2RBH78LNHAHLA5gPa1O5jNgfirUe2rU5qyq0nwa/UA/0a?= =?us-ascii?Q?2+msu9ythoZzONpE2jqX6CSCTrB2zAZ38yoOJQTVKTOBzq3dRuxu7DX4jsMl?= =?us-ascii?Q?gJB7tIQYJtmiXoNTpm1MWSTNsuLwphqB6TGH9xe2dXd6nYqjtyBbntRjqyBj?= =?us-ascii?Q?UBB9d616DfPvere1eTw8uvMdrAYoslVWat8wlz2zDESE6Wv9Tt0Ezir1FZU5?= =?us-ascii?Q?F2zmMhrpec1RwNG2Vj+tLHMMvNW3i6LT3S313/KWz/O8pOc2gcGOttKY8uI5?= =?us-ascii?Q?+MXm8m8TGmPd6/LMyOTNld1sfLi8oHNkll6g5lop1fqlMdiLpUD40U588YOB?= =?us-ascii?Q?PTsZ02fwZ2PzznVKhzalCSeeF/MH8qQ4Y/XMequHmMhWgzQ5dxxFcA2s2PjL?= =?us-ascii?Q?U3CYO/ZBtkp3PULeZXzjrIzb0vf0mBmzhSRAth4Sz9hmPkeYcEnbN2XieTpo?= =?us-ascii?Q?vZxw5Nr0R61kbMnJqjelfGpwzjvy+JkEmCcL40DQPuvlYz3co0RFcTmp6nQ8?= =?us-ascii?Q?n3SIR8fl/TUjUDCB73axCjHCHoofrRcBD4NjacR5Sr7GImiXOEqgWq+74GZ9?= =?us-ascii?Q?cqvJZXXrbvOgkxgN6OohV8LJW+n7YO8T27UW9EmHUzgdaMZYPZmVb+fVnldy?= =?us-ascii?Q?XjIlhMYYC1+omnI/E3fmq4rEyU1AZ0bwJrJBgLrJIX7sE703SNgRJ51ZXRcS?= =?us-ascii?Q?UqpaYfkoNpbGe7likwemMybnD1WBn7n+DV5sCePT8G8DXmMVPImPf0px5Bcl?= =?us-ascii?Q?8w13cDvHxZo1BkT0n9YdMfacaNh5Nxdi+fDnyVHOb1H1DBYo9nO8IDG2SE5Z?= =?us-ascii?Q?oMWOaSJ1woxSdGjmGm2QSHGZ/KGgDTpWH+ssbsiEjVGL5pR6kLrdBAqW0w3f?= =?us-ascii?Q?vUyBQ6n7YV5jUdiYhETtpKgTaNk6fBo42jE4FgeCdAURLphbSUg4bbrX0tCV?= =?us-ascii?Q?d4HkV/dNRG39HKI69XyBiwCTbGPrfY3j4H1?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0145; 6:J+M0v1vt/qmXYMd9N1RhlDuWj9LwpLzoATTYiLq52N?= =?us-ascii?Q?jz+t1YwiykWRpwqGPowJpi+8y7F1uz5zylnPaO6t7yCRuewqz+QOYrQW8uIe?= =?us-ascii?Q?F9ib2OxCWv6eNkpNOiGa9Og6/XXYAfK+BZGvun1ZHqwZxYEWegJPqv6OAn1G?= =?us-ascii?Q?Q1RtSv06bKNd+jr4jwVtlRcAVt9H3hyLQ1j1uErS/lWJ4KWyuxXXthOeXbuB?= =?us-ascii?Q?om4Gz4qCz8FQm1yn47qOEsGtXvNkbUKI7MZT4r7v3kM6idVa8WgvkiL8Jz42?= =?us-ascii?Q?X8EZGu316P9Sb5u83CrO10ADqBFW9sgkXqr56XWupXTrxFrLJGx15N1CZtRG?= =?us-ascii?Q?YZPUEhvF/ansGO/WmkRKbfzv/VCT5TFx1fHptk8Rn7cx41akNMahim91fsFg?= =?us-ascii?Q?pHDNlaU/xBZoDShipc9JRRv6XTmhmiZU2Z6QnpTPOuy1vMLNR+FAFMrOn1PH?= =?us-ascii?Q?St+IEm3Kes5EMyMrBsRisZQEXFvRkdBbEcW3BfpTx3Z736qmUseIBMAMh9/7?= =?us-ascii?Q?y2qcWAK8pcNVrCXObhkXjppxFPWbYr1/tetxAyctHk1nCoof/pNGam4N4fcJ?= =?us-ascii?Q?gJkrbo4IXwssLI1de09iPW89v3+DgW79gX9IviYHWhC3nyoPID+lPEFiZ3dd?= =?us-ascii?Q?hcUEpHWNRW/f6bt56Iuf44Y+66FYV/vuqinfhSTfm+Phh4p/ONyAgY6rzKJ7?= =?us-ascii?Q?zdxNJHx2neS7EuVpyVsV8AfeR4ws1YpBYgrGJJTBqii2JEknrdlYNEEf3y6P?= =?us-ascii?Q?rA0py+FMkK3jv+W3t73iviSYbZKOdaiTCizEiJNNNn6PGh2IvYKmGP/jspDn?= =?us-ascii?Q?lqG3VDzTw6+yX2ilZygJq0kYd9RLBrzyvclxwBz7xFymZ6J9ftuAyLbK32rF?= =?us-ascii?Q?Wba3+ZhLuvbgUldSR/CcXdZMI+3uXtpyTc3y0rR0ylGnduQeHiERy8NbNK9I?= =?us-ascii?Q?XrAa/7Iw4fsa9TaEily5BBP6z8atjrm4kjo7EkyHl92Z21pIBeYo8ejtZlYT?= =?us-ascii?Q?avAgGNUflrWImudlRLNF0E?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 5:EMMAhDo7JUDucncQMrBp7b9+JNiTUX04AZ4QIGbIqIJWxT60rMGGWIav74qoOKjgnGg6MaWqbu15LpJeMMfn4GWEJeXvk7885OFAgTda0VpNaVFFK6MGD24cdK8ANk94HbbjHa/PyxhDSHuoRwLcyuGKRkNsab5I+U1o0CH5O4IP5IWqmVK33aO/xQUezz+3W8jH46zu7tj3/giOgb1kfJDfcmT5l5/hByMdb2QGxXm2Oxb4Gg97kBpOUgwp9uCtYrYSc4sbAkX5sVqXPyEx05pHAIZA7pJ1gpmOlDvSEgowmmz1VMqyYtpFoTIe8faTWe61WqFipR7H2uBDABTHtIuQ1Z53y+mP9X0bAQua+dSMYtZrpauvBvqp817HVtCyaimz1WwStXkqGFhFpWg3HwdepHyg0o+iDfSWiXqKx0KN1H3LGl5Yg1ayGWVpr7BuwJ7KV2/iof6cOJ7Eq6sU5wXhJmSOnMi940IwPwMpA8znsub8GkOthq0YGI1ekVcN; 24:8iX32rFm2/GxdDy7hX2X53n2lXABp/WfTpam1XMBL/PP9htcb3wI9cuCPgdviWJxCMLOnnUGyoDZnE3g3noWSO9HSdcpwtUcs1OnbES1OWw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 7:ptp2cr4zFHerKHhyXX6Y/jj9zaivjjIBE6YFUmZT3bTtqAaW1qyai8W3cTHOF+GngBuVnPHCa+2pABbwGazw4igz/aGVuf7tKEKDCAFrgCOtVss39+58Sa2PJrJ/2BNkJ+SvfermDJC9BfuWSNVoqUfAFI0e/3DEuYYFdI1uO6PJB/HU1UUnGEMi7Fv0OnXT7EkAj3Rs1cR76ILnT4Het2mqArCNjmQH1PdwpOoRIXM5LSFZVYzwdzNJTf3MX/gJz3opLCdSr92Ekj/MReCtepIwF/kru0QlRT6jfBnyY/3DwB6aAaDYjqA+UVIxUpq+4+sjlSywm7H55VFNnGIa+Q8VFQNs5qW6u9yYaYHRLPpiU2deG1ouAB5ztEHknnOV7jRH0Et7PAbMZ4RSp5d8fU2reTUl7mtSitZM7Xi2SgtL7Qw7W/jK4fWo5A11eUSElyMGEFsEl4XifKfKMUA7qmbv/8ewIXJ5KXHs5uK68meU5Xf7f392ScVWEaEuegBcV8+4Rl6jJDnmsPHLHKUgUPb7xMq772zxC6TGImV/pB5mcgskjAztyfwVGRcqTFhDa+s2BP06v7LA3YhkjDEDOBbqoQ/mAUQVTzjS2I206stSXfvKfNx+ofgKTMUWB7mh/3gduuNM5rHXo34Nx/5TuwPsDjIhD6VMmeNYxKQqJFVDUqBp/2BX95mYejPJIGgHd2vWm6EoNUza3lpDoJ/GrThRvHz1kS6LyquY7Ug5HDoreot1Gbe8BFEq9z1CYVDkNHEPfKtQoL43godp+qcUVfvQJAwqeHSe2uDyJ2CuvDo= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0145; 20:WTpKVqa6uzRDd9cGBstDfe4CSYGDvy99DaZZhR6HNZ9eWi5bag3reHxs0wo4f+mMYyV4W+92UNiqe9EjwwFT4hts0xVR3W6WzFdHheQ4nu5jwL9hEj62RmSuN36ASyFCI38C2+8V6+M5O5U+BrgVcedgzNeVEeWJDz4ZuHbHhkc2vDHBSzLp7CB4y1HXKc324bhhZw4FHmeTs2o4wFJaVIOtbauljMiPaZKsK9LEq5jOeVH+tww0SzvKjBfvRYbj X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2017 20:38:30.2103 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0145 Subject: [PATCH v7 08/17] OvmfPkg: Add PlatformHasIoMmuLib 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: Thu, 22 Jun 2017 20:37:07 -0000 Content-Type: text/plain Add the shorter-term library instance outlined in the previous patch to OvmfPkg, so that we can imbue PciHostBridgeDxe with a protocol dependency on gEdkiiIoMmuProtocolGuid OR gIoMmuAbsentProtocolGuid. Cc: Jordan Justen Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.0 Suggested-by: Laszlo Ersek Signed-off-by: Brijesh Singh Reviewed-by: Laszlo Ersek --- OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf | 38 ++++++++++++++++++++ OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.c | 33 +++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf b/OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf new file mode 100644 index 000000000000..f8151cfe2594 --- /dev/null +++ b/OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf @@ -0,0 +1,38 @@ +## @file +# A hook-in library for MdeModulePkg/Bus/Pci/PciHostBridgeDxe. +# +# Plugging this library instance into PciHostBridgeDxe makes +# PciHostBridgeDxe depend on the platform's dynamic decision whether +# to provide IOMMU implementation (usually through IoMmuDxe driver). +# +# Copyright (C) 2017, Red Hat, Inc. +# Copyright (C) 2017, AMD, Inc. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT +# WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +## + +[Defines] + INF_VERSION = 1.25 + BASE_NAME = PlatformHasIoMmuLib + FILE_GUID = 49b4b018-0558-448b-1e1a-12226342877d + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = PlatformHasIoMmuLib|DXE_DRIVER + CONSTRUCTOR = PlatformHasIoMmuInitialize + +[Sources] + PlatformHasIoMmuLib.c + +[Packages] + MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec + OvmfPkg/OvmfPkg.dec + +[Depex] + gEdkiiIoMmuProtocolGuid OR gIoMmuAbsentProtocolGuid diff --git a/OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.c b/OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.c new file mode 100644 index 000000000000..a271be3e8aa3 --- /dev/null +++ b/OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.c @@ -0,0 +1,33 @@ +/** @file + A hook-in library for MdeModulePkg/Bus/Pci/PciHostBridgeDxe. + + Plugging this library instance into PciHostBridgeDxe makes + PciHostBridgeDxe depend on the platform's dynamic decision whether + to provide IOMMU implementation (usually through IoMmuDxe driver). + + Copyright (C) 2017, Red Hat, Inc. + Copyright (C) 2017, AMD, Inc. + + This program and the accompanying materials are licensed and made available + under the terms and conditions of the BSD License which accompanies this + distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT + WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +**/ + +#include + +RETURN_STATUS +EFIAPI +PlatformHasIoMmuInitialize ( + VOID + ) +{ + // + // Do nothing, just imbue PciHostBridgeDxe with a protocol dependency on + // gIoMmuAbsentProtocolGuid OR gEdkiiIoMmuProtocolGuid. + // + return RETURN_SUCCESS; +} -- 2.7.4