From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0068.outbound.protection.outlook.com [104.47.40.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2028B21E0C313 for ; Wed, 9 Aug 2017 15:42:26 -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=todpBlLzIGlt/Naqs5KdcXLUtXNfcIu2U9mrLgC9xN0=; b=fj7O2F2/pEsxeaE+RRP7Boao+U3Ehjf6GcnaLcO/gk+o72ZigWf1QOFKWRfS4Id0RfDbqreUanV3fN2XvI8fE3BkvT463KjndeaxRt2tSze52GD+3HyCoOjc8DtNHA1YrJLDw/V9ly5L0rHtqyemnrECVAMluXABtYMoKhBYtZ4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from [10.236.136.62] (165.204.77.1) by CY1PR12MB0152.namprd12.prod.outlook.com (10.161.173.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1320.16; Wed, 9 Aug 2017 22:44:40 +0000 Cc: brijesh.singh@amd.com, Jordan Justen , Tom Lendacky , Ard Biesheuvel To: Laszlo Ersek , edk2-devel@lists.01.org References: <1502107139-412-1-git-send-email-brijesh.singh@amd.com> <468ccca3-0db5-4ac3-d724-a752664e8d54@redhat.com> From: Brijesh Singh Message-ID: Date: Wed, 9 Aug 2017 17:44:37 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <468ccca3-0db5-4ac3-d724-a752664e8d54@redhat.com> X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: CY4PR04CA0035.namprd04.prod.outlook.com (10.172.133.21) To CY1PR12MB0152.namprd12.prod.outlook.com (10.161.173.22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6638b71c-e9fe-4a55-5f6b-08d4df783924 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(48565401081)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR12MB0152; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0152; 3:9jOm9vyqc432tPb8ztar56t2HSyKags3zN6RIqq+XeDur9396xNW10XMehKXW1b5bWY1SVMPH41oW1VXRLAruwxpC4kfgC5QvDW3uVcNKs9T1Ke0FsUbRceUWvdOM4tgsDtWi4dzo8U5DWEIMJly74QSiduE8JOPXrnoGQRPeIiV6pL5crTaDqj87UqCrQA0H9hIGuO3UxTUbn/2sA/P0M3EE/nQhAs5LywBPpW61bzqpX59YQUrNXxurH/wDbwJ; 25:rthn0t2ajQdzT0Lv5FjWyp+DUrCzhsrCk/n3k3s+bUCcrLdIEFsorVMUhanQ0XEsm8TSbsa3DFtZFQnafMAfz5ZuvxVh1uY0kzLgJOiptOgkzam93rzLhQVHCI+sHEf9ZsCzKRsFa+F3MQhyeBjUVPGQeL+cxtRh6ByBUa10DZuYP9tRRfOeTTZPqEuQRdis0ou53L8boeo+GG/NbsJatgK6dceAl4M8CMSv6wTKluFCx+u4/wbYNAiHvV/FizgiC4z38shnOPGrZJS2a+vkN2aAQSMApIyuJYVDiFcgY5QSn+ieGabzWjgq/tagx9oNRngqJUyxG+ExMSfMoJ7gqQ==; 31:XEz+CZ0bsxIVMWXNR4gZqxSZh08cnjPePsnd8/b1jyRuRjQaa1RpR+oZEQelkOsqVQFj6gt9TfZKS1qku4j8Yc7dDfa3CE/f/ZuOd3TRWFE8ZdupbXaxr+DZ8Aq4YYmjvqTrRO1Eq5nzCOwRNgjPaeUr6kK7E01bWoVrAICPaWaOJY81a+SWPkNBdGTzDQUI3O4OvkXcN1nxzezi00bBpab9kVQR9FkLuJ6/BwR+CWc= X-MS-TrafficTypeDiagnostic: CY1PR12MB0152: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0152; 20:h9JZGGPjicTB7EyNQCGDz141Tnaf1lbjL6BGTFdhD2Bk5IojoAGdf7qvOvZc73i0jejvJpBE8daJuXZDaPB46fwL8V266oCM6wM1Ui+e79lRego4CIErcb+VLkua4144Vh8NpcLnlSVMV0evu7AR78leWi+nnma9ifrsCNOrKSPWWABRAp1XSjF1o4DWg2VIJUvrAt1sH9S1wHZ8AdqZj3bi3os1ecEOyJ97RTuo+iwDl4KbAdTzh5e0ovFdJTTBg7Xxya+M7HJCQFDYq7JsoR3ouzTjNcM6juYF7fVNHWzS4yLOkiQaNT7WKEqRsH09Tbh4pMKRz+Fju61SphaBYuddpSmSrlcvfn5955QwgpuuA16aYcyNE40MHHZfF/eXhps72LiTq9X7yWE+6CM+mrxLr7vlJdcR6T/71rEjVIkrIcmE3YLK1P8Jq1Wl9O513yTAdbWm63NvCkelx8JoJ2FKCsy2KR2rPMP/eRDwdxHmdf6sGl1MrFAbcaWMdLb+; 4:cq2KZpgxDu4tPlP1AF2n5y6rdAELw05H7gH+2AkmNsx3UT+6rFWGe1GYsDWNEjxdi8OpckeppjBgj9uLVbZouSNxPHVimu332UoSnphGir7BdgS9fUKFNEcEY2Cjn381mwdBjRPKnT0nHs3YJvBvGl2vX/Br2nbsFQzfu1u8cWYP8e9Selj+YwHcn5BSFKf0BBINqaMeBUYxy3qOcMhSlV4rxCH/yaYfPCOZVTpdJa0CouaPlOXWt8s9I3EcvFq1pNGPtzJQcAN2NvPzvYPwtWABKTIOvbDEhbFoxGirIiCMNVntLd7oO5Jk+LjXTEaYg7jSrF4O/umDuw+vaZQ6UriLdNThB3db6zHgmWkU8wU= X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(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)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123555025)(20161123560025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR12MB0152; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR12MB0152; X-Forefront-PRVS: 0394259C80 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(6049001)(39850400002)(39410400002)(39400400002)(39860400002)(39450400003)(39840400002)(377454003)(189002)(199003)(24454002)(65826007)(64126003)(76176999)(2906002)(4001350100001)(25786009)(4326008)(38730400002)(83506001)(229853002)(110136004)(6306002)(7736002)(106356001)(7350300001)(77096006)(31686004)(6116002)(6246003)(966005)(36756003)(42186005)(90366009)(6486002)(230700001)(8676002)(81156014)(66066001)(3846002)(86362001)(65956001)(81166006)(54356999)(105586002)(50466002)(31696002)(54906002)(68736007)(6666003)(50986999)(97736004)(478600001)(53936002)(53546010)(23676002)(5660300001)(33646002)(2950100002)(101416001)(189998001)(65806001)(305945005)(47776003)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0152; H:[10.236.136.62]; 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: =?utf-8?B?MTtDWTFQUjEyTUIwMTUyOzIzOlBhNHpkQTZ6RDNjNVphTWMrTEdJSlpyaWEx?= =?utf-8?B?NmM5ODRhTEVzUHdQUE4yN2orUXZFRXh2c1A2ckxjRFQ5TWNaa3luSnhwVVFs?= =?utf-8?B?Wm9SUVFiSWt3ZWk3RktPSitsU2kyRmZ2Si9SL0creitWVmh4eXJrckxYYkdI?= =?utf-8?B?RGg3YWFpSzFsVUxweDQyQVdpL0VoQjk5SDQydzBXVExjWXhMQUkyV3REWFBE?= =?utf-8?B?c3NhQU1JZ1dVMDhOaklBM2F2RmNkSkdCRTVLNlZva0x4dDBERytZWjNOb1RG?= =?utf-8?B?R0QxcGFOazY2SUZmSmo4NElBaDNhTWRkdVlBSHE0ZHd5UldLS3ZmVmh5WXlz?= =?utf-8?B?anBsajR3VVNiaUZlbUx2bGdyd3VtL0ZTL240eEhPalc1R0V5aDBwMW5UcVc0?= =?utf-8?B?MG0rYWovMkJVYUhEQWlad3pwTUdZUzA0bXdlRjVVLzhCSWswRWI5cnlIbHVj?= =?utf-8?B?ak1tSHl6NkFPS3UvOS9qZ1NOeHBCVU1mQUdZZ1FqelNyZzhFSmk4eU5IbXVn?= =?utf-8?B?dXFrOE9kY080Y2t4THVxSU9XWWIrSVg5dG82bkdFMGQyTU1Gc3YzeUtFbXd2?= =?utf-8?B?RTBobFd2UjB2dVBQM1NoQUQ1ZENJL2JQUncxYVl3YSs5eUtpLy9XUEMwYTlR?= =?utf-8?B?c3RXMEx5dndBWkw3MTA1YXhWNWNTR3Y2TjdCQnRYM2pMUFBYTGlDMU9RNVFV?= =?utf-8?B?Sk8yV3lDT1VSaTFGNkRFbkNaeEk2TVFXRU9lQ1RhSVNwdVY4cVlUUld5RFhp?= =?utf-8?B?RGhZSllrNmhISUJKNW5yNFNGOWt3U3RWZmZFb2EycVowU1ptaDZtK1FZMG9r?= =?utf-8?B?WmVRTEpVWkNQRWlyVlprZHVOLzcyRklLYjh3ZVpld2lDdFRGU3g2TTRWSThE?= =?utf-8?B?NHBsdDF0bHhpalE0WkN1ZFRuZjFOVHJCaUtjQjhhSlNSODlrTmVBMm1SV1Zu?= =?utf-8?B?VjltWVpzazcrbGZkeVo5WnV6S3JHQkp1RmhVODlVSzV2ZzVOTkdxZDBNNjJl?= =?utf-8?B?TGVQcWd3eFdhTXlHVW9TTkVjRS9sMllmOUtpcnRYTnFQdDkyMlp4ei95Nm1P?= =?utf-8?B?TjdtV0F3Z2ZJR1JzbXFGWWpOblJ6TldOZmJPb1hqRExINDFaUjY1QVhzbDZJ?= =?utf-8?B?Ny9sMHoxV2l1eHk4d3MzN2ZKcHY5RnpXWHdOdENsUUNWY2ZVYU9veExXTGZE?= =?utf-8?B?ZE1QaEJVZDMxSkpya2ZvQTlxVk1EUGF0L3NlQzdyVEVQZlNKVHZFNURMQWI0?= =?utf-8?B?dWZoaTBvRGZWUmFiM3lDbEZzdTNyb0pBaFRCSklkMitOa1NhQ0JDUmwvbXpI?= =?utf-8?B?cDJ6UUJsU1hqUHhvNTFhU3g1THh2OXBVQkZwdGJucVZDekovN1FleDQzYk85?= =?utf-8?B?b0tuRVdMeFovTWVNYjF2N1pJenRoQXBDUDkvR0xsSVJvOFo3aTlwVGYyalhN?= =?utf-8?B?WjZPQWdLeTNDd3JpNUdyTGJQR1NtSjBZU2NBSW0yeWtuUlVnZ1FzdTlZUmZy?= =?utf-8?B?dkUydGdmakcrekowZzRJWDY4UzdxYkpVVFVNODgxUUZrMHg1bnFDcDQ5dzZp?= =?utf-8?B?TklJaHR5RitwQnNtbEVFWit0bEd4ZkRPOFkyTGVWcjJ4a1NZU1N0UExEdS9M?= =?utf-8?B?dUl4em5tM2VsN2Z5SkY0ZStlbS9QV2ZHZnh5UmxOYzdrR093SXE1OElyYmdn?= =?utf-8?B?WEIzVmthZWtGOHAyelh4WVFZZlVMcWQ0ZzF4S2lydlFOcXZGSzJWL3ZXcW9u?= =?utf-8?B?djJobUlxTFN6ZG56SnBuRG5UaFBCMWpwdm1ucFgzVStlYmhocUlrRHJUQkhN?= =?utf-8?B?RGZJajJWTjg3KzhheDdGMmhpaGpzM1VBUzJEV3FzMW01NTNaY2VqeDI3OFEv?= =?utf-8?B?YXE3SkJtd3ZNYWxJV1FnaGpnWVN6T1VtYTFhUXJUTFBSTXJBblB3RnBhNFdH?= =?utf-8?B?OHBzdDZnTWdiY3kwWHNBN3kwQ1JYY2lCVmFRWGVwS000Y0pTRVdYNVcwaUMx?= =?utf-8?B?ZWxVVEQ4MkhNTE9STGt2QURsV2RJeHppdTVLTEtaZXVPM1l0cDRtWWZGME5x?= =?utf-8?B?VmhlUFdheEh2dkVzVmxteGN4ZzhSanllaURaWkdydG5TTytXMzZkN0dCRllN?= =?utf-8?B?K3hzN1M4NDNLak9IS1d6a282TXk4a1U3Zmp6TmMyV3liUVlVTlJtaXpUVUU5?= =?utf-8?Q?dylR+NqgpCg6aLK5vy81q+dmEoaL2vSAmCvPRMUR8E=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0152; 6:t9VE+9LmNxtrrfhT7iHwtstV8xgxQUlvB6pNFimlOgXe1LYRWH75gIx9o3nDklCkOfEoENanfVctHnAa98L+yxHLLb6G5FQprRbVK6gZKL681YJQYHn9fWJBwF57E5RNnJ+wANZtpGlx7WWRkcTT8wXdR5y2sI93Bf5t/6ZGgEKUYrJ6SxSlKAyTbw8K+FLmsQ642aZcTPFRP0RgOgfK3ApxCIRVOmSbX9MHhb0ElXFrR5fK75mW9+3SZKNfVqH5cTdadZsSIS8JLwf0wMgYJrumqifFevo92WzqkdMZFM0T7n3DHPkc+R69ZKa2WmJC1/H/rYVKmLJpFlzcK8mOfA==; 5:6RMapaLzvdAXON8yP9YmcL1ak1Mxc1T/6I9fR/RIQ9PxJ3H1XGYSaqTOdslKI5W/YL1B2Zf7t2J413oc9T4yRK6Pxrz1dvfsyLdtPz3VzTzpdHyThr4mo9WNsswJYi2DbcwjRgCVCS/vFA9ssgpogw==; 24:23KcsYUOXJy5w5rC0SyvLLL1AhSIrSjW6T1wKjlFAxW6WLV7k9qxAaPvOVg4b8Jr4cmVT9SO50okLPq8bwni/6Zv8e8xMFjj8VCg8+vrOfo=; 7:qt+u7NolpnvJoKJ/Yei4eJdoXTWIckjMBkaYlPQFqUKCs1F9J4dFfOt/G99yxvoWibN0/oFEvxaiMGun/O2ByCgdw07WavMqGLzIQ3sqFb3u7pwDulj9X0/mfb2o+4g11HCn6ouoCM0qtHFRnSPwZOhJqi683bzqRURztMDKIoHTwUHHJegczkKyixvjyex75o4Q7qh/KsAZfJWi/fRrK/x88dLuL5v2jDxqBo3Lr9I= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0152; 20:TNEeLJsQ+hmLtpzkgu2NQY3Znpb/UhvlGaxxyThFRussb/sqBO7tUl1Gt625UOHs7yYK9Y3ndIM8uC7AaDFEpUAuZo5ylu3JiZa0VUgFMKlhnlysDmtxZaMhBXmzbe6dMRyc25SoPStXFFoniyVRpKT5mCkvlHrF45bEXhdJme1y9NvicJxnjsqSWvEwzbpt4ecu6+uHGerXZor+Cg88XmtA7lBwbMxskp2zUU3pFbJ9mgkdpuf/XIjqQYcv4D+H X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2017 22:44:40.9462 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0152 Subject: Re: [PATCH v1 00/14] OvmfPkg/Virtio: Add APIs to map system physical to device address 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, 09 Aug 2017 22:42:26 -0000 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit On 08/09/2017 05:38 PM, Laszlo Ersek wrote: > On 08/07/17 13:58, Brijesh Singh wrote: >> Currently, virtio drivers provides the system physical address to the device. >> However, some systems may feature an IOMMU that requires the drivers to pass >> the device addresses to the device - which are then translated by the IOMMU >> into physical addresses in memory. The patch series introduces new member >> functions in VIRTIO_DEVICE_PROTOCOL which can be used for mapping a system >> physical address to device address. >> >> The approach that this patch series takes is to maps the system physical >> address to device address for buffers (including rings, device specifc >> request and response pointed by vring descriptor, and any further memory >> reference by those request and response). >> >> Patch 1 - 3: >> Defines and implements new member functions to map a system physical address >> to device address. The patch implements Laszlo's suggestion [1]. >> >> Patch 4 - 7: >> Allocates the vring buffer using newly added member functions and provides >> some helper functions. >> >> Patch 8: >> Update the virtio-blk driver to use newly added member functions to map the >> addresses. >> Verified using the following qemu cli >> >> # $QEMU \ >> -drive file=${IMAGE},if=none,id=disk0 \ >> -device virtio-blk-pci,drive=disk0 >> >> # $QEMU \ >> -drive file=${IMAGE},if=none,id=disk0 \ >> -device virtio-blk-pci,drive=disk0,disable-legacy=on >> >> Patch 9: >> Update the virtio-scsi driver to use newly added member functions to map the >> addresses. >> Verified using the following qemu cli >> >> # $QEMU \ >> -drive file=${IMAGE},if=none,id=disk0 \ >> -device scsi-hd,drive=disk0 >> -device virtio-scsi-pci,id=scsi \ >> >> # $QEMU \ >> -drive file=${IMAGE},if=none,id=disk0 \ >> -device scsi-hd,drive=disk0 \ >> -device virtio-scsi-pci,id=scsi,disable-legacy=on \ >> >> Patch 10 - 13: >> Update the virtio-net driver to use newly added member functions to map the >> addresses. >> Verified using the following qemu cli >> >> # $QEMU \ >> -netdev type=tap,id=net0 \ >> -device virtio-net-pci,netdev=net0,romfile= >> >> # $QEMU \ >> -netdev type=tap,id=net0 \ >> -device virtio-net-pci,netdev=net0,disable-legacy=on,romfile= >> >> Patch 14: >> Update the virtio-rng driver to use newly added member functions to map the >> addresses. >> Verified using the following qemu cli >> >> # $QEMU \ >> -device virtio-rng-pci >> >> # $QEMU \ >> -device virtio-rng-pci,disable-legacy=on >> >> And succesfully ran RngTest.efi from SecurityPkg/Application >> >> Repo: https://github.com/codomania/edk2 >> Branch: virtio-support >> >> Cc: Ard Biesheuvel >> Cc: Jordan Justen >> Cc: Tom Lendacky >> Cc: Laszlo Ersek >> >> Brijesh Singh (14): >> OvmfPkg/Virtio: Introduce new member functions in >> VIRTIO_DEVICE_PROTOCOL >> OvmfPkg/Virtio10Dxe: Implement new member functions >> OvmfPkg/VirtioPciDeviceDxe: Implement new member functions >> OvmfPkg/VirtioLib: Add SharedBuffer helper functions >> OvmfPkg/VirtioLib: Pass VirtIo instance in VringInit/Uinit() >> OvmfPkg/VirtioLib: Add functions to map/unmap VRING >> OvmfPkg/VirtioLib: Use AllocateShared() to allocate vring buffer >> OvmfPkg/VirtioBlkDxe: Use DeviceAddresses in vring descriptors >> OvmfPkg/VirtioScsiDxe: Use DeviceAddresses in vring descriptors >> OvmfPkg/VirtioNetDxe: Allocate Tx and Rx ring using >> AllocateSharedPage() >> OvmfPkg/VirtioNetDxe: Allocate RxBuf using AllocateSharedPages() >> OvmfPkg/VirtioNetDxe: Dynamically allocate transmit header >> OvmfPkg/VirtioNetDxe: Use DeviceAddress in transmit vring descriptors >> OvmfPkg/VirtioRngDxe: Use DeviceAddresses in vring descriptors >> >> OvmfPkg/Include/Library/VirtioLib.h | 198 ++++++++++++- >> OvmfPkg/Include/Protocol/VirtioDevice.h | 121 ++++++++ >> OvmfPkg/VirtioBlkDxe/VirtioBlk.h | 1 + >> OvmfPkg/VirtioNetDxe/VirtioNet.h | 25 +- >> OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h | 34 +++ >> OvmfPkg/VirtioRngDxe/VirtioRng.h | 1 + >> OvmfPkg/VirtioScsiDxe/VirtioScsi.h | 1 + >> OvmfPkg/Library/VirtioLib/VirtioLib.c | 296 +++++++++++++++++++- >> OvmfPkg/Virtio10Dxe/Virtio10.c | 114 +++++++- >> OvmfPkg/VirtioBlkDxe/VirtioBlk.c | 104 ++++++- >> OvmfPkg/VirtioGpuDxe/Commands.c | 7 +- >> OvmfPkg/VirtioNetDxe/Events.c | 24 ++ >> OvmfPkg/VirtioNetDxe/SnpGetStatus.c | 19 +- >> OvmfPkg/VirtioNetDxe/SnpInitialize.c | 102 +++++-- >> OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c | 119 +++++++- >> OvmfPkg/VirtioNetDxe/SnpShutdown.c | 16 +- >> OvmfPkg/VirtioNetDxe/SnpTransmit.c | 22 +- >> OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.c | 7 +- >> OvmfPkg/VirtioPciDeviceDxe/VirtioPciFunctions.c | 66 +++++ >> OvmfPkg/VirtioRngDxe/VirtioRng.c | 54 +++- >> OvmfPkg/VirtioScsiDxe/VirtioScsi.c | 121 +++++++- >> 21 files changed, 1378 insertions(+), 74 deletions(-) >> > > The conversion for VirtioGpuDxe seems to be missing; is it on your todo > list? (Not that it's urgent at all; in fact I'll suggest delaying the > more complex drivers in a minute.) > Actually I was thinking to delay it for now, once we get a basic support enabled then we can revisit the VirtioGpuDxe, I still need to figure out qemu cli and Uefi app to test it. I will add in TODO list so that. > Thanks, > Laszlo >