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.web11.674.1586885730139330704 for ; Tue, 14 Apr 2020 10:35:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=k/yKShZU; 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 03EHAAxi173249; Tue, 14 Apr 2020 17:35:26 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=xrhDiYYNK7ljeoeLqxviDNextto/nDE7kWzBSBq97h4=; b=k/yKShZUmWyPZBg9yAPTpHUA0cbOIV0Klo+3by4XozCIKWcD6IrsiUTDcHEhgdtCLwus OPYNU0lap2iXOuBJCNPGommN+6NQ78Kx56vKlM5zMa3466vBUUI5K4LLTY9oJTmWiNEQ keso6eYeacO6VSO17ZxMdJ0OfQ28V/U2V3m5iSiSMrUICAYMu3O84bv1DT0WvgyU9HDA n1TxesMZiVj9yy+pN+zhFUT51aSZirQZ86QhXQqPmFnx0JunK+icB9qZQReLisojZKr8 d53xxUpHLZjefr2NACsNsrzRtawR8SRmJy1AqVfzOFukV6GDQHxJl+xoU0aijI34okQD 1A== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2120.oracle.com with ESMTP id 30b5um69s1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Apr 2020 17:35:26 +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 03EH7RuZ130572; Tue, 14 Apr 2020 17:35:25 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3020.oracle.com with ESMTP id 30bqm2e16e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Apr 2020 17:35:25 +0000 Received: from abhmp0018.oracle.com (abhmp0018.oracle.com [141.146.116.24]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 03EHZNmH022059; Tue, 14 Apr 2020 17:35:24 GMT Received: from spark.ravello.local (/213.57.127.2) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 14 Apr 2020 10:35:23 -0700 From: "Nikita Leshenko" To: devel@edk2.groups.io Cc: Nikita Leshenko , liran.alon@oracle.com, aaron.young@oracle.com, Jordan Justen , Laszlo Ersek , Ard Biesheuvel Subject: [PATCH v4 00/13] OvmfPkg: Support booting from Fusion-MPT SCSI controllers Date: Tue, 14 Apr 2020 20:38:00 +0300 Message-Id: <20200414173813.7715-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=9591 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 adultscore=0 mlxscore=0 phishscore=0 malwarescore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004140131 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9591 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1011 bulkscore=0 mlxscore=0 mlxlogscore=999 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 spamscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004140131 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. I pushed a copy of these patches to https://github.com/nikital/edk2/tree/mptscsi_v4 Previous versions: https://github.com/nikital/edk2/tree/mptscsi_v3 https://github.com/nikital/edk2/tree/mptscsi (v2) v3->v4: - Add ExitBootServices - Rework error handling in PassThru - SPDX license - Made compilation conditional - Squash GetTargetLun and BuildDevicePath commits - Added #include - Use PCI_BAR_IDX0 - Code convention improvements 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 and decode DevicePath 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 OvmfPkg/MptScsiDxe: Reset device on ExitBootServices() Maintainers.txt | 3 +- .../Include/IndustryStandard/FusionMptScsi.h | 163 +++ OvmfPkg/MptScsiDxe/MptScsi.c | 1115 +++++++++++++++++ OvmfPkg/MptScsiDxe/MptScsiDxe.inf | 40 + OvmfPkg/OvmfPkg.dec | 7 + OvmfPkg/OvmfPkgIa32.dsc | 4 + OvmfPkg/OvmfPkgIa32.fdf | 3 + OvmfPkg/OvmfPkgIa32X64.dsc | 4 + OvmfPkg/OvmfPkgIa32X64.fdf | 3 + OvmfPkg/OvmfPkgX64.dsc | 4 + OvmfPkg/OvmfPkgX64.fdf | 3 + 11 files changed, 1348 insertions(+), 1 deletion(-) 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