From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from aserp2120.oracle.com (aserp2120.oracle.com [141.146.126.78]) by mx.groups.io with SMTP id smtpd.web09.16638.1583349683435688152 for ; Wed, 04 Mar 2020 11:21:23 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=juRHmX8W; spf=pass (domain: oracle.com, ip: 141.146.126.78, mailfrom: nikita.leshchenko@oracle.com) Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 024Iw9bw030643; Wed, 4 Mar 2020 19:21:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=x+BX9B6NcFJnT6kZN9Ze7IikfO+t9eBYVMEhQ6MFUAg=; b=juRHmX8Wt+yVGWaQR0FUmtqzWo03XHlf1N5vlLvVkHnuhsq2lR5KXt0334aFdM75jUfZ svjoomxG/x7D9kl8HUIHjAZAd0wynKWtiBlYHCqKkDIVX1344JRE0Qx8xpP9ZEyxhVRw SwvIrCVkPyuC10CVtLEoItDqMuCAGM/POgdQvi0z1SkFK1dfEgvPaNbccgFlYrUE/3wX UzladZMdnzeZHhf19GKy/CKrFL66QLDIP2w0/4ne6cCP4AAJ9gFFXfWVrS94ZH1wg1pS ipGStzuFYCsts56K0OHXsEFH29+mZZ78rUSLo1J4N+FEIQHgplr1yT6s5iq9+Zgmyi5m 7g== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2120.oracle.com with ESMTP id 2yffwr0dyg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Mar 2020 19:21:22 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 024JEeES192626; Wed, 4 Mar 2020 19:21:21 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3020.oracle.com with ESMTP id 2yg1p88ypt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Mar 2020 19:21:21 +0000 Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 024JLJYT006326; Wed, 4 Mar 2020 19:21:20 GMT Received: from spark.ravello.local (/213.57.127.2) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 04 Mar 2020 11:21:19 -0800 From: "Nikita Leshenko" To: devel@edk2.groups.io Cc: Nikita Leshenko , liran.alon@oracle.com, aaron.young@oracle.com, jordan.l.justen@intel.com, lersek@redhat.com, ard.biesheuvel@linaro.org Subject: [PATCH v3 00/13] OvmfPkg: Support booting from Fusion-MPT SCSI controllers Date: Wed, 4 Mar 2020 21:22:44 +0200 Message-Id: <20200304192257.96736-1-nikita.leshchenko@oracle.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9550 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 malwarescore=0 mlxlogscore=999 mlxscore=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2003040126 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9550 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 lowpriorityscore=0 spamscore=0 impostorscore=0 malwarescore=0 mlxlogscore=999 mlxscore=0 suspectscore=0 phishscore=0 clxscore=1015 bulkscore=0 adultscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2003040126 Content-Transfer-Encoding: 8bit This series adds driver support for: - LSI53C1030 - SAS1068 - SAS1068E These controllers are widely supported by QEMU, VirtualBox and VMWare. This work is part of the more general agenda of enhancing OVMF boot device support to have feature parity with SeaBIOS. We have also developed support for PVSCSI which we will submit in a separate patch series. I pushed a copy of these patches to https://github.com/nikital/edk2/tree/mptscsi_v3 Note that I didn't address Laszlo's comment on v2 about BSD vs BSD+patent licensing, it needs some internal discussion. I would still like move forward with the review so I'm submitting v3 with the old license for now. v2->v3: - Change error handling style - Add comments about target size and zero unused target bytes - Remove internal Reviewed-by - Fix problems reported by PatchCheck.py - Use SetupGit.py v1->v2: - Map() DMAed buffers - Fixed various code convention issues - Newer debug macros - Updated INF version Thanks, Nikita Nikita Leshenko (13): OvmfPkg/MptScsiDxe: Create empty driver OvmfPkg/MptScsiDxe: Install DriverBinding Protocol OvmfPkg/MptScsiDxe: Report name of driver OvmfPkg/MptScsiDxe: Probe PCI devices and look for MptScsi OvmfPkg/MptScsiDxe: Install stubbed EXT_SCSI_PASS_THRU OvmfPkg/MptScsiDxe: Report one Target and one LUN OvmfPkg/MptScsiDxe: Build DevicePath for discovered devices OvmfPkg/MptScsiDxe: Implement GetTargetLun OvmfPkg/MptScsiDxe: Open PciIo protocol for later use OvmfPkg/MptScsiDxe: Set and restore PCI attributes OvmfPkg/MptScsiDxe: Initialize hardware OvmfPkg/MptScsiDxe: Implement the PassThru method OvmfPkg/MptScsiDxe: Report multiple targets .../Include/IndustryStandard/FusionMptScsi.h | 162 +++ OvmfPkg/MptScsiDxe/MptScsi.c | 1060 +++++++++++++++++ OvmfPkg/MptScsiDxe/MptScsiDxe.inf | 46 + OvmfPkg/OvmfPkg.dec | 7 + OvmfPkg/OvmfPkgIa32.dsc | 1 + OvmfPkg/OvmfPkgIa32.fdf | 1 + OvmfPkg/OvmfPkgIa32X64.dsc | 1 + OvmfPkg/OvmfPkgIa32X64.fdf | 1 + OvmfPkg/OvmfPkgX64.dsc | 1 + OvmfPkg/OvmfPkgX64.fdf | 1 + 10 files changed, 1281 insertions(+) create mode 100644 OvmfPkg/Include/IndustryStandard/FusionMptScsi.h create mode 100644 OvmfPkg/MptScsiDxe/MptScsi.c create mode 100644 OvmfPkg/MptScsiDxe/MptScsiDxe.inf -- 2.20.1