From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104406+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104406+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649947; cv=none; d=zohomail.com; s=zohoarc; b=Ap3ZPs0eAd2T8UrJK2JPvwAFkwF6qRXoosQj8D/0O7g8sdMwIM1p8t7wtROI5VIs9k13smQ1RinWwEFCPuLXXkKHUjPObPW/wyLHoCNFk7loX/3MiRrUa2sg/3qSz91v88jAwG8ZmW2PDEKJOHkAzW+YeQVVOiVGTLSpnahYS4w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649947; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=rbRZvXKyRZ5YRnFBTquBFJAiSbW3/59plU83MtMrVi8=; b=nVH+klgM7oYIHWoSDceRrQnTyCphNYp1vt0mevA52ygrVmJadAoMN8wyXfMi2M1nkGfypJFp6sL92dGtQ4n7MOOtmBP+O1Ot/Jm9AUdeRk4BaaA+pV0Q0sdBqQkBzNLgfixZHEWJTO+XCzRr9nbXc7QaSD0bMXGZpIiiW+wsrLE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104406+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649947905578.4127392107687; Tue, 9 May 2023 09:32:27 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id IrHGYY1788612xJRtqAF5uTm; Tue, 09 May 2023 09:32:27 -0700 X-Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mx.groups.io with SMTP id smtpd.web10.37758.1683649946743736632 for ; Tue, 09 May 2023 09:32:27 -0700 X-Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-3f195b164c4so40564965e9.1 for ; Tue, 09 May 2023 09:32:26 -0700 (PDT) X-Gm-Message-State: fhyki4i0IcirSkrNh2neUI88x1787277AA= X-Google-Smtp-Source: ACHHUZ5r/Mm1yXym0FzI4sqfa/oqWOdh3SYlaIikYYt04Ma0Hm9mjXR53KDG848gzBccVZ4j0kv5nw== X-Received: by 2002:a1c:e906:0:b0:3f4:298b:d925 with SMTP id q6-20020a1ce906000000b003f4298bd925mr2636749wmc.41.1683649944885; Tue, 09 May 2023 09:32:24 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:24 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Jian J Wang , Liming Gao , Hao A Wu , Ray Ni Subject: [edk2-devel] [PATCH v2 01/12] MdeModulePkg/SataControllerDxe: Clean up error handling in Start() Date: Tue, 9 May 2023 17:32:01 +0100 Message-Id: <20230509163212.291333-2-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649947; bh=cdzamIz4CwaMdS6so+Sn9XnbvglKuQ4NL5rFXgFJlm0=; h=Cc:Date:From:Reply-To:Subject:To; b=nL9u0B/Ju+CPza2LovRmbrXspEyWxYwGcSTDQilFXF4TXKkmZfgm4snLPAKzKuOGAyl hlSZPbzRvAKC5q0uWv9yeVZI9yNLdJ3TI9ukVu/X0ylMrMptaIDtQumQLQuDtoxM3FgXz Lc37HwICTTSkOG/94/rQLMm0DczLi0PHf04= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649949158100005 Content-Type: text/plain; charset="utf-8" Clean up error handling using cascading labels + goto. (port of commit 379b179 + bcab714) Cc: Jian J Wang Cc: Liming Gao Cc: Hao A Wu Cc: Ray Ni Cc: Laszlo Ersek Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann Reviewed-by: Hao A Wu Reviewed-by: Laszlo Ersek --- .../Pci/SataControllerDxe/SataController.c | 80 ++++++++----------- 1 file changed, 35 insertions(+), 45 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c b/MdeM= odulePkg/Bus/Pci/SataControllerDxe/SataController.c index f661efaec7e9..d67a3e69f649 100644 --- a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c +++ b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c @@ -375,8 +375,7 @@ SataControllerStart ( EFI_OPEN_PROTOCOL_BY_DRIVER ); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "SataControllerStart error. return status =3D %r\= n", Status)); - return Status; + goto Bail; } =20 // @@ -385,7 +384,7 @@ SataControllerStart ( Private =3D AllocateZeroPool (sizeof (EFI_SATA_CONTROLLER_PRIVATE_DATA)); if (Private =3D=3D NULL) { Status =3D EFI_OUT_OF_RESOURCES; - goto Done; + goto ClosePciIo; } =20 // @@ -412,7 +411,7 @@ SataControllerStart ( &Private->OriginalPciAttributes ); if (EFI_ERROR (Status)) { - goto Done; + goto FreeSataPrivate; } =20 DEBUG (( @@ -428,7 +427,7 @@ SataControllerStart ( &Supports ); if (EFI_ERROR (Status)) { - goto Done; + goto FreeSataPrivate; } =20 DEBUG ((DEBUG_INFO, "Supported PCI Attributes =3D 0x%llx\n", Supports)); @@ -441,7 +440,7 @@ SataControllerStart ( NULL ); if (EFI_ERROR (Status)) { - goto Done; + goto FreeSataPrivate; } =20 DEBUG ((DEBUG_INFO, "Enabled PCI Attributes =3D 0x%llx\n", Supports)); @@ -456,7 +455,7 @@ SataControllerStart ( ); if (EFI_ERROR (Status)) { ASSERT (FALSE); - goto Done; + goto RestorePciAttributes; } =20 if (IS_PCI_IDE (&PciData)) { @@ -470,7 +469,7 @@ SataControllerStart ( DEBUG ((DEBUG_INFO, "Ports Implemented(PI) =3D 0x%x\n", Data32)); if (Data32 =3D=3D 0) { Status =3D EFI_UNSUPPORTED; - goto Done; + goto RestorePciAttributes; } =20 MaxPortNumber =3D 31; @@ -502,19 +501,19 @@ SataControllerStart ( Private->DisqualifiedModes =3D AllocateZeroPool ((sizeof (EFI_ATA_COLLEC= TIVE_MODE)) * TotalCount); if (Private->DisqualifiedModes =3D=3D NULL) { Status =3D EFI_OUT_OF_RESOURCES; - goto Done; + goto RestorePciAttributes; } =20 Private->IdentifyData =3D AllocateZeroPool ((sizeof (EFI_IDENTIFY_DATA))= * TotalCount); if (Private->IdentifyData =3D=3D NULL) { Status =3D EFI_OUT_OF_RESOURCES; - goto Done; + goto FreeDisqualifiedModes; } =20 Private->IdentifyValid =3D AllocateZeroPool ((sizeof (BOOLEAN)) * TotalC= ount); if (Private->IdentifyValid =3D=3D NULL) { Status =3D EFI_OUT_OF_RESOURCES; - goto Done; + goto FreeIdentifyData; } =20 // @@ -527,46 +526,37 @@ SataControllerStart ( NULL ); =20 -Done: if (EFI_ERROR (Status)) { - gBS->CloseProtocol ( - Controller, - &gEfiPciIoProtocolGuid, - This->DriverBindingHandle, - Controller - ); - if (Private !=3D NULL) { - if (Private->DisqualifiedModes !=3D NULL) { - FreePool (Private->DisqualifiedModes); - } - - if (Private->IdentifyData !=3D NULL) { - FreePool (Private->IdentifyData); - } - - if (Private->IdentifyValid !=3D NULL) { - FreePool (Private->IdentifyValid); - } - - if (Private->PciAttributesChanged) { - // - // Restore original PCI attributes - // - PciIo->Attributes ( - PciIo, - EfiPciIoAttributeOperationSet, - Private->OriginalPciAttributes, - NULL - ); - } - - FreePool (Private); - } + goto FreeIdentifyValid; } =20 DEBUG ((DEBUG_INFO, "SataControllerStart end with %r\n", Status)); =20 return Status; + +FreeIdentifyValid: + FreePool (Private->IdentifyValid); +FreeIdentifyData: + FreePool (Private->IdentifyData); +FreeDisqualifiedModes: + FreePool (Private->DisqualifiedModes); +RestorePciAttributes: + // + // Restore original PCI attributes + // + Private->PciIo->Attributes ( + Private->PciIo, + EfiPciIoAttributeOperationSet, + Private->OriginalPciAttributes, + NULL + ); +FreeSataPrivate: + FreePool (Private); +ClosePciIo: + gBS->CloseProtocol (Controller, &gEfiPciIoProtocolGuid, This->DriverBind= ingHandle, Controller); +Bail: + DEBUG ((DEBUG_ERROR, "SataControllerStart error return status =3D %r\n",= Status)); + return Status; } =20 /** --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104406): https://edk2.groups.io/g/devel/message/104406 Mute This Topic: https://groups.io/mt/98787854/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104407+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104407+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649948; cv=none; d=zohomail.com; s=zohoarc; b=ZHDLDc6ocexzVmpTmnOLK5nCjP4hNOBQPb8IkcEi+A0KAzSgpCxMNEUQoX/kzye07uumTrzA6n7qMAaR4sBgD2VCb2DSY1AUnicylWZjo9giLYrZdUb/SzHLVYmToU8fDsI94JX/q/eNiqzmGixvem1dy03aDM9wJj92r+JCzRE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649948; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=zs5W596VsbbW7rBGMUoMfQOO1RETU71uzO7svAvk6xs=; b=AdCL5CpSbxJjuclg4PBGBGsuGzHZvGNNRcmDDttLj1lchK2HAZCN/Ds2VxIE+ohj2eT4cs52gVPmtXXjPBWI3Sqlg5k6VktibywwsRQOQRT5L/7bGrlh/NZfVC7EARdQIy2SXHxSwSu0S8bhBDbxDnZvVJORnoYlymKglTAUF50= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104407+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649948789689.0649573963375; Tue, 9 May 2023 09:32:28 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Kc0OYY1788612xtbiEFWyI0b; Tue, 09 May 2023 09:32:28 -0700 X-Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mx.groups.io with SMTP id smtpd.web11.37801.1683649947716463423 for ; Tue, 09 May 2023 09:32:28 -0700 X-Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-3f42711865eso16346295e9.0 for ; Tue, 09 May 2023 09:32:27 -0700 (PDT) X-Gm-Message-State: SEazT3NeDqOJfbWBAL6jVQFEx1787277AA= X-Google-Smtp-Source: ACHHUZ4t65bo6BsseeKBuGVKVmKK5wm0Uo2ls+xTnjx6+slYrGEN6SJrsK0XIwpIn7UV70dHcPV7Vg== X-Received: by 2002:a1c:4b19:0:b0:3f1:cfea:fd49 with SMTP id y25-20020a1c4b19000000b003f1cfeafd49mr9850328wma.1.1683649945947; Tue, 09 May 2023 09:32:25 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:25 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Jian J Wang , Liming Gao , Hao A Wu , Ray Ni Subject: [edk2-devel] [PATCH v2 02/12] MdeModulePkg/SataControllerDxe: Log expected errors at DEBUG_INFO level Date: Tue, 9 May 2023 17:32:02 +0100 Message-Id: <20230509163212.291333-3-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649948; bh=d8TJruFR+3AJyEzFXbhD93SzGQknO991vL8ObnlN5Qw=; h=Cc:Date:From:Reply-To:Subject:To; b=TTzPLCIfCFR5lbU0eDly7rNxpvLU8nQLrY9Wr72eBzJP4g58NmcqIrlRkZ/nm9iZ217 WWMtLS/6vd+X2G2HYpfvwf2TfNmrbBvq/W3zjsoo4bTn/l+B6x5R1EoPD3Oeid3sNjPjv KkLKAWo2Dbvdr/mdxnfz5Q4DlQ7EyFc/Hvc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649950584100011 Content-Type: text/plain; charset="utf-8" When a UEFI_DRIVER attempts to open a protocol interface with BY_DRIVER attribute that it already has open with BY_DRIVER attribute, OpenProtocol() returns EFI_ALREADY_STARTED. This is not an error. The UEFI-2.7 spec currently says, > EFI_ALREADY_STARTED -- Attributes is BY_DRIVER and there is an item on > the open list with an attribute of BY_DRIVER > whose agent handle is the same as AgentHandle. Downgrade the log mask for this one condition to DEBUG_INFO, in SataControllerStart(). This will match the log mask of the other two informative messages in this function. (ported from commit 5dfba97) Cc: Jian J Wang Cc: Liming Gao Cc: Hao A Wu Cc: Ray Ni Cc: Laszlo Ersek Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann Reviewed-by: Hao A Wu Reviewed-by: Laszlo Ersek --- .../Bus/Pci/SataControllerDxe/SataController.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c b/MdeM= odulePkg/Bus/Pci/SataControllerDxe/SataController.c index d67a3e69f649..277bc6182db6 100644 --- a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c +++ b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c @@ -358,10 +358,12 @@ SataControllerStart ( UINTN TotalCount; UINT64 Supports; UINT8 MaxPortNumber; + UINTN BailLogMask; =20 DEBUG ((DEBUG_INFO, "SataControllerStart start\n")); =20 - Private =3D NULL; + Private =3D NULL; + BailLogMask =3D DEBUG_ERROR; =20 // // Now test and open PCI I/O Protocol @@ -375,6 +377,15 @@ SataControllerStart ( EFI_OPEN_PROTOCOL_BY_DRIVER ); if (EFI_ERROR (Status)) { + if (Status =3D=3D EFI_ALREADY_STARTED) { + // + // This is an expected condition for OpenProtocol() / BY_DRIVER, in a + // DriverBindingStart() member function; degrade the log mask to + // DEBUG_INFO in order to reduce log pollution. + // + BailLogMask =3D DEBUG_INFO; + } + goto Bail; } =20 @@ -555,7 +566,7 @@ FreeSataPrivate: ClosePciIo: gBS->CloseProtocol (Controller, &gEfiPciIoProtocolGuid, This->DriverBind= ingHandle, Controller); Bail: - DEBUG ((DEBUG_ERROR, "SataControllerStart error return status =3D %r\n",= Status)); + DEBUG ((BailLogMask, "SataControllerStart error return status =3D %r\n",= Status)); return Status; } =20 --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104407): https://edk2.groups.io/g/devel/message/104407 Mute This Topic: https://groups.io/mt/98787855/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104408+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104408+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649950; cv=none; d=zohomail.com; s=zohoarc; b=aWSMcyp4caLMgjwgm84yZN9TTGBnTtfBT/jYot6tx1XmYnLD3WK/oLsMLgD6WfGWSqDro8qdx7Jm8vbqra9OM6xudpgyzHidSLyNu7DuSI+FHqldSan70xXlYu7AzxcKaD39AFWyGdnTZtVaYG8HwAcvcTHHGp9HO0jE6PyYEVA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649950; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=axS2ON52VkKja7huuuXOv17O/EB8aH7dBLVzuj2f484=; b=fppJWqA99t9nBAKi6ClOTkaZo1dGhHv4JKyuisqOxkBjtRGy/NSbjZk/+HnZYC18QsCvURALI/fDaC8zVzLhJOIEpMlsGCIVn/Wgg1+A1ymJmOTj8EYcO9M7f9k0GlQGKavkFFpX4kvBbv/pTyQp4sWbef7by8mA5JdjvMQIw0c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104408+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649950250832.7832150719252; Tue, 9 May 2023 09:32:30 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 66jmYY1788612xNdys6klBlu; Tue, 09 May 2023 09:32:29 -0700 X-Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mx.groups.io with SMTP id smtpd.web10.37759.1683649949016839880 for ; Tue, 09 May 2023 09:32:29 -0700 X-Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-3f420618d5bso22612985e9.1 for ; Tue, 09 May 2023 09:32:28 -0700 (PDT) X-Gm-Message-State: LMb5yUkBlF8VjkBLkiBGIysGx1787277AA= X-Google-Smtp-Source: ACHHUZ7cFtCqVZzIqFdHzSDJbuVSaECffh/ssEi9dD0E/xj4AUyLzJCf4APITu+aHEyF7NH2Mtoxvw== X-Received: by 2002:a1c:7c0f:0:b0:3f4:219f:5b7a with SMTP id x15-20020a1c7c0f000000b003f4219f5b7amr6080677wmc.30.1683649946965; Tue, 09 May 2023 09:32:26 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:26 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Jian J Wang , Liming Gao , Hao A Wu , Ray Ni , Mike Maslenkin Subject: [edk2-devel] [PATCH v2 03/12] MdeModulePkg/SataControllerDxe: Remove useless null check Date: Tue, 9 May 2023 17:32:03 +0100 Message-Id: <20230509163212.291333-4-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649949; bh=BMeSlTtrkiRtAPqq89EkcOShhOnvf77CZAtQcvq4md4=; h=Cc:Date:From:Reply-To:Subject:To; b=qbXkMYOrh6EF98rgGIk1S5LyD9MRAoVhiUeKl2lD6tOGXey88+qEobpxCfaOB3juup6 vcbATbKXHl8iRywKFgegc+1hpVkmI0CYcykAXhYc6uo1FOdepmG9SxJDlAMrDtFwkSxGj Y1TaQfC1EIXTkPJo7yXyU4qZQAaSCvYtAWA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649951126100015 Content-Type: text/plain; charset="utf-8" ASSERT (Private !=3D NULL) already covers this check. See commit 81310a6. Cc: Jian J Wang Cc: Liming Gao Cc: Hao A Wu Cc: Ray Ni Cc: Laszlo Ersek Cc: Mike Maslenkin Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann Reviewed-by: Hao A Wu Reviewed-by: Laszlo Ersek --- .../Pci/SataControllerDxe/SataController.c | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c b/MdeM= odulePkg/Bus/Pci/SataControllerDxe/SataController.c index 277bc6182db6..f0ffd311d7b9 100644 --- a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c +++ b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c @@ -626,34 +626,32 @@ SataControllerStop ( return Status; } =20 - if (Private !=3D NULL) { - if (Private->DisqualifiedModes !=3D NULL) { - FreePool (Private->DisqualifiedModes); - } - - if (Private->IdentifyData !=3D NULL) { - FreePool (Private->IdentifyData); - } + if (Private->DisqualifiedModes !=3D NULL) { + FreePool (Private->DisqualifiedModes); + } =20 - if (Private->IdentifyValid !=3D NULL) { - FreePool (Private->IdentifyValid); - } + if (Private->IdentifyData !=3D NULL) { + FreePool (Private->IdentifyData); + } =20 - if (Private->PciAttributesChanged) { - // - // Restore original PCI attributes - // - Private->PciIo->Attributes ( - Private->PciIo, - EfiPciIoAttributeOperationSet, - Private->OriginalPciAttributes, - NULL - ); - } + if (Private->IdentifyValid !=3D NULL) { + FreePool (Private->IdentifyValid); + } =20 - FreePool (Private); + if (Private->PciAttributesChanged) { + // + // Restore original PCI attributes + // + Private->PciIo->Attributes ( + Private->PciIo, + EfiPciIoAttributeOperationSet, + Private->OriginalPciAttributes, + NULL + ); } =20 + FreePool (Private); + // // Close protocols opened by Sata Controller driver // --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104408): https://edk2.groups.io/g/devel/message/104408 Mute This Topic: https://groups.io/mt/98787856/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104409+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104409+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649950; cv=none; d=zohomail.com; s=zohoarc; b=WXY83yv/ZuctmE7dz8LtgSYKaj1SgWztKcR1xK6lEZFSkn2kZVi9Whmizy1NA/OsC3m3gZOW8pzFYxw2PKzfVoMpQ9S1dxh6ZHokekEtMiTbv9brIgkqAoQbG9r3pj7R6rgDoY5KeiAfh0OhuQk49b7JNDGTy0Dz6g5y9KbLX9o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649950; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=PYst/JPz+UzsdrZ5ADV3UehoVVJNCoIpOrsYQ6DwkZc=; b=lq2U8Za17Qghwx1cwaBD/d9X9TmNqQ0C63C1v4JXUy/DHj7bkvHrkn5bep7nX+vuSl8MGhEImoiC+IIiWvXaZO9Ev0LUo3hAHyTUVIPtMJSm/Kr4xH5TAntgRpdsKXb6Tu0XR1Qplak7ooLtiXj3P/V3Gozcy2ASK7zIEUYCnGs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104409+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649950923789.3433845799354; Tue, 9 May 2023 09:32:30 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id y7EzYY1788612xiCkjbpRatl; Tue, 09 May 2023 09:32:30 -0700 X-Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.groups.io with SMTP id smtpd.web11.37803.1683649949808543042 for ; Tue, 09 May 2023 09:32:30 -0700 X-Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-3f42b984405so7544645e9.3 for ; Tue, 09 May 2023 09:32:29 -0700 (PDT) X-Gm-Message-State: dMAvDyYZS2yEhZXVrnFnhtckx1787277AA= X-Google-Smtp-Source: ACHHUZ6yLwICZj1UgE5f1YhOmyMNA6vsMNTDIe0/PZv+xXU6QzPLjXy2ZGjwyHl5KDt9a0dbm4h/mQ== X-Received: by 2002:a7b:cc10:0:b0:3f1:7aff:e14a with SMTP id f16-20020a7bcc10000000b003f17affe14amr9355423wmh.39.1683649947973; Tue, 09 May 2023 09:32:27 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:27 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Jian J Wang , Liming Gao , Hao A Wu , Ray Ni , Mike Maslenkin Subject: [edk2-devel] [PATCH v2 04/12] MdeModulePkg/SataControllerDxe: Fix up ASSERTS (Private != NULL) Date: Tue, 9 May 2023 17:32:04 +0100 Message-Id: <20230509163212.291333-5-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649950; bh=SRsY3HGLntuy/u6Wjb5Wyk0VusSKIpd6XsAXY5ccYQg=; h=Cc:Date:From:Reply-To:Subject:To; b=LVwe0JOqw/J3QHGryE4IhgOuZ/LwQ4s1jouYH8bniZN/7xIxMwOJbOrrxXy9QKOic5p 4z9xqYFwDBjsBFp37SE60HrJn6tohNYfmewmBYISAWZbV2HXjoDFPlC1uBdioNo2AbL5E JeGMNYU6xOk/LP/Wl7euLDrff3pAJ5FbWXE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649953095100023 Content-Type: text/plain; charset="utf-8" ASSERT (Private !=3D NULL) (where Private =3D CR(...)) is ineffective as CR(Ptr, Type, Member, Sig) either returns Ptr - offsetof(Type, Member), or ASSERTS on the signature, so it's unlikely to ever return NULL (must be passed a pointer =3D member's offset, or in this case, 0x4). ASSERT on This !=3D NULL instead. Cc: Jian J Wang Cc: Liming Gao Cc: Hao A Wu Cc: Ray Ni Cc: Laszlo Ersek Cc: Mike Maslenkin Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann Reviewed-by: Hao A Wu Reviewed-by: Laszlo Ersek --- MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c b/MdeM= odulePkg/Bus/Pci/SataControllerDxe/SataController.c index f0ffd311d7b9..ea0116071c6a 100644 --- a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c +++ b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c @@ -611,7 +611,6 @@ SataControllerStop ( } =20 Private =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (IdeInit); - ASSERT (Private !=3D NULL); =20 // // Uninstall the IDE Controller Init Protocol from this instance @@ -745,8 +744,8 @@ IdeInitGetChannelInfo ( { EFI_SATA_CONTROLLER_PRIVATE_DATA *Private; =20 + ASSERT (This !=3D NULL); Private =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (This); - ASSERT (Private !=3D NULL); =20 if (Channel < This->ChannelCount) { *Enabled =3D TRUE; @@ -845,8 +844,8 @@ IdeInitSubmitData ( EFI_SATA_CONTROLLER_PRIVATE_DATA *Private; UINTN DeviceIndex; =20 + ASSERT (This !=3D NULL); Private =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (This); - ASSERT (Private !=3D NULL); =20 if ((Channel >=3D This->ChannelCount) || (Device >=3D Private->DeviceCou= nt)) { return EFI_INVALID_PARAMETER; @@ -924,8 +923,8 @@ IdeInitDisqualifyMode ( EFI_SATA_CONTROLLER_PRIVATE_DATA *Private; UINTN DeviceIndex; =20 + ASSERT (This !=3D NULL); Private =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (This); - ASSERT (Private !=3D NULL); =20 if ((Channel >=3D This->ChannelCount) || (BadModes =3D=3D NULL) || (Devi= ce >=3D Private->DeviceCount)) { return EFI_INVALID_PARAMETER; @@ -1017,8 +1016,8 @@ IdeInitCalculateMode ( EFI_STATUS Status; UINTN DeviceIndex; =20 + ASSERT (This !=3D NULL); Private =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (This); - ASSERT (Private !=3D NULL); =20 if ((Channel >=3D This->ChannelCount) || (SupportedModes =3D=3D NULL) ||= (Device >=3D Private->DeviceCount)) { return EFI_INVALID_PARAMETER; --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104409): https://edk2.groups.io/g/devel/message/104409 Mute This Topic: https://groups.io/mt/98787857/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104410+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104410+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649951; cv=none; d=zohomail.com; s=zohoarc; b=iLXeZEIt+E6QKAVAbvTQzFYwi82sACfqdZXP6fOuc0uriQvYjJjQcUcHY4bP/r5MWnT6Lr9SoNMrhutPFcVziVEttY9M/elMQmNGIKInZlOo7qLhu4/b58b9qgQRtUem82bRkAgNI3g2QFJPxIpbEghvlTf4/CrnE7udvtanq54= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649951; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=CtR1vDW9/HUiDSkoKYpExdJTAoHXHjVHHMiAETFieS8=; b=FAburGsCNY4R188ygVXwbbYZcftpBJ0iedwDTbg9EB5YMdSfSNMecrlpm0uphs9kbQRfuC7kbucM0g+l8V7jYWyaJDMPkDXeN456QHdSlpylL5I84J2esNHPXvXZodQgajbdYy5YuY9fA+RZkOZb1BNs7Hh/p6aq61wv6RsnfIk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104410+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649951384284.95419998766374; Tue, 9 May 2023 09:32:31 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id KDgIYY1788612x8rA1WjD5zj; Tue, 09 May 2023 09:32:31 -0700 X-Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mx.groups.io with SMTP id smtpd.web10.37758.1683649946743736632 for ; Tue, 09 May 2023 09:32:30 -0700 X-Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-3f195b164c4so40565815e9.1 for ; Tue, 09 May 2023 09:32:29 -0700 (PDT) X-Gm-Message-State: idmbKiO2oHcAWWbYLgHHXwTRx1787277AA= X-Google-Smtp-Source: ACHHUZ62SouDoO0TCsAr3aodmautqaBt6m0pgxDJ8cqxaFohKexJpSqpreLFs32WcAt/1QBqjvOQxw== X-Received: by 2002:adf:ea4a:0:b0:306:3912:a7f0 with SMTP id j10-20020adfea4a000000b003063912a7f0mr10580252wrn.50.1683649949227; Tue, 09 May 2023 09:32:29 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:28 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann Subject: [edk2-devel] [PATCH v2 05/12] OvmfPkg: Replace the OVMF-specific SataControllerDxe Date: Tue, 9 May 2023 17:32:05 +0100 Message-Id: <20230509163212.291333-6-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649951; bh=27ThwivymhK/XdUsc9G/r2cdgZP2MKOU3rjpGIE3P2k=; h=Cc:Date:From:Reply-To:Subject:To; b=FGY7WpEjHLcfMwGmGdea9VOj782OlLErHoKa1HybCs52dSTmB0Zz9Nv/AUCWmhBd3ae GTIs7wpDkHL3+YQdU9q/4nrfQLaAtzug1n7cBW8nRMf0h+PHTL6kqr9zlXjhjBcwLVMwo CaE+cPilnFWuDcD5mNKJUGuq/2Uq0fwF81s= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649952693100019 Content-Type: text/plain; charset="utf-8" Replace the OVMF-specific SataControllerDxe (to be later removed) with the generic, MdeModulePkg one, for OvmfPkg{Ia32, X64, Ia32X64} platforms. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Tested-by: Gerd Hoffmann Acked-by: Gerd Hoffmann Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Reviewed-by: Laszlo Ersek --- OvmfPkg/OvmfPkgIa32.dsc | 2 +- OvmfPkg/OvmfPkgIa32.fdf | 2 +- OvmfPkg/OvmfPkgIa32X64.dsc | 2 +- OvmfPkg/OvmfPkgIa32X64.fdf | 2 +- OvmfPkg/OvmfPkgX64.dsc | 2 +- OvmfPkg/OvmfPkgX64.fdf | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index e333b8b41803..42cc28f8adce 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -830,7 +830,7 @@ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf - OvmfPkg/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf index c9c938439759..4c9be963a74d 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf @@ -271,7 +271,7 @@ INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.= inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf -INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index 25974230a27e..9f01384d037f 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -844,7 +844,7 @@ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf - OvmfPkg/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf index f52219e0c26d..7f599f15e341 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf @@ -272,7 +272,7 @@ INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.= inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf -INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index c1762ffca445..e59871af211b 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -918,7 +918,7 @@ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf - OvmfPkg/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf index 00c7f8849fb8..41912fc1bece 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf @@ -297,7 +297,7 @@ INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.= inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf -INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104410): https://edk2.groups.io/g/devel/message/104410 Mute This Topic: https://groups.io/mt/98787858/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104411+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104411+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649954; cv=none; d=zohomail.com; s=zohoarc; b=RsPjZGWqygP+kXOggszmXwnC26cV+uGscJ1C8dcWPjxzT6lJvI+/mXAqsSZ3RQs5wLXJkSux0DYVwH5X+RoflhyEDbTkt3u290B/oT7BKBAQU2/qg302MBZzjidjruy879SoywMFDvoR52qQh6BbCoqYRMtx+x8XSV2ywovulkQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649954; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=qUVT9u35uiUZ1JEWuGMeRk+aEK1tFyXGqhPHp4/yoQM=; b=hCRheCe3FfzMVwo1UxOkvbJDLOsfz4XqnCTH3WHlz+3kfZaubIt0M1kZ4yY9JvFiH/AuckD8quSI4995Bh01yQX9BLAO2CXpSB5RKsvYLRbd85RFH9c55hzC0RGgUyc0tgYSa16bD4xNFtaWzmuQufzZEEAYAfgeSZMIKN2qSrc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104411+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649954070330.04913403156286; Tue, 9 May 2023 09:32:34 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id lkfDYY1788612xY7DCGU2S62; Tue, 09 May 2023 09:32:33 -0700 X-Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.groups.io with SMTP id smtpd.web11.37805.1683649952790632149 for ; Tue, 09 May 2023 09:32:33 -0700 X-Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-3f19afc4f60so40845035e9.1 for ; Tue, 09 May 2023 09:32:32 -0700 (PDT) X-Gm-Message-State: KxBrN5WkKMJUOHWxbJzK5mrgx1787277AA= X-Google-Smtp-Source: ACHHUZ6NuB/c5lwFLXhttLFX7l/+rvqNxAs42DDIzYCIjloJv7x/oYPtONi2puyBujH/G8CgcCjj+g== X-Received: by 2002:a7b:cb90:0:b0:3f3:468d:d019 with SMTP id m16-20020a7bcb90000000b003f3468dd019mr9846662wmi.16.1683649950585; Tue, 09 May 2023 09:32:30 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:30 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann Subject: [edk2-devel] [PATCH v2 06/12] OvmfPkg/Microvm: Replace the OVMF-specific SataControllerDxe Date: Tue, 9 May 2023 17:32:06 +0100 Message-Id: <20230509163212.291333-7-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649953; bh=HX7REdF7u9pSAVtgYXw2Q1Rp0F+ip6qAzfQfxHg3ohs=; h=Cc:Date:From:Reply-To:Subject:To; b=FO9/WSe6bQ0SUIH1FoGF7HlTqmlCrulx0cgFuuvJPURMt3XfPchkgDGQQCkow16Wf6R kNYSFrgMdeq2jM801Up4290jnoezAcGqmmmachwmOtIGVwHOtPFR4buuTOaJtvk+18nTv bA0vtVlaKcQJM4VCz1q7zsjR8ZMXT/9Eux0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649956119100029 Content-Type: text/plain; charset="utf-8" Replace the OVMF-specific SataControllerDxe (to be later removed) with the generic, MdeModulePkg one, for the Microvm platform. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann Reviewed-by: Laszlo Ersek --- OvmfPkg/Microvm/MicrovmX64.dsc | 2 +- OvmfPkg/Microvm/MicrovmX64.fdf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc index 5f671bc3840d..8f8db7556667 100644 --- a/OvmfPkg/Microvm/MicrovmX64.dsc +++ b/OvmfPkg/Microvm/MicrovmX64.dsc @@ -768,7 +768,7 @@ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf - OvmfPkg/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/Microvm/MicrovmX64.fdf b/OvmfPkg/Microvm/MicrovmX64.fdf index 0d44e8dfbae8..eda24a3ec9bc 100644 --- a/OvmfPkg/Microvm/MicrovmX64.fdf +++ b/OvmfPkg/Microvm/MicrovmX64.fdf @@ -229,7 +229,7 @@ INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.= inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf -INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104411): https://edk2.groups.io/g/devel/message/104411 Mute This Topic: https://groups.io/mt/98787861/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104412+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104412+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649954; cv=none; d=zohomail.com; s=zohoarc; b=SBiPQfWvGZ/etd35cPXyQgy/H77FIvzJAlkIHhLl1dCRFRUT7HfAhKIi+SAhg8KbDLa2i6mOXuuerGrKQ6KYHHn5oFjEw6Ln/mG9PMTfcYOH0mT+ezSGO/zXwcLf1zl456g90EKByTFvBzO0IiiOQVsnAJCXqG/0tyy+yrL1Llc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649954; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=MiCVkoC0jgBdr7TnQDFF9Qv+8MgyU4kju94Y6LA3mMQ=; b=laPyTTfn2S3eHFPFv52oWembSDCC9BICetziJo3gmqu6WqadVpY7vLDRXDrMadbk/IogibtBwtKrtqL7vl+iAHncuF6OO96NgCNa89uQYRPnIzS9jqKCzPx4zBLFbHCq4xDRuyCWwFIKlCgu2A6gt9dQUgXi+PZiXu6VWE0Iyps= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104412+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649954605652.081879020373; Tue, 9 May 2023 09:32:34 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id xWNVYY1788612xP6MLNagHkE; Tue, 09 May 2023 09:32:34 -0700 X-Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by mx.groups.io with SMTP id smtpd.web11.37807.1683649953491496470 for ; Tue, 09 May 2023 09:32:33 -0700 X-Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-3f19ab994ccso61418105e9.2 for ; Tue, 09 May 2023 09:32:33 -0700 (PDT) X-Gm-Message-State: XAGprdsNrSVENSH0EGdPFn32x1787277AA= X-Google-Smtp-Source: ACHHUZ54x0hNCXgnCld42KV57dZLbHshvKl9MszF15UEPrNYj6KrJIBzNkPdMbi+JcL5wWcqUFTVHA== X-Received: by 2002:a05:6000:1b04:b0:306:2fd3:2eeb with SMTP id f4-20020a0560001b0400b003062fd32eebmr9720169wrz.12.1683649951658; Tue, 09 May 2023 09:32:31 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:31 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Rebecca Cran , Peter Grehan , =?UTF-8?q?Corvin=20K=C3=B6hne?= Subject: [edk2-devel] [PATCH v2 07/12] OvmfPkg/Bhyve: Replace the OVMF-specific SataControllerDxe Date: Tue, 9 May 2023 17:32:07 +0100 Message-Id: <20230509163212.291333-8-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649954; bh=jqcaLHgjAAQx53NRdpSo7V8Eqoiu04YIlMFab1lwjxc=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=tuop7VAiIXdets6pQmhB/Y5MR8Wgtr7HkVmICXi+r662xz9SXBN2whd/YzWx1TNZtn0 5+NdtSoz17Mn+EBltYDeV1SK0HR/b7cCfQ6QAca/AUa7zZn5iXKefLzZ/X32+KyRK3YLX B/HHrJDfIj/inpNOZBlB4KBZ9J4ISpJ1ZT0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649956635100031 Replace the OVMF-specific SataControllerDxe (to be later removed) with the generic, MdeModulePkg one, for the Bhyve platform. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Cc: Rebecca Cran Cc: Peter Grehan Cc: Corvin K=C3=B6hne Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Acked-by: Corvin K=C3=B6hne Acked-by: Gerd Hoffmann Reviewed-by: Laszlo Ersek --- OvmfPkg/Bhyve/BhyveX64.dsc | 2 +- OvmfPkg/Bhyve/BhyveX64.fdf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc index d0d2712c5662..bb317a50e6af 100644 --- a/OvmfPkg/Bhyve/BhyveX64.dsc +++ b/OvmfPkg/Bhyve/BhyveX64.dsc @@ -698,7 +698,7 @@ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf - OvmfPkg/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/Bhyve/BhyveX64.fdf b/OvmfPkg/Bhyve/BhyveX64.fdf index 153b3cfeba55..3f6270c048cc 100644 --- a/OvmfPkg/Bhyve/BhyveX64.fdf +++ b/OvmfPkg/Bhyve/BhyveX64.fdf @@ -239,7 +239,7 @@ INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.= inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf -INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104412): https://edk2.groups.io/g/devel/message/104412 Mute This Topic: https://groups.io/mt/98787862/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104413+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104413+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649955; cv=none; d=zohomail.com; s=zohoarc; b=FWt+q7e6CHs2NPk4DIaS5qAmQn4IC445ylhDrKTtXOuUuFYuXcUkhusgeqCdyosxAllDB57h7KYRCrII6ncEzkXGMBO/VC9SyIf2aIl1+PUunj+hBx8ibMSMg6C6W6nAEWJON6sQnTm93jSkiHiatcf7Dfl2mPZDcCfKlIFBPJg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649955; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=H1tMDH7z9FEm+LgIGOcW/j+75yDdXf1Gz7LXWIvtnKI=; b=kXKePPFka8LAgglx+ULfF84W7Hg/ri4L0GDqY9fe3ix8utVFuP2b7eJjmKchjP9UC58Mb8W4t33ovYBmEYhLNdjq61/524vBHTEDt+zmYkEJ6M4uag2P8g3T2DdNEYeyY/HHbUBJdI20KrfHP2ik0Y9ERzTjAcN3iPNFBuF++NM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104413+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649955710228.34047814816915; Tue, 9 May 2023 09:32:35 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 7jZsYY1788612x3hYUTtKO4t; Tue, 09 May 2023 09:32:35 -0700 X-Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by mx.groups.io with SMTP id smtpd.web11.37808.1683649954725855321 for ; Tue, 09 May 2023 09:32:35 -0700 X-Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3f42769a0c1so21977035e9.2 for ; Tue, 09 May 2023 09:32:34 -0700 (PDT) X-Gm-Message-State: kpl3hx4Uruv0skAt5Avz1W7ox1787277AA= X-Google-Smtp-Source: ACHHUZ4rDa1gjXB4O6xDfIFRQsV2N+Exi7Cc4Vyuqq+Ak1Tf0IXjIYIfeZ7DtYokcslZj+PocaI3uw== X-Received: by 2002:a7b:cb10:0:b0:3ed:2a41:8525 with SMTP id u16-20020a7bcb10000000b003ed2a418525mr9700639wmj.22.1683649952863; Tue, 09 May 2023 09:32:32 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:32 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Sebastien Boeuf Subject: [edk2-devel] [PATCH v2 08/12] OvmfPkg/CloudHv: Replace the OVMF-specific SataControllerDxe Date: Tue, 9 May 2023 17:32:08 +0100 Message-Id: <20230509163212.291333-9-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649955; bh=hzJSE/blhUi42zvVI7vZwKHFpyoQCdjM32I81s3vkQI=; h=Cc:Date:From:Reply-To:Subject:To; b=bZUgpdH4/P/Sp/C5n7jKLqJnlHART/tCdJo0qrI2Qw3bGSg7IFPMgeO+07HNJXqYcHY ekEs91Tv4WOY9Oswh3jUiapMdKcHQB28U3tE6zQ+tS5Fo7UjuawAGLRL5yL/8bImbYTcT /fAOcVBqvk2Yo9JVqW7jiW3HtSFjf2/7v5o= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649956644100032 Content-Type: text/plain; charset="utf-8" Replace the OVMF-specific SataControllerDxe (to be later removed) with the generic, MdeModulePkg one, for the CloudHv platform. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Cc: Sebastien Boeuf Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann --- OvmfPkg/CloudHv/CloudHvX64.dsc | 2 +- OvmfPkg/CloudHv/CloudHvX64.fdf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc index 2a1139daaa19..fcc07ecc4167 100644 --- a/OvmfPkg/CloudHv/CloudHvX64.dsc +++ b/OvmfPkg/CloudHv/CloudHvX64.dsc @@ -787,7 +787,7 @@ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf - OvmfPkg/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf index 72de7bcdad66..387f305ed8cf 100644 --- a/OvmfPkg/CloudHv/CloudHvX64.fdf +++ b/OvmfPkg/CloudHv/CloudHvX64.fdf @@ -262,7 +262,7 @@ INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.= inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf -INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104413): https://edk2.groups.io/g/devel/message/104413 Mute This Topic: https://groups.io/mt/98787863/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104414+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104414+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649957; cv=none; d=zohomail.com; s=zohoarc; b=TTlgwFtxM1hNSvEMuDX5zJaAIhmiBfTX1+wjQdnKtbZIpzbTwF7A7Q5qEtK1d1sWT7+WtkhkrmDrh2KxCoN/WMbhmac/24i7p/az4//OoJEG2XCFOYx8WaP1WrbqgoL7o+tI7rZwK29wxV4NMozjxn6QEvOUg8TmvSgZCAYc5Z0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649957; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=eahaeoqeEtFKbbXkpvA3TPHWaOgF2OBhBYI4y5LHpyU=; b=VXmDFJD06RFg1gxgOPBWJxfkDBrM5RiVkLwGL75Tzd6zEy8h41FAHkLozbtMLVm9uuxC86ZO9utiRt+o+PZ68UqE397DI6y4DZBil6mxrqgPfTAJQOLJtXiJQ8FtdOsdqhTk0OKRQ2SgULXUCUkufTOhJYkYn1Ta8oPvv8RV2c4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104414+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649957001962.3853928184175; Tue, 9 May 2023 09:32:37 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id taP4YY1788612xLj3gIhDC9h; Tue, 09 May 2023 09:32:36 -0700 X-Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by mx.groups.io with SMTP id smtpd.web11.37810.1683649955824139912 for ; Tue, 09 May 2023 09:32:36 -0700 X-Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-3f42c865534so8302865e9.2 for ; Tue, 09 May 2023 09:32:35 -0700 (PDT) X-Gm-Message-State: XVdgeWn1zdr8W9qNPwFCuI0lx1787277AA= X-Google-Smtp-Source: ACHHUZ58H/NnS5Qa2Fn9zI0GIEAgGnhP99Hhfr2Fx06LXH5nf7pFycK66vHCaLj1QwXqTWCo06XEAw== X-Received: by 2002:a05:600c:cf:b0:3f4:2a06:dc59 with SMTP id u15-20020a05600c00cf00b003f42a06dc59mr3042312wmm.12.1683649953874; Tue, 09 May 2023 09:32:33 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:33 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann Subject: [edk2-devel] [PATCH v2 09/12] OvmfPkg/IntelTdx: Replace the OVMF-specific SataControllerDxe Date: Tue, 9 May 2023 17:32:09 +0100 Message-Id: <20230509163212.291333-10-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649956; bh=4o0Mf96pFCwVAP+t9DYHWNwm6rIWDxM3hL9mES4OuYE=; h=Cc:Date:From:Reply-To:Subject:To; b=H816raL90Skf4DWXNegsXpSRj3DG5UIof/pAIKrxbQcCFygdIsLKRCOibngz56Pn7xO 5hwKfUE4zhn2AiVa0NJC9JW3D6EuNyl927lJ2pg2IORHsKke7Rh4ljGfFzVRIrxjdvj6M wVnshPAsS7Z1qw/hGd0OC3aLr469klz3Po0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649959197100039 Content-Type: text/plain; charset="utf-8" Replace the OVMF-specific SataControllerDxe (to be later removed) with the generic, MdeModulePkg one, for the IntelTdx platform. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann --- OvmfPkg/IntelTdx/IntelTdxX64.dsc | 2 +- OvmfPkg/IntelTdx/IntelTdxX64.fdf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX6= 4.dsc index d4403f11a7c6..eec41d3f6527 100644 --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc @@ -667,7 +667,7 @@ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf - OvmfPkg/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.fdf b/OvmfPkg/IntelTdx/IntelTdxX6= 4.fdf index 73dffc104301..69ed7a9bc6f4 100644 --- a/OvmfPkg/IntelTdx/IntelTdxX64.fdf +++ b/OvmfPkg/IntelTdx/IntelTdxX64.fdf @@ -222,7 +222,7 @@ INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe= .inf INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf -INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104414): https://edk2.groups.io/g/devel/message/104414 Mute This Topic: https://groups.io/mt/98787864/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104415+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104415+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649958; cv=none; d=zohomail.com; s=zohoarc; b=T9t2Y2+ytPtYNd7KG/IzWOfAwHomfC4IAr3P+3rSL8mTNbkEHo/kb6J5HOWK1aROTKP0Y9Uyj2TrNQaTl2QYBaTb9VJKQ2bmTTbplKqn7chWZ9Zl6UrVOIaG9lXA/mDyKKVt0coIW3Z1FJF4XV58YCf94PLAPI2vRxY/eDPzz2g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649958; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=YUWzPQMzWGj5HzXSE2GoYroCR40pDHmZ9SO9574eJ24=; b=le9CWd2d4H9ql+weJTRsxiwwRSCWV/Gl6RxxQ2GQvLaDZcC6KMoh67bogh/2XWgJ2xpn9djZmVBKDjZdL6QAmMb9Gi6Bwkfvwyp0p/cagDGY6LTz1d8N4dINbA+4JK3LdeieR8XfJf1A1ihO360c8V2d2DzY6W91srUQeCXYHg0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104415+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649957840207.14407337933903; Tue, 9 May 2023 09:32:37 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id RZbdYY1788612xT8MdfKew46; Tue, 09 May 2023 09:32:37 -0700 X-Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by mx.groups.io with SMTP id smtpd.web11.37811.1683649956719623634 for ; Tue, 09 May 2023 09:32:37 -0700 X-Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-3f42c865534so8303035e9.2 for ; Tue, 09 May 2023 09:32:36 -0700 (PDT) X-Gm-Message-State: kfi8DTaYeexr0xkb397MVXknx1787277AA= X-Google-Smtp-Source: ACHHUZ6Id/bqeUIQt1NvuJliKGqTH0O4EoseuOVAenvXTOOryTo7y3kgA5JX4XyhFrTCo8w34gRsXw== X-Received: by 2002:a7b:c381:0:b0:3f1:819d:d046 with SMTP id s1-20020a7bc381000000b003f1819dd046mr11107301wmj.5.1683649955042; Tue, 09 May 2023 09:32:35 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:34 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Erdem Aktas , James Bottomley , Min Xu , Tom Lendacky , Michael Roth Subject: [edk2-devel] [PATCH v2 10/12] OvmfPkg/AmdSev: Replace the OVMF-specific SataControllerDxe Date: Tue, 9 May 2023 17:32:10 +0100 Message-Id: <20230509163212.291333-11-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649957; bh=U3waySyG9a3txuC3FtRRBguPfdGgqJCafi7hSr41heQ=; h=Cc:Date:From:Reply-To:Subject:To; b=kkpc6Xbp7uKtkBlrBLRtBYBlUqBo2L9zr7glRGGMzgVOdYvre3YQupQUDmTGUu+7NYY Um4XGww8gxYRMHCDBAe9ZPK3fj86jFU7Jay8SALmJ6Q5A2LuOB1eD1jJAZqs/8e+hjdxb hxNEmdfYwu6BLYyjWmvy6MWwSzzQtN7xPpE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649959200100040 Content-Type: text/plain; charset="utf-8" Replace the OVMF-specific SataControllerDxe (to be later removed) with the generic, MdeModulePkg one, for the AmdSev platform. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Cc: Erdem Aktas Cc: James Bottomley Cc: Min Xu Cc: Tom Lendacky Cc: Michael Roth Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann --- OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +- OvmfPkg/AmdSev/AmdSevX64.fdf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc index 943c4eed9831..4c726fd55529 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc @@ -668,7 +668,7 @@ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf - OvmfPkg/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf index fec08468d3e0..463bd3e9ef15 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.fdf +++ b/OvmfPkg/AmdSev/AmdSevX64.fdf @@ -250,7 +250,7 @@ INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.= inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf -INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104415): https://edk2.groups.io/g/devel/message/104415 Mute This Topic: https://groups.io/mt/98787865/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104416+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104416+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649959; cv=none; d=zohomail.com; s=zohoarc; b=lInxd3SGhhCoG46f9rCknB0FMzkdmT4NLKI3dytl8WHd8CDwPn9ECU1aVPIs75KuBFDFDyKDnez0pX/2ZStsXJDAzKfqJj8YoSdLXyHKmKPn4BGm9BJXJO+M3HCmvQZbrJdjM7PSq3Q6ckII4w5+9guFpILAxmbJDGiP8kNUhc4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649959; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=/nXMrsA+tCAChNGI+ppcnZF2wPU2TslGUXcJM6nwhSc=; b=GbfuOdPhLD1ge/JjnHaiZyBGHpEYo/HY44gdE2AJ8fjlofse4h0EHaLCCoX7sTA37aCAunD0t5ZSsFtymGJz9aaGWXsd1B6zoOZN/ndAqbRDTEChHgtV4JmcdKtNYZq4HUbc+MNqRGA/NKH+7J+nyGIUgUnUdhXx8NEl7vnOsWw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104416+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649959329886.1432171041374; Tue, 9 May 2023 09:32:39 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id DA9BYY1788612xmFiBBS3UoA; Tue, 09 May 2023 09:32:39 -0700 X-Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by mx.groups.io with SMTP id smtpd.web10.37764.1683649958074658041 for ; Tue, 09 May 2023 09:32:38 -0700 X-Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3f37a36b713so61645345e9.1 for ; Tue, 09 May 2023 09:32:37 -0700 (PDT) X-Gm-Message-State: MZTzvl8518QcnSfyqmrLyLjix1787277AA= X-Google-Smtp-Source: ACHHUZ4JPC30xS8NDfCHyUlp4/f+dC4BKzYj7Pm0EGxqz0NT4Y+4jbkq2GzQno028UVFsrgBAKBU5w== X-Received: by 2002:adf:cd8c:0:b0:307:3c2c:8295 with SMTP id q12-20020adfcd8c000000b003073c2c8295mr9105504wrj.68.1683649956258; Tue, 09 May 2023 09:32:36 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:35 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Anthony Perard , Julien Grall Subject: [edk2-devel] [PATCH v2 11/12] OvmfPkg/Xen: Replace the OVMF-specific SataControllerDxe Date: Tue, 9 May 2023 17:32:11 +0100 Message-Id: <20230509163212.291333-12-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649959; bh=mmv3M2lvBB+VuGUpo4px9fguCVu1tZ/otr+uWXz1FA4=; h=Cc:Date:From:Reply-To:Subject:To; b=f7jPXdgDXyDB2rLut54cxHREHCwUQ+0YS3H38I2hNUs7s+YO8LllxdwwnSVu6v/macW RsN51jJ18qpPZVim9oS1x58jwmBKZ+q3z1HMR1yiCHlVy7jMl33C3n09v7BIVnMWf9Ues S6vvcw0xSK3kb0Z75i8dO4acHw7s3bUeyTk= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649961191100047 Content-Type: text/plain; charset="utf-8" Replace the OVMF-specific SataControllerDxe (to be later removed) with the generic, MdeModulePkg one, for the OvmfXen platform. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Cc: Anthony Perard Cc: Julien Grall Signed-off-by: Pedro Falcato Acked-by: Anthony PERARD Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann --- OvmfPkg/OvmfXen.dsc | 2 +- OvmfPkg/OvmfXen.fdf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc index 1f44ec86c9c7..fa2a732fe33d 100644 --- a/OvmfPkg/OvmfXen.dsc +++ b/OvmfPkg/OvmfXen.dsc @@ -636,7 +636,7 @@ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf - OvmfPkg/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf diff --git a/OvmfPkg/OvmfXen.fdf b/OvmfPkg/OvmfXen.fdf index 8be69338c7b6..bdff7c52d80a 100644 --- a/OvmfPkg/OvmfXen.fdf +++ b/OvmfPkg/OvmfXen.fdf @@ -279,7 +279,7 @@ INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.= inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf -INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf +INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104416): https://edk2.groups.io/g/devel/message/104416 Mute This Topic: https://groups.io/mt/98787867/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 19 07:16:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104417+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104417+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683649961; cv=none; d=zohomail.com; s=zohoarc; b=aPwuZa+BXfjVNXPoNkGz8KMb6E7A/XYqPivWEMsWgGVIVM100JmUvzXvcrXPx0p/vcLjcAw1Bz20nkElhEjyegbHPRIQyDmWkMNaFQTpBmQsUY7b6aMbQ6OgIY2retuAULBCePkq7++wOg856pyDKtKLKwtyIZatlt3gin904SQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683649961; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=iB0bjO66tMHiH5nmKxH/TrOdMfP4vwbMYCCfWeSG/Vw=; b=QKNrAIZfXYIA8X4U9c+OPxl5KMk2xhjjO+OQx/MyJOdnrWHj/cpOhjj+f2DKXIbiCbeTg3C48C/GzKblpYYSqOAp5UR4/IOQVwA03qEjm+9978s0M5YuGyeVtc8BBP7yhcHYgrkPG4jyaRSTO65HigQCRyJbBszJ3c/882rtEfo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104417+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683649961652805.1716826851805; Tue, 9 May 2023 09:32:41 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id pk74YY1788612xXeOPUw3Zo5; Tue, 09 May 2023 09:32:41 -0700 X-Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.groups.io with SMTP id smtpd.web11.37816.1683649960002794745 for ; Tue, 09 May 2023 09:32:40 -0700 X-Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-3f315735514so215834145e9.1 for ; Tue, 09 May 2023 09:32:39 -0700 (PDT) X-Gm-Message-State: MKWqC4vX7jccMmYUCFjX48nZx1787277AA= X-Google-Smtp-Source: ACHHUZ6BfqQ6Ry/xn1dyU4xiFnY7MlCGsjcaPAvjGI17f6Iv99N+8k84abBopgwZKBMfPGpsNrniCg== X-Received: by 2002:adf:fd03:0:b0:306:2639:a1a2 with SMTP id e3-20020adffd03000000b003062639a1a2mr12985811wrr.31.1683649957626; Tue, 09 May 2023 09:32:37 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c204100b003f0a6a1f969sm20363938wmg.46.2023.05.09.09.32.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:32:37 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Laszlo Ersek , Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann Subject: [edk2-devel] [PATCH v2 12/12] OvmfPkg: Remove SataControllerDxe Date: Tue, 9 May 2023 17:32:12 +0100 Message-Id: <20230509163212.291333-13-pedro.falcato@gmail.com> In-Reply-To: <20230509163212.291333-1-pedro.falcato@gmail.com> References: <20230509163212.291333-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683649961; bh=EuWYJZodnlDS9L1/jLpDSsB5R9L41BM4uSePg6iyhbI=; h=Cc:Date:From:Reply-To:Subject:To; b=nXjAw+PfbQeNbpWVzqjd/14ZEEFHpe/+HlyXKThZOEoyOO3IwGJ4pNsC304qnSt3km7 Xc8JMhqtRB9RqgU/WdzPFwvt80QOrVVLUCBjib8juIYMmQWNdpAkgcrpwGhoWqLNXurSZ eD7spsEN32W1PRj5N/MFqpzTgFkcLlAupEs= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683649963437100051 Content-Type: text/plain; charset="utf-8" Now that OvmfPkg/SataControllerDxe and its MdeModulePkg counterpart have been unified, and no in-tree uses of the OVMF variant remain, let's delete it. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Tested-by: Gerd Hoffmann Acked-by: Gerd Hoffmann Signed-off-by: Pedro Falcato Acked-by: Ard Biesheuvel Reviewed-by: Laszlo Ersek --- OvmfPkg/SataControllerDxe/ComponentName.c | 170 --- OvmfPkg/SataControllerDxe/SataController.c | 1112 ----------------- OvmfPkg/SataControllerDxe/SataController.h | 544 -------- .../SataControllerDxe/SataControllerDxe.inf | 43 - 4 files changed, 1869 deletions(-) delete mode 100644 OvmfPkg/SataControllerDxe/ComponentName.c delete mode 100644 OvmfPkg/SataControllerDxe/SataController.c delete mode 100644 OvmfPkg/SataControllerDxe/SataController.h delete mode 100644 OvmfPkg/SataControllerDxe/SataControllerDxe.inf diff --git a/OvmfPkg/SataControllerDxe/ComponentName.c b/OvmfPkg/SataContro= llerDxe/ComponentName.c deleted file mode 100644 index 7b5912bab822..000000000000 --- a/OvmfPkg/SataControllerDxe/ComponentName.c +++ /dev/null @@ -1,170 +0,0 @@ -/** @file - UEFI Component Name(2) protocol implementation for Sata Controller drive= r. - - Copyright (c) 2011, Intel Corporation. All rights reserved.
- SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include "SataController.h" - -// -/// EFI Component Name Protocol -/// -GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gSataController= ComponentName =3D { - SataControllerComponentNameGetDriverName, - SataControllerComponentNameGetControllerName, - "eng" -}; - -// -/// EFI Component Name 2 Protocol -/// -GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gSataControlle= rComponentName2 =3D { - (EFI_COMPONENT_NAME2_GET_DRIVER_NAME)SataControllerComponentNameGetDrive= rName, - (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)SataControllerComponentNameGetC= ontrollerName, - "en" -}; - -// -/// Driver Name Strings -/// -GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mSataControllerDri= verNameTable[] =3D { - { - "eng;en", - (CHAR16 *)L"Sata Controller Init Driver" - }, - { - NULL, - NULL - } -}; - -/// -/// Controller Name Strings -/// -GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mSataControllerCon= trollerNameTable[] =3D { - { - "eng;en", - (CHAR16 *)L"Sata Controller" - }, - { - NULL, - NULL - } -}; - -/** - Retrieves a Unicode string that is the user readable name of the UEFI Dr= iver. - - @param This A pointer to the EFI_COMPONENT_NAME_PROTOCOL insta= nce. - @param Language A pointer to a three character ISO 639-2 language = identifier. - This is the language of the driver name that the c= aller - is requesting, and it must match one of the langua= ges specified - in SupportedLanguages. The number of languages su= pported by a - driver is up to the driver writer. - @param DriverName A pointer to the Unicode string to return. This U= nicode string - is the name of the driver specified by This in the= language - specified by Language. - - @retval EFI_SUCCESS The Unicode string for the Driver specifie= d by This - and the language specified by Language was= returned - in DriverName. - @retval EFI_INVALID_PARAMETER Language is NULL. - @retval EFI_INVALID_PARAMETER DriverName is NULL. - @retval EFI_UNSUPPORTED The driver specified by This does not supp= ort the - language specified by Language. -**/ -EFI_STATUS -EFIAPI -SataControllerComponentNameGetDriverName ( - IN EFI_COMPONENT_NAME_PROTOCOL *This, - IN CHAR8 *Language, - OUT CHAR16 **DriverName - ) -{ - return LookupUnicodeString2 ( - Language, - This->SupportedLanguages, - mSataControllerDriverNameTable, - DriverName, - (BOOLEAN)(This =3D=3D &gSataControllerComponentName) - ); -} - -/** - Retrieves a Unicode string that is the user readable name of the control= ler - that is being managed by an UEFI Driver. - - @param This A pointer to the EFI_COMPONENT_NAME_PROTOC= OL instance. - @param ControllerHandle The handle of a controller that the driver= specified by - This is managing. This handle specifies t= he controller - whose name is to be returned. - @param ChildHandle OPTIONAL The handle of the child controller to retr= ieve the name - of. This is an optional parameter that ma= y be NULL. It - will be NULL for device drivers. It will = also be NULL - for a bus drivers that wish to retrieve th= e name of the - bus controller. It will not be NULL for a= bus driver - that wishes to retrieve the name of a chil= d controller. - @param Language A pointer to a three character ISO 639-2 l= anguage - identifier. This is the language of the c= ontroller name - that the caller is requesting, and it must= match one - of the languages specified in SupportedLan= guages. The - number of languages supported by a driver = is up to the - driver writer. - @param ControllerName A pointer to the Unicode string to return.= This Unicode - string is the name of the controller speci= fied by - ControllerHandle and ChildHandle in the la= nguage - specified by Language from the point of vi= ew of the - driver specified by This. - - @retval EFI_SUCCESS The Unicode string for the user readable n= ame in the - language specified by Language for the dri= ver - specified by This was returned in DriverNa= me. - @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. - @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a va= lid - EFI_HANDLE. - @retval EFI_INVALID_PARAMETER Language is NULL. - @retval EFI_INVALID_PARAMETER ControllerName is NULL. - @retval EFI_UNSUPPORTED The driver specified by This is not curren= tly - managing the controller specified by - ControllerHandle and ChildHandle. - @retval EFI_UNSUPPORTED The driver specified by This does not supp= ort the - language specified by Language. -**/ -EFI_STATUS -EFIAPI -SataControllerComponentNameGetControllerName ( - IN EFI_COMPONENT_NAME_PROTOCOL *This, - IN EFI_HANDLE ControllerHandle, - IN EFI_HANDLE ChildHandle OPTIONAL, - IN CHAR8 *Language, - OUT CHAR16 **ControllerName - ) -{ - EFI_STATUS Status; - - // - // Make sure this driver is currently managing ControllHandle - // - Status =3D EfiTestManagedDevice ( - ControllerHandle, - gSataControllerDriverBinding.DriverBindingHandle, - &gEfiPciIoProtocolGuid - ); - if (EFI_ERROR (Status)) { - return Status; - } - - if (ChildHandle !=3D NULL) { - return EFI_UNSUPPORTED; - } - - return LookupUnicodeString2 ( - Language, - This->SupportedLanguages, - mSataControllerControllerNameTable, - ControllerName, - (BOOLEAN)(This =3D=3D &gSataControllerComponentName) - ); -} diff --git a/OvmfPkg/SataControllerDxe/SataController.c b/OvmfPkg/SataContr= ollerDxe/SataController.c deleted file mode 100644 index 2b550b0a3ec0..000000000000 --- a/OvmfPkg/SataControllerDxe/SataController.c +++ /dev/null @@ -1,1112 +0,0 @@ -/** @file - This driver module produces IDE_CONTROLLER_INIT protocol for Sata Contro= llers. - - Copyright (c) 2011, Intel Corporation. All rights reserved.
- SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include "SataController.h" - -/// -/// EFI_DRIVER_BINDING_PROTOCOL instance -/// -EFI_DRIVER_BINDING_PROTOCOL gSataControllerDriverBinding =3D { - SataControllerSupported, - SataControllerStart, - SataControllerStop, - 0xa, - NULL, - NULL -}; - -/** - Read AHCI Operation register. - - @param PciIo The PCI IO protocol instance. - @param Offset The operation register offset. - - @return The register content read. - -**/ -UINT32 -EFIAPI -AhciReadReg ( - IN EFI_PCI_IO_PROTOCOL *PciIo, - IN UINT32 Offset - ) -{ - UINT32 Data; - - ASSERT (PciIo !=3D NULL); - - Data =3D 0; - - PciIo->Mem.Read ( - PciIo, - EfiPciIoWidthUint32, - AHCI_BAR_INDEX, - (UINT64)Offset, - 1, - &Data - ); - - return Data; -} - -/** - Write AHCI Operation register. - - @param PciIo The PCI IO protocol instance. - @param Offset The operation register offset. - @param Data The data used to write down. - -**/ -VOID -EFIAPI -AhciWriteReg ( - IN EFI_PCI_IO_PROTOCOL *PciIo, - IN UINT32 Offset, - IN UINT32 Data - ) -{ - ASSERT (PciIo !=3D NULL); - - PciIo->Mem.Write ( - PciIo, - EfiPciIoWidthUint32, - AHCI_BAR_INDEX, - (UINT64)Offset, - 1, - &Data - ); - - return; -} - -/** - This function is used to calculate the best PIO mode supported by specif= ic IDE device - - @param IdentifyData The identify data of specific IDE device. - @param DisPioMode Disqualified PIO modes collection. - @param SelectedMode Available PIO modes collection. - - @retval EFI_SUCCESS Best PIO modes are returned. - @retval EFI_UNSUPPORTED The device doesn't support PIO mode, - or all supported modes have been disqualified. -**/ -EFI_STATUS -CalculateBestPioMode ( - IN EFI_IDENTIFY_DATA *IdentifyData, - IN UINT16 *DisPioMode OPTIONAL, - OUT UINT16 *SelectedMode - ) -{ - UINT16 PioMode; - UINT16 AdvancedPioMode; - UINT16 Temp; - UINT16 Index; - UINT16 MinimumPioCycleTime; - - Temp =3D 0xff; - - PioMode =3D (UINT8)(((ATA5_IDENTIFY_DATA *)(&(IdentifyData->AtaData)))->= pio_cycle_timing >> 8); - - // - // See whether Identify Data word 64 - 70 are valid - // - if ((IdentifyData->AtaData.field_validity & 0x02) =3D=3D 0x02) { - AdvancedPioMode =3D IdentifyData->AtaData.advanced_pio_modes; - DEBUG ((DEBUG_INFO, "CalculateBestPioMode: AdvancedPioMode =3D %x\n", = AdvancedPioMode)); - - for (Index =3D 0; Index < 8; Index++) { - if ((AdvancedPioMode & 0x01) !=3D 0) { - Temp =3D Index; - } - - AdvancedPioMode >>=3D 1; - } - - // - // If Temp is modified, mean the advanced_pio_modes is not zero; - // if Temp is not modified, mean there is no advanced PIO mode support= ed, - // the best PIO Mode is the value in pio_cycle_timing. - // - if (Temp !=3D 0xff) { - AdvancedPioMode =3D (UINT16)(Temp + 3); - } else { - AdvancedPioMode =3D PioMode; - } - - // - // Limit the PIO mode to at most PIO4. - // - PioMode =3D (UINT16)MIN (AdvancedPioMode, 4); - - MinimumPioCycleTime =3D IdentifyData->AtaData.min_pio_cycle_time_with_= flow_control; - - if (MinimumPioCycleTime <=3D 120) { - PioMode =3D (UINT16)MIN (4, PioMode); - } else if (MinimumPioCycleTime <=3D 180) { - PioMode =3D (UINT16)MIN (3, PioMode); - } else if (MinimumPioCycleTime <=3D 240) { - PioMode =3D (UINT16)MIN (2, PioMode); - } else { - PioMode =3D 0; - } - - // - // Degrade the PIO mode if the mode has been disqualified - // - if (DisPioMode !=3D NULL) { - if (*DisPioMode < 2) { - return EFI_UNSUPPORTED; // no mode below ATA_PIO_MODE_BELOW_2 - } - - if (PioMode >=3D *DisPioMode) { - PioMode =3D (UINT16)(*DisPioMode - 1); - } - } - - if (PioMode < 2) { - *SelectedMode =3D 1; // ATA_PIO_MODE_BELOW_2; - } else { - *SelectedMode =3D PioMode; // ATA_PIO_MODE_2 to ATA_PIO_MODE_4; - } - } else { - // - // Identify Data word 64 - 70 are not valid - // Degrade the PIO mode if the mode has been disqualified - // - if (DisPioMode !=3D NULL) { - if (*DisPioMode < 2) { - return EFI_UNSUPPORTED; // no mode below ATA_PIO_MODE_BELOW_2 - } - - if (PioMode =3D=3D *DisPioMode) { - PioMode--; - } - } - - if (PioMode < 2) { - *SelectedMode =3D 1; // ATA_PIO_MODE_BELOW_2; - } else { - *SelectedMode =3D 2; // ATA_PIO_MODE_2; - } - } - - return EFI_SUCCESS; -} - -/** - This function is used to calculate the best UDMA mode supported by speci= fic IDE device - - @param IdentifyData The identify data of specific IDE device. - @param DisUDmaMode Disqualified UDMA modes collection. - @param SelectedMode Available UDMA modes collection. - - @retval EFI_SUCCESS Best UDMA modes are returned. - @retval EFI_UNSUPPORTED The device doesn't support UDMA mode, - or all supported modes have been disqualified. -**/ -EFI_STATUS -CalculateBestUdmaMode ( - IN EFI_IDENTIFY_DATA *IdentifyData, - IN UINT16 *DisUDmaMode OPTIONAL, - OUT UINT16 *SelectedMode - ) -{ - UINT16 TempMode; - UINT16 DeviceUDmaMode; - - DeviceUDmaMode =3D 0; - - // - // Check whether the WORD 88 (supported UltraDMA by drive) is valid - // - if ((IdentifyData->AtaData.field_validity & 0x04) =3D=3D 0x00) { - return EFI_UNSUPPORTED; - } - - DeviceUDmaMode =3D IdentifyData->AtaData.ultra_dma_mode; - DEBUG ((DEBUG_INFO, "CalculateBestUdmaMode: DeviceUDmaMode =3D %x\n", De= viceUDmaMode)); - DeviceUDmaMode &=3D 0x3f; - TempMode =3D 0; // initialize it to UDMA-0 - - while ((DeviceUDmaMode >>=3D 1) !=3D 0) { - TempMode++; - } - - // - // Degrade the UDMA mode if the mode has been disqualified - // - if (DisUDmaMode !=3D NULL) { - if (*DisUDmaMode =3D=3D 0) { - *SelectedMode =3D 0; - return EFI_UNSUPPORTED; // no mode below ATA_UDMA_MODE_0 - } - - if (TempMode >=3D *DisUDmaMode) { - TempMode =3D (UINT16)(*DisUDmaMode - 1); - } - } - - // - // Possible returned mode is between ATA_UDMA_MODE_0 and ATA_UDMA_MODE_5 - // - *SelectedMode =3D TempMode; - - return EFI_SUCCESS; -} - -/** - The Entry Point of module. It follows the standard UEFI driver model. - - @param[in] ImageHandle The firmware allocated handle for the EFI imag= e. - @param[in] SystemTable A pointer to the EFI System Table. - - @retval EFI_SUCCESS The entry point is executed successfully. - @retval other Some error occurs when executing this entry point. - -**/ -EFI_STATUS -EFIAPI -InitializeSataControllerDriver ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - EFI_STATUS Status; - - // - // Install driver model protocol(s). - // - Status =3D EfiLibInstallDriverBindingComponentName2 ( - ImageHandle, - SystemTable, - &gSataControllerDriverBinding, - ImageHandle, - &gSataControllerComponentName, - &gSataControllerComponentName2 - ); - ASSERT_EFI_ERROR (Status); - - return Status; -} - -/** - Supported function of Driver Binding protocol for this driver. - Test to see if this driver supports ControllerHandle. - - @param This Protocol instance pointer. - @param Controller Handle of device to test. - @param RemainingDevicePath A pointer to the device path. - it should be ignored by device driver. - - @retval EFI_SUCCESS This driver supports this device. - @retval EFI_ALREADY_STARTED This driver is already running on this dev= ice. - @retval other This driver does not support this device. - -**/ -EFI_STATUS -EFIAPI -SataControllerSupported ( - IN EFI_DRIVER_BINDING_PROTOCOL *This, - IN EFI_HANDLE Controller, - IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath - ) -{ - EFI_STATUS Status; - EFI_PCI_IO_PROTOCOL *PciIo; - PCI_TYPE00 PciData; - - // - // Attempt to open PCI I/O Protocol - // - Status =3D gBS->OpenProtocol ( - Controller, - &gEfiPciIoProtocolGuid, - (VOID **)&PciIo, - This->DriverBindingHandle, - Controller, - EFI_OPEN_PROTOCOL_GET_PROTOCOL - ); - if (EFI_ERROR (Status)) { - return Status; - } - - // - // Now further check the PCI header: Base Class (offset 0x0B) and - // Sub Class (offset 0x0A). This controller should be an SATA controller - // - Status =3D PciIo->Pci.Read ( - PciIo, - EfiPciIoWidthUint8, - PCI_CLASSCODE_OFFSET, - sizeof (PciData.Hdr.ClassCode), - PciData.Hdr.ClassCode - ); - if (EFI_ERROR (Status)) { - return EFI_UNSUPPORTED; - } - - if (IS_PCI_IDE (&PciData) || IS_PCI_SATADPA (&PciData)) { - return EFI_SUCCESS; - } - - return EFI_UNSUPPORTED; -} - -/** - This routine is called right after the .Supported() called and - Start this driver on ControllerHandle. - - @param This Protocol instance pointer. - @param Controller Handle of device to bind driver to. - @param RemainingDevicePath A pointer to the device path. - it should be ignored by device driver. - - @retval EFI_SUCCESS This driver is added to this device. - @retval EFI_ALREADY_STARTED This driver is already running on this dev= ice. - @retval other Some error occurs when binding this driver= to this device. - -**/ -EFI_STATUS -EFIAPI -SataControllerStart ( - IN EFI_DRIVER_BINDING_PROTOCOL *This, - IN EFI_HANDLE Controller, - IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath - ) -{ - UINTN BailLogMask; - EFI_STATUS Status; - EFI_PCI_IO_PROTOCOL *PciIo; - UINT64 OriginalPciAttributes; - PCI_TYPE00 PciData; - EFI_SATA_CONTROLLER_PRIVATE_DATA *SataPrivateData; - UINT32 Data32; - UINTN ChannelDeviceCount; - - DEBUG ((DEBUG_INFO, "SataControllerStart START\n")); - - BailLogMask =3D DEBUG_ERROR; - SataPrivateData =3D NULL; - - // - // Now test and open PCI I/O Protocol - // - Status =3D gBS->OpenProtocol ( - Controller, - &gEfiPciIoProtocolGuid, - (VOID **)&PciIo, - This->DriverBindingHandle, - Controller, - EFI_OPEN_PROTOCOL_BY_DRIVER - ); - if (EFI_ERROR (Status)) { - if (Status =3D=3D EFI_ALREADY_STARTED) { - // - // This is an expected condition for OpenProtocol() / BY_DRIVER, in a - // DriverBindingStart() member function; degrade the log mask to - // DEBUG_INFO. - // - BailLogMask =3D DEBUG_INFO; - } - - goto Bail; - } - - // - // Save original PCI attributes, and enable IO space access, memory space - // access, and Bus Master (DMA). - // - Status =3D PciIo->Attributes ( - PciIo, - EfiPciIoAttributeOperationGet, - 0, - &OriginalPciAttributes - ); - if (EFI_ERROR (Status)) { - goto ClosePciIo; - } - - Status =3D PciIo->Attributes ( - PciIo, - EfiPciIoAttributeOperationEnable, - EFI_PCI_DEVICE_ENABLE, - NULL - ); - if (EFI_ERROR (Status)) { - goto ClosePciIo; - } - - // - // Allocate Sata Private Data structure - // - SataPrivateData =3D AllocateZeroPool (sizeof (EFI_SATA_CONTROLLER_PRIVAT= E_DATA)); - if (SataPrivateData =3D=3D NULL) { - Status =3D EFI_OUT_OF_RESOURCES; - goto RestorePciAttributes; - } - - // - // Initialize Sata Private Data - // - SataPrivateData->Signature =3D SATA_CONTROLLER_SIGNATURE; - SataPrivateData->PciIo =3D PciIo; - SataPrivateData->OriginalPciAttributes =3D OriginalPciAttributes; - SataPrivateData->IdeInit.GetChannelInfo =3D IdeInitGetChannelInfo; - SataPrivateData->IdeInit.NotifyPhase =3D IdeInitNotifyPhase; - SataPrivateData->IdeInit.SubmitData =3D IdeInitSubmitData; - SataPrivateData->IdeInit.DisqualifyMode =3D IdeInitDisqualifyMode; - SataPrivateData->IdeInit.CalculateMode =3D IdeInitCalculateMode; - SataPrivateData->IdeInit.SetTiming =3D IdeInitSetTiming; - SataPrivateData->IdeInit.EnumAll =3D SATA_ENUMER_ALL; - - Status =3D PciIo->Pci.Read ( - PciIo, - EfiPciIoWidthUint8, - PCI_CLASSCODE_OFFSET, - sizeof (PciData.Hdr.ClassCode), - PciData.Hdr.ClassCode - ); - if (EFI_ERROR (Status)) { - goto FreeSataPrivateData; - } - - if (IS_PCI_IDE (&PciData)) { - SataPrivateData->IdeInit.ChannelCount =3D IDE_MAX_CHANNEL; - SataPrivateData->DeviceCount =3D IDE_MAX_DEVICES; - } else if (IS_PCI_SATADPA (&PciData)) { - // - // Read Host Capability Register(CAP) to get Number of Ports(NPS) and = Supports Port Multiplier(SPM) - // NPS is 0's based value indicating the maximum number of ports sup= ported by the HBA silicon. - // A maximum of 32 ports can be supported. A value of '0h', indicati= ng one port, is the minimum requirement. - // - Data32 =3D AhciReadReg (PciIo, R_AHCI_C= AP); - SataPrivateData->IdeInit.ChannelCount =3D (UINT8)((Data32 & B_AHCI_CAP= _NPS) + 1); - SataPrivateData->DeviceCount =3D AHCI_MAX_DEVICES; - if ((Data32 & B_AHCI_CAP_SPM) =3D=3D B_AHCI_CAP_SPM) { - SataPrivateData->DeviceCount =3D AHCI_MULTI_MAX_DEVICES; - } - } - - ChannelDeviceCount =3D (UINTN)(SataPrivateData->IdeInit.= ChannelCount) * (UINTN)(SataPrivateData->DeviceCount); - SataPrivateData->DisqualifiedModes =3D AllocateZeroPool ((sizeof (EFI_AT= A_COLLECTIVE_MODE)) * ChannelDeviceCount); - if (SataPrivateData->DisqualifiedModes =3D=3D NULL) { - Status =3D EFI_OUT_OF_RESOURCES; - goto FreeSataPrivateData; - } - - SataPrivateData->IdentifyData =3D AllocateZeroPool ((sizeof (EFI_IDENTIF= Y_DATA)) * ChannelDeviceCount); - if (SataPrivateData->IdentifyData =3D=3D NULL) { - Status =3D EFI_OUT_OF_RESOURCES; - goto FreeDisqualifiedModes; - } - - SataPrivateData->IdentifyValid =3D AllocateZeroPool ((sizeof (BOOLEAN)) = * ChannelDeviceCount); - if (SataPrivateData->IdentifyValid =3D=3D NULL) { - Status =3D EFI_OUT_OF_RESOURCES; - goto FreeIdentifyData; - } - - // - // Install IDE Controller Init Protocol to this instance - // - Status =3D gBS->InstallMultipleProtocolInterfaces ( - &Controller, - &gEfiIdeControllerInitProtocolGuid, - &(SataPrivateData->IdeInit), - NULL - ); - - if (EFI_ERROR (Status)) { - goto FreeIdentifyValid; - } - - DEBUG ((DEBUG_INFO, "SataControllerStart END status =3D %r\n", Status)); - return Status; - -FreeIdentifyValid: - FreePool (SataPrivateData->IdentifyValid); - -FreeIdentifyData: - FreePool (SataPrivateData->IdentifyData); - -FreeDisqualifiedModes: - FreePool (SataPrivateData->DisqualifiedModes); - -FreeSataPrivateData: - FreePool (SataPrivateData); - -RestorePciAttributes: - PciIo->Attributes ( - PciIo, - EfiPciIoAttributeOperationSet, - OriginalPciAttributes, - NULL - ); - -ClosePciIo: - gBS->CloseProtocol ( - Controller, - &gEfiPciIoProtocolGuid, - This->DriverBindingHandle, - Controller - ); - -Bail: - DEBUG (( - BailLogMask, - "SataControllerStart error return status =3D %r\n", - Status - )); - return Status; -} - -/** - Stop this driver on ControllerHandle. - - @param This Protocol instance pointer. - @param Controller Handle of device to stop driver on. - @param NumberOfChildren Not used. - @param ChildHandleBuffer Not used. - - @retval EFI_SUCCESS This driver is removed from this device. - @retval other Some error occurs when removing this driver from t= his device. - -**/ -EFI_STATUS -EFIAPI -SataControllerStop ( - IN EFI_DRIVER_BINDING_PROTOCOL *This, - IN EFI_HANDLE Controller, - IN UINTN NumberOfChildren, - IN EFI_HANDLE *ChildHandleBuffer - ) -{ - EFI_STATUS Status; - EFI_IDE_CONTROLLER_INIT_PROTOCOL *IdeInit; - EFI_SATA_CONTROLLER_PRIVATE_DATA *SataPrivateData; - EFI_PCI_IO_PROTOCOL *PciIo; - UINT64 OriginalPciAttributes; - - // - // Open the produced protocol - // - Status =3D gBS->OpenProtocol ( - Controller, - &gEfiIdeControllerInitProtocolGuid, - (VOID **)&IdeInit, - This->DriverBindingHandle, - Controller, - EFI_OPEN_PROTOCOL_GET_PROTOCOL - ); - if (EFI_ERROR (Status)) { - return EFI_UNSUPPORTED; - } - - SataPrivateData =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (IdeInit); - ASSERT (SataPrivateData !=3D NULL); - - PciIo =3D SataPrivateData->PciIo; - OriginalPciAttributes =3D SataPrivateData->OriginalPciAttributes; - - // - // Uninstall the IDE Controller Init Protocol from this instance - // - Status =3D gBS->UninstallMultipleProtocolInterfaces ( - Controller, - &gEfiIdeControllerInitProtocolGuid, - &(SataPrivateData->IdeInit), - NULL - ); - if (EFI_ERROR (Status)) { - return Status; - } - - if (SataPrivateData->DisqualifiedModes !=3D NULL) { - FreePool (SataPrivateData->DisqualifiedModes); - } - - if (SataPrivateData->IdentifyData !=3D NULL) { - FreePool (SataPrivateData->IdentifyData); - } - - if (SataPrivateData->IdentifyValid !=3D NULL) { - FreePool (SataPrivateData->IdentifyValid); - } - - FreePool (SataPrivateData); - - // - // Restore original PCI attributes - // - PciIo->Attributes ( - PciIo, - EfiPciIoAttributeOperationSet, - OriginalPciAttributes, - NULL - ); - - // - // Close protocols opened by Sata Controller driver - // - return gBS->CloseProtocol ( - Controller, - &gEfiPciIoProtocolGuid, - This->DriverBindingHandle, - Controller - ); -} - -/** - Calculate the flat array subscript of a (Channel, Device) pair. - - @param[in] SataPrivateData The private data structure corresponding to = the - SATA controller that attaches the device for - which the flat array subscript is being - calculated. - - @param[in] Channel The channel (ie. port) number on the SATA - controller that the device is attached to. - - @param[in] Device The device number on the channel. - - @return The flat array subscript suitable for indexing DisqualifiedMode= s, - IdentifyData, and IdentifyValid. -**/ -STATIC -UINTN -FlatDeviceIndex ( - IN CONST EFI_SATA_CONTROLLER_PRIVATE_DATA *SataPrivateData, - IN UINTN Channel, - IN UINTN Device - ) -{ - ASSERT (SataPrivateData !=3D NULL); - ASSERT (Channel < SataPrivateData->IdeInit.ChannelCount); - ASSERT (Device < SataPrivateData->DeviceCount); - - return Channel * SataPrivateData->DeviceCount + Device; -} - -// -// Interface functions of IDE_CONTROLLER_INIT protocol -// - -/** - Returns the information about the specified IDE channel. - - This function can be used to obtain information about a particular IDE c= hannel. - The driver entity uses this information during the enumeration process. - - If Enabled is set to FALSE, the driver entity will not scan the channel.= Note - that it will not prevent an operating system driver from scanning the ch= annel. - - For most of today's controllers, MaxDevices will either be 1 or 2. For S= ATA - controllers, this value will always be 1. SATA configurations can contai= n SATA - port multipliers. SATA port multipliers behave like SATA bridges and can= support - up to 16 devices on the other side. If a SATA port out of the IDE contro= ller - is connected to a port multiplier, MaxDevices will be set to the number = of SATA - devices that the port multiplier supports. Because today's port multipli= ers - support up to fifteen SATA devices, this number can be as large as fifte= en. The IDE - bus driver is required to scan for the presence of port multipliers behi= nd an SATA - controller and enumerate up to MaxDevices number of devices behind the p= ort - multiplier. - - In this context, the devices behind a port multiplier constitute a chann= el. - - @param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROT= OCOL instance. - @param[in] Channel Zero-based channel number. - @param[out] Enabled TRUE if this channel is enabled. Disabled chan= nels - are not scanned to see if any devices are prese= nt. - @param[out] MaxDevices The maximum number of IDE devices that the bus = driver - can expect on this channel. For the ATA/ATAPI - specification, version 6, this number will eith= er be - one or two. For Serial ATA (SATA) configuration= s with a - port multiplier, this number can be as large as= fifteen. - - @retval EFI_SUCCESS Information was returned without any err= ors. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - -**/ -EFI_STATUS -EFIAPI -IdeInitGetChannelInfo ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - OUT BOOLEAN *Enabled, - OUT UINT8 *MaxDevices - ) -{ - EFI_SATA_CONTROLLER_PRIVATE_DATA *SataPrivateData; - - SataPrivateData =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (This); - ASSERT (SataPrivateData !=3D NULL); - - if (Channel < This->ChannelCount) { - *Enabled =3D TRUE; - *MaxDevices =3D SataPrivateData->DeviceCount; - return EFI_SUCCESS; - } - - *Enabled =3D FALSE; - return EFI_INVALID_PARAMETER; -} - -/** - The notifications from the driver entity that it is about to enter a cer= tain - phase of the IDE channel enumeration process. - - This function can be used to notify the IDE controller driver to perform - specific actions, including any chipset-specific initialization, so that= the - chipset is ready to enter the next phase. Seven notification points are = defined - at this time. - - More synchronization points may be added as required in the future. - - @param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL= instance. - @param[in] Phase The phase during enumeration. - @param[in] Channel Zero-based channel number. - - @retval EFI_SUCCESS The notification was accepted without an= y errors. - @retval EFI_UNSUPPORTED Phase is not supported. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_NOT_READY This phase cannot be entered at this tim= e; for - example, an attempt was made to enter a = Phase - without having entered one or more previ= ous - Phase. - -**/ -EFI_STATUS -EFIAPI -IdeInitNotifyPhase ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN EFI_IDE_CONTROLLER_ENUM_PHASE Phase, - IN UINT8 Channel - ) -{ - return EFI_SUCCESS; -} - -/** - Submits the device information to the IDE controller driver. - - This function is used by the driver entity to pass detailed information = about - a particular device to the IDE controller driver. The driver entity obta= ins - this information by issuing an ATA or ATAPI IDENTIFY_DEVICE command. Ide= ntifyData - is the pointer to the response data buffer. The IdentifyData buffer is o= wned - by the driver entity, and the IDE controller driver must make a local co= py - of the entire buffer or parts of the buffer as needed. The original Iden= tifyData - buffer pointer may not be valid when - - - EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() or - - EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() is called at a lat= er point. - - The IDE controller driver may consult various fields of EFI_IDENTIFY_DAT= A to - compute the optimum mode for the device. These fields are not limited to= the - timing information. For example, an implementation of the IDE controller= driver - may examine the vendor and type/mode field to match known bad drives. - - The driver entity may submit drive information in any order, as long as = it - submits information for all the devices belonging to the enumeration gro= up - before EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() is called for an= y device - in that enumeration group. If a device is absent, EFI_IDE_CONTROLLER_INI= T_PROTOCOL.SubmitData() - should be called with IdentifyData set to NULL. The IDE controller driv= er may - not have any other mechanism to know whether a device is present or not.= Therefore, - setting IdentifyData to NULL does not constitute an error condition. - EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once fo= r a - given (Channel, Device) pair. - - @param[in] This A pointer to the EFI_IDE_CONTROLLER_INIT_PROTO= COL instance. - @param[in] Channel Zero-based channel number. - @param[in] Device Zero-based device number on the Channel. - @param[in] IdentifyData The device's response to the ATA IDENTIFY_DEVI= CE command. - - @retval EFI_SUCCESS The information was accepted without any= errors. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_INVALID_PARAMETER Device is invalid. - -**/ -EFI_STATUS -EFIAPI -IdeInitSubmitData ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - IN UINT8 Device, - IN EFI_IDENTIFY_DATA *IdentifyData - ) -{ - EFI_SATA_CONTROLLER_PRIVATE_DATA *SataPrivateData; - UINTN DeviceIndex; - - SataPrivateData =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (This); - ASSERT (SataPrivateData !=3D NULL); - - if ((Channel >=3D This->ChannelCount) || (Device >=3D SataPrivateData->D= eviceCount)) { - return EFI_INVALID_PARAMETER; - } - - DeviceIndex =3D FlatDeviceIndex (SataPrivateData, Channel, Device); - - // - // Make a local copy of device's IdentifyData and mark the valid flag - // - if (IdentifyData !=3D NULL) { - CopyMem ( - &(SataPrivateData->IdentifyData[DeviceIndex]), - IdentifyData, - sizeof (EFI_IDENTIFY_DATA) - ); - - SataPrivateData->IdentifyValid[DeviceIndex] =3D TRUE; - } else { - SataPrivateData->IdentifyValid[DeviceIndex] =3D FALSE; - } - - return EFI_SUCCESS; -} - -/** - Disqualifies specific modes for an IDE device. - - This function allows the driver entity or other drivers (such as platform - drivers) to reject certain timing modes and request the IDE controller d= river - to recalculate modes. This function allows the driver entity and the IDE - controller driver to negotiate the timings on a per-device basis. This f= unction - is useful in the case of drives that lie about their capabilities. An ex= ample - is when the IDE device fails to accept the timing modes that are calcula= ted - by the IDE controller driver based on the response to the Identify Drive= command. - - If the driver entity does not want to limit the ATA timing modes and lea= ve that - decision to the IDE controller driver, it can either not call this funct= ion for - the given device or call this function and set the Valid flag to FALSE f= or all - modes that are listed in EFI_ATA_COLLECTIVE_MODE. - - The driver entity may disqualify modes for a device in any order and any= number - of times. - - This function can be called multiple times to invalidate multiple modes = of the - same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the A= TA/ATAPI - specification for more information on PIO modes. - - For Serial ATA (SATA) controllers, this member function can be used to d= isqualify - a higher transfer rate mode on a given channel. For example, a platform = driver - may inform the IDE controller driver to not use second-generation (Gen2)= speeds - for a certain SATA drive. - - @param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCO= L instance. - @param[in] Channel The zero-based channel number. - @param[in] Device The zero-based device number on the Channel. - @param[in] BadModes The modes that the device does not support and that - should be disqualified. - - @retval EFI_SUCCESS The modes were accepted without any erro= rs. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_INVALID_PARAMETER Device is invalid. - @retval EFI_INVALID_PARAMETER IdentifyData is NULL. - -**/ -EFI_STATUS -EFIAPI -IdeInitDisqualifyMode ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - IN UINT8 Device, - IN EFI_ATA_COLLECTIVE_MODE *BadModes - ) -{ - EFI_SATA_CONTROLLER_PRIVATE_DATA *SataPrivateData; - UINTN DeviceIndex; - - SataPrivateData =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (This); - ASSERT (SataPrivateData !=3D NULL); - - if ((Channel >=3D This->ChannelCount) || (BadModes =3D=3D NULL) || (Devi= ce >=3D SataPrivateData->DeviceCount)) { - return EFI_INVALID_PARAMETER; - } - - DeviceIndex =3D FlatDeviceIndex (SataPrivateData, Channel, Device); - - // - // Record the disqualified modes per channel per device. From ATA/ATAPI = spec, - // if a mode is not supported, the modes higher than it is also not supp= orted. - // - CopyMem ( - &(SataPrivateData->DisqualifiedModes[DeviceIndex]), - BadModes, - sizeof (EFI_ATA_COLLECTIVE_MODE) - ); - - return EFI_SUCCESS; -} - -/** - Returns the information about the optimum modes for the specified IDE de= vice. - - This function is used by the driver entity to obtain the optimum ATA mod= es for - a specific device. The IDE controller driver takes into account the fol= lowing - while calculating the mode: - - The IdentifyData inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitDa= ta() - - The BadModes inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMo= de() - - The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.S= ubmitData() - for all the devices that belong to an enumeration group before calling - EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the s= ame group. - - The IDE controller driver will use controller- and possibly platform-spe= cific - algorithms to arrive at SupportedModes. The IDE controller may base its - decision on user preferences and other considerations as well. This func= tion - may be called multiple times because the driver entity may renegotiate t= he mode - with the IDE controller driver using EFI_IDE_CONTROLLER_INIT_PROTOCOL.Di= squalifyMode(). - - The driver entity may collect timing information for various devices in = any - order. The driver entity is responsible for making sure that all the dep= endencies - are satisfied. For example, the SupportedModes information for device A = that - was previously returned may become stale after a call to - EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() for device B. - - The buffer SupportedModes is allocated by the callee because the caller = does - not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE= _MODE - is defined in a way that allows for future extensibility and can be of v= ariable - length. This memory pool should be deallocated by the caller when it is = no - longer necessary. - - The IDE controller driver for a Serial ATA (SATA) controller can use this - member function to force a lower speed (first-generation [Gen1] speeds o= n a - second-generation [Gen2]-capable hardware). The IDE controller driver c= an - also allow the driver entity to stay with the speed that has been negoti= ated - by the physical layer. - - @param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_= PROTOCOL instance. - @param[in] Channel A zero-based channel number. - @param[in] Device A zero-based device number on the Channel. - @param[out] SupportedModes The optimum modes for the device. - - @retval EFI_SUCCESS SupportedModes was returned. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_INVALID_PARAMETER Device is invalid. - @retval EFI_INVALID_PARAMETER SupportedModes is NULL. - @retval EFI_NOT_READY Modes cannot be calculated due to a lack= of - data. This error may happen if - EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitD= ata() - and EFI_IDE_CONTROLLER_INIT_PROTOCOL.Dis= qualifyData() - were not called for at least one drive i= n the - same enumeration group. - -**/ -EFI_STATUS -EFIAPI -IdeInitCalculateMode ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - IN UINT8 Device, - OUT EFI_ATA_COLLECTIVE_MODE **SupportedModes - ) -{ - EFI_SATA_CONTROLLER_PRIVATE_DATA *SataPrivateData; - EFI_IDENTIFY_DATA *IdentifyData; - BOOLEAN IdentifyValid; - EFI_ATA_COLLECTIVE_MODE *DisqualifiedModes; - UINT16 SelectedMode; - EFI_STATUS Status; - UINTN DeviceIndex; - - SataPrivateData =3D SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS (This); - ASSERT (SataPrivateData !=3D NULL); - - if ((Channel >=3D This->ChannelCount) || (SupportedModes =3D=3D NULL) ||= (Device >=3D SataPrivateData->DeviceCount)) { - return EFI_INVALID_PARAMETER; - } - - *SupportedModes =3D AllocateZeroPool (sizeof (EFI_ATA_COLLECTIVE_MODE)); - if (*SupportedModes =3D=3D NULL) { - ASSERT (*SupportedModes !=3D NULL); - return EFI_OUT_OF_RESOURCES; - } - - DeviceIndex =3D FlatDeviceIndex (SataPrivateData, Channel, Device); - - IdentifyData =3D &(SataPrivateData->IdentifyData[DeviceIndex]); - IdentifyValid =3D SataPrivateData->IdentifyValid[DeviceIndex]; - DisqualifiedModes =3D &(SataPrivateData->DisqualifiedModes[DeviceIndex]); - - // - // Make sure we've got the valid identify data of the device from Submit= Data() - // - if (!IdentifyValid) { - FreePool (*SupportedModes); - return EFI_NOT_READY; - } - - Status =3D CalculateBestPioMode ( - IdentifyData, - (DisqualifiedModes->PioMode.Valid ? ((UINT16 *)&(Disqualified= Modes->PioMode.Mode)) : NULL), - &SelectedMode - ); - if (!EFI_ERROR (Status)) { - (*SupportedModes)->PioMode.Valid =3D TRUE; - (*SupportedModes)->PioMode.Mode =3D SelectedMode; - } else { - (*SupportedModes)->PioMode.Valid =3D FALSE; - } - - DEBUG ((DEBUG_INFO, "IdeInitCalculateMode: PioMode =3D %x\n", (*Supporte= dModes)->PioMode.Mode)); - - Status =3D CalculateBestUdmaMode ( - IdentifyData, - (DisqualifiedModes->UdmaMode.Valid ? ((UINT16 *)&(Disqualifie= dModes->UdmaMode.Mode)) : NULL), - &SelectedMode - ); - - if (!EFI_ERROR (Status)) { - (*SupportedModes)->UdmaMode.Valid =3D TRUE; - (*SupportedModes)->UdmaMode.Mode =3D SelectedMode; - } else { - (*SupportedModes)->UdmaMode.Valid =3D FALSE; - } - - DEBUG ((DEBUG_INFO, "IdeInitCalculateMode: UdmaMode =3D %x\n", (*Support= edModes)->UdmaMode.Mode)); - - // - // The modes other than PIO and UDMA are not supported - // - return EFI_SUCCESS; -} - -/** - Commands the IDE controller driver to program the IDE controller hardware - so that the specified device can operate at the specified mode. - - This function is used by the driver entity to instruct the IDE controller - driver to program the IDE controller hardware to the specified modes. Th= is - function can be called only once for a particular device. For a Serial A= TA - (SATA) Advanced Host Controller Interface (AHCI) controller, no controll= er- - specific programming may be required. - - @param[in] This Pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL ins= tance. - @param[in] Channel Zero-based channel number. - @param[in] Device Zero-based device number on the Channel. - @param[in] Modes The modes to set. - - @retval EFI_SUCCESS The command was accepted without any err= ors. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_INVALID_PARAMETER Device is invalid. - @retval EFI_NOT_READY Modes cannot be set at this time due to = lack of data. - @retval EFI_DEVICE_ERROR Modes cannot be set due to hardware fail= ure. - The driver entity should not use this de= vice. - -**/ -EFI_STATUS -EFIAPI -IdeInitSetTiming ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - IN UINT8 Device, - IN EFI_ATA_COLLECTIVE_MODE *Modes - ) -{ - return EFI_SUCCESS; -} diff --git a/OvmfPkg/SataControllerDxe/SataController.h b/OvmfPkg/SataContr= ollerDxe/SataController.h deleted file mode 100644 index cb1abacfdc0f..000000000000 --- a/OvmfPkg/SataControllerDxe/SataController.h +++ /dev/null @@ -1,544 +0,0 @@ -/** @file - Header file for Sata Controller driver. - - Copyright (c) 2011, Intel Corporation. All rights reserved.
- SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _SATA_CONTROLLER_H_ -#define _SATA_CONTROLLER_H_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// -// Global Variables definitions -// -extern EFI_DRIVER_BINDING_PROTOCOL gSataControllerDriverBinding; -extern EFI_COMPONENT_NAME_PROTOCOL gSataControllerComponentName; -extern EFI_COMPONENT_NAME2_PROTOCOL gSataControllerComponentName2; - -#define AHCI_BAR_INDEX 0x05 -#define R_AHCI_CAP 0x0 -#define B_AHCI_CAP_NPS (BIT4 | BIT3 | BIT2 | BIT1 | BIT0) // Number of = Ports -#define B_AHCI_CAP_SPM BIT17 // Supports P= ort Multiplier - -/// -/// AHCI each channel can have up to 1 device -/// -#define AHCI_MAX_DEVICES 0x01 - -/// -/// AHCI each channel can have 15 devices in the presence of a multiplier -/// -#define AHCI_MULTI_MAX_DEVICES 0x0F - -/// -/// IDE supports 2 channel max -/// -#define IDE_MAX_CHANNEL 0x02 - -/// -/// IDE supports 2 devices max -/// -#define IDE_MAX_DEVICES 0x02 - -#define SATA_ENUMER_ALL FALSE - -// -// Sata Controller driver private data structure -// - -#define SATA_CONTROLLER_SIGNATURE SIGNATURE_32('S','A','T','A') - -typedef struct _EFI_SATA_CONTROLLER_PRIVATE_DATA { - // - // Standard signature used to identify Sata Controller private data - // - UINT32 Signature; - - // - // Protocol instance of IDE_CONTROLLER_INIT produced by this driver - // - EFI_IDE_CONTROLLER_INIT_PROTOCOL IdeInit; - - // - // Copy of protocol pointers used by this driver - // - EFI_PCI_IO_PROTOCOL *PciIo; - - // - // Original PCI attributes - // - UINT64 OriginalPciAttributes; - - // - // The number of devices that are supported by this channel - // - UINT8 DeviceCount; - - // - // The highest disqulified mode for each attached device, - // From ATA/ATAPI spec, if a mode is not supported, - // the modes higher than it is also not supported - // - EFI_ATA_COLLECTIVE_MODE *DisqualifiedModes; - - // - // A copy of EFI_IDENTIFY_DATA data for each attached SATA device and it= s flag - // - EFI_IDENTIFY_DATA *IdentifyData; - BOOLEAN *IdentifyValid; -} EFI_SATA_CONTROLLER_PRIVATE_DATA; - -#define SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS(a) CR(a, EFI_SATA_CONTROLL= ER_PRIVATE_DATA, IdeInit, SATA_CONTROLLER_SIGNATURE) - -// -// Driver binding functions declaration -// - -/** - Supported function of Driver Binding protocol for this driver. - Test to see if this driver supports ControllerHandle. - - @param This Protocol instance pointer. - @param Controller Handle of device to test. - @param RemainingDevicePath A pointer to the device path. Should be ig= nored by - device driver. - - @retval EFI_SUCCESS This driver supports this device. - @retval EFI_ALREADY_STARTED This driver is already running on this dev= ice. - @retval other This driver does not support this device. - -**/ -EFI_STATUS -EFIAPI -SataControllerSupported ( - IN EFI_DRIVER_BINDING_PROTOCOL *This, - IN EFI_HANDLE Controller, - IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath - ) -; - -/** - This routine is called right after the .Supported() called and - Start this driver on ControllerHandle. - - @param This Protocol instance pointer. - @param Controller Handle of device to bind driver to. - @param RemainingDevicePath A pointer to the device path. Should be ig= nored by - device driver. - - @retval EFI_SUCCESS This driver is added to this device. - @retval EFI_ALREADY_STARTED This driver is already running on this dev= ice. - @retval other Some error occurs when binding this driver= to this device. - -**/ -EFI_STATUS -EFIAPI -SataControllerStart ( - IN EFI_DRIVER_BINDING_PROTOCOL *This, - IN EFI_HANDLE Controller, - IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath - ) -; - -/** - Stop this driver on ControllerHandle. - - @param This Protocol instance pointer. - @param Controller Handle of device to stop driver on. - @param NumberOfChildren Not used. - @param ChildHandleBuffer Not used. - - @retval EFI_SUCCESS This driver is removed from this device. - @retval other Some error occurs when removing this driver from t= his device. - -**/ -EFI_STATUS -EFIAPI -SataControllerStop ( - IN EFI_DRIVER_BINDING_PROTOCOL *This, - IN EFI_HANDLE Controller, - IN UINTN NumberOfChildren, - IN EFI_HANDLE *ChildHandleBuffer - ) -; - -// -// IDE controller init functions declaration -// - -/** - Returns the information about the specified IDE channel. - - This function can be used to obtain information about a particular IDE c= hannel. - The driver entity uses this information during the enumeration process. - - If Enabled is set to FALSE, the driver entity will not scan the channel.= Note - that it will not prevent an operating system driver from scanning the ch= annel. - - For most of today's controllers, MaxDevices will either be 1 or 2. For S= ATA - controllers, this value will always be 1. SATA configurations can contai= n SATA - port multipliers. SATA port multipliers behave like SATA bridges and can= support - up to 16 devices on the other side. If a SATA port out of the IDE contro= ller - is connected to a port multiplier, MaxDevices will be set to the number = of SATA - devices that the port multiplier supports. Because today's port multipli= ers - support up to fifteen SATA devices, this number can be as large as fifte= en. The IDE - bus driver is required to scan for the presence of port multipliers behi= nd an SATA - controller and enumerate up to MaxDevices number of devices behind the p= ort - multiplier. - - In this context, the devices behind a port multiplier constitute a chann= el. - - @param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROT= OCOL instance. - @param[in] Channel Zero-based channel number. - @param[out] Enabled TRUE if this channel is enabled. Disabled chan= nels - are not scanned to see if any devices are prese= nt. - @param[out] MaxDevices The maximum number of IDE devices that the bus = driver - can expect on this channel. For the ATA/ATAPI - specification, version 6, this number will eith= er be - one or two. For Serial ATA (SATA) configuration= s with a - port multiplier, this number can be as large as= fifteen. - - @retval EFI_SUCCESS Information was returned without any err= ors. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - -**/ -EFI_STATUS -EFIAPI -IdeInitGetChannelInfo ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - OUT BOOLEAN *Enabled, - OUT UINT8 *MaxDevices - ) -; - -/** - The notifications from the driver entity that it is about to enter a cer= tain - phase of the IDE channel enumeration process. - - This function can be used to notify the IDE controller driver to perform - specific actions, including any chipset-specific initialization, so that= the - chipset is ready to enter the next phase. Seven notification points are = defined - at this time. - - More synchronization points may be added as required in the future. - - @param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL= instance. - @param[in] Phase The phase during enumeration. - @param[in] Channel Zero-based channel number. - - @retval EFI_SUCCESS The notification was accepted without an= y errors. - @retval EFI_UNSUPPORTED Phase is not supported. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_NOT_READY This phase cannot be entered at this tim= e; for - example, an attempt was made to enter a = Phase - without having entered one or more previ= ous - Phase. - -**/ -EFI_STATUS -EFIAPI -IdeInitNotifyPhase ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN EFI_IDE_CONTROLLER_ENUM_PHASE Phase, - IN UINT8 Channel - ) -; - -/** - Submits the device information to the IDE controller driver. - - This function is used by the driver entity to pass detailed information = about - a particular device to the IDE controller driver. The driver entity obta= ins - this information by issuing an ATA or ATAPI IDENTIFY_DEVICE command. Ide= ntifyData - is the pointer to the response data buffer. The IdentifyData buffer is o= wned - by the driver entity, and the IDE controller driver must make a local co= py - of the entire buffer or parts of the buffer as needed. The original Iden= tifyData - buffer pointer may not be valid when - - - EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() or - - EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() is called at a lat= er point. - - The IDE controller driver may consult various fields of EFI_IDENTIFY_DAT= A to - compute the optimum mode for the device. These fields are not limited to= the - timing information. For example, an implementation of the IDE controller= driver - may examine the vendor and type/mode field to match known bad drives. - - The driver entity may submit drive information in any order, as long as = it - submits information for all the devices belonging to the enumeration gro= up - before EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() is called for an= y device - in that enumeration group. If a device is absent, EFI_IDE_CONTROLLER_INI= T_PROTOCOL.SubmitData() - should be called with IdentifyData set to NULL. The IDE controller driv= er may - not have any other mechanism to know whether a device is present or not.= Therefore, - setting IdentifyData to NULL does not constitute an error condition. - EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once fo= r a - given (Channel, Device) pair. - - @param[in] This A pointer to the EFI_IDE_CONTROLLER_INIT_PROTO= COL instance. - @param[in] Channel Zero-based channel number. - @param[in] Device Zero-based device number on the Channel. - @param[in] IdentifyData The device's response to the ATA IDENTIFY_DEVI= CE command. - - @retval EFI_SUCCESS The information was accepted without any= errors. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_INVALID_PARAMETER Device is invalid. - -**/ -EFI_STATUS -EFIAPI -IdeInitSubmitData ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - IN UINT8 Device, - IN EFI_IDENTIFY_DATA *IdentifyData - ) -; - -/** - Disqualifies specific modes for an IDE device. - - This function allows the driver entity or other drivers (such as platform - drivers) to reject certain timing modes and request the IDE controller d= river - to recalculate modes. This function allows the driver entity and the IDE - controller driver to negotiate the timings on a per-device basis. This f= unction - is useful in the case of drives that lie about their capabilities. An ex= ample - is when the IDE device fails to accept the timing modes that are calcula= ted - by the IDE controller driver based on the response to the Identify Drive= command. - - If the driver entity does not want to limit the ATA timing modes and lea= ve that - decision to the IDE controller driver, it can either not call this funct= ion for - the given device or call this function and set the Valid flag to FALSE f= or all - modes that are listed in EFI_ATA_COLLECTIVE_MODE. - - The driver entity may disqualify modes for a device in any order and any= number - of times. - - This function can be called multiple times to invalidate multiple modes = of the - same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the A= TA/ATAPI - specification for more information on PIO modes. - - For Serial ATA (SATA) controllers, this member function can be used to d= isqualify - a higher transfer rate mode on a given channel. For example, a platform = driver - may inform the IDE controller driver to not use second-generation (Gen2)= speeds - for a certain SATA drive. - - @param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCO= L instance. - @param[in] Channel The zero-based channel number. - @param[in] Device The zero-based device number on the Channel. - @param[in] BadModes The modes that the device does not support and that - should be disqualified. - - @retval EFI_SUCCESS The modes were accepted without any erro= rs. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_INVALID_PARAMETER Device is invalid. - @retval EFI_INVALID_PARAMETER IdentifyData is NULL. - -**/ -EFI_STATUS -EFIAPI -IdeInitDisqualifyMode ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - IN UINT8 Device, - IN EFI_ATA_COLLECTIVE_MODE *BadModes - ) -; - -/** - Returns the information about the optimum modes for the specified IDE de= vice. - - This function is used by the driver entity to obtain the optimum ATA mod= es for - a specific device. The IDE controller driver takes into account the fol= lowing - while calculating the mode: - - The IdentifyData inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitDa= ta() - - The BadModes inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMo= de() - - The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.S= ubmitData() - for all the devices that belong to an enumeration group before calling - EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the s= ame group. - - The IDE controller driver will use controller- and possibly platform-spe= cific - algorithms to arrive at SupportedModes. The IDE controller may base its - decision on user preferences and other considerations as well. This func= tion - may be called multiple times because the driver entity may renegotiate t= he mode - with the IDE controller driver using EFI_IDE_CONTROLLER_INIT_PROTOCOL.Di= squalifyMode(). - - The driver entity may collect timing information for various devices in = any - order. The driver entity is responsible for making sure that all the dep= endencies - are satisfied. For example, the SupportedModes information for device A = that - was previously returned may become stale after a call to - EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() for device B. - - The buffer SupportedModes is allocated by the callee because the caller = does - not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE= _MODE - is defined in a way that allows for future extensibility and can be of v= ariable - length. This memory pool should be deallocated by the caller when it is = no - longer necessary. - - The IDE controller driver for a Serial ATA (SATA) controller can use this - member function to force a lower speed (first-generation [Gen1] speeds o= n a - second-generation [Gen2]-capable hardware). The IDE controller driver c= an - also allow the driver entity to stay with the speed that has been negoti= ated - by the physical layer. - - @param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_= PROTOCOL instance. - @param[in] Channel A zero-based channel number. - @param[in] Device A zero-based device number on the Channel. - @param[out] SupportedModes The optimum modes for the device. - - @retval EFI_SUCCESS SupportedModes was returned. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_INVALID_PARAMETER Device is invalid. - @retval EFI_INVALID_PARAMETER SupportedModes is NULL. - @retval EFI_NOT_READY Modes cannot be calculated due to a lack= of - data. This error may happen if - EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitD= ata() - and EFI_IDE_CONTROLLER_INIT_PROTOCOL.Dis= qualifyData() - were not called for at least one drive i= n the - same enumeration group. - -**/ -EFI_STATUS -EFIAPI -IdeInitCalculateMode ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - IN UINT8 Device, - OUT EFI_ATA_COLLECTIVE_MODE **SupportedModes - ) -; - -/** - Commands the IDE controller driver to program the IDE controller hardware - so that the specified device can operate at the specified mode. - - This function is used by the driver entity to instruct the IDE controller - driver to program the IDE controller hardware to the specified modes. Th= is - function can be called only once for a particular device. For a Serial A= TA - (SATA) Advanced Host Controller Interface (AHCI) controller, no controll= er- - specific programming may be required. - - @param[in] This Pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL ins= tance. - @param[in] Channel Zero-based channel number. - @param[in] Device Zero-based device number on the Channel. - @param[in] Modes The modes to set. - - @retval EFI_SUCCESS The command was accepted without any err= ors. - @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >=3D Channel= Count). - @retval EFI_INVALID_PARAMETER Device is invalid. - @retval EFI_NOT_READY Modes cannot be set at this time due to = lack of data. - @retval EFI_DEVICE_ERROR Modes cannot be set due to hardware fail= ure. - The driver entity should not use this de= vice. - -**/ -EFI_STATUS -EFIAPI -IdeInitSetTiming ( - IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, - IN UINT8 Channel, - IN UINT8 Device, - IN EFI_ATA_COLLECTIVE_MODE *Modes - ) -; - -// -// Forward reference declaration -// - -/** - Retrieves a Unicode string that is the user readable name of the UEFI Dr= iver. - - @param This A pointer to the EFI_COMPONENT_NAME_PROTOCOL insta= nce. - @param Language A pointer to a three character ISO 639-2 language = identifier. - This is the language of the driver name that the c= aller - is requesting, and it must match one of the langua= ges specified - in SupportedLanguages. The number of languages su= pported by a - driver is up to the driver writer. - @param DriverName A pointer to the Unicode string to return. This U= nicode string - is the name of the driver specified by This in the= language - specified by Language. - - @retval EFI_SUCCESS The Unicode string for the Driver specifie= d by This - and the language specified by Language was= returned - in DriverName. - @retval EFI_INVALID_PARAMETER Language is NULL. - @retval EFI_INVALID_PARAMETER DriverName is NULL. - @retval EFI_UNSUPPORTED The driver specified by This does not supp= ort the - language specified by Language. -**/ -EFI_STATUS -EFIAPI -SataControllerComponentNameGetDriverName ( - IN EFI_COMPONENT_NAME_PROTOCOL *This, - IN CHAR8 *Language, - OUT CHAR16 **DriverName - ) -; - -/** - Retrieves a Unicode string that is the user readable name of the control= ler - that is being managed by an UEFI Driver. - - @param This A pointer to the EFI_COMPONENT_NAME_PROTOC= OL instance. - @param ControllerHandle The handle of a controller that the driver= specified by - This is managing. This handle specifies t= he controller - whose name is to be returned. - @param OPTIONAL ChildHandle The handle of the child controller to retr= ieve the name - of. This is an optional parameter that ma= y be NULL. It - will be NULL for device drivers. It will = also be NULL - for a bus drivers that wish to retrieve th= e name of the - bus controller. It will not be NULL for a= bus driver - that wishes to retrieve the name of a chil= d controller. - @param Language A pointer to a three character ISO 639-2 l= anguage - identifier. This is the language of the c= ontroller name - that the caller is requesting, and it must= match one - of the languages specified in SupportedLan= guages. The - number of languages supported by a driver = is up to the - driver writer. - @param ControllerName A pointer to the Unicode string to return.= This Unicode - string is the name of the controller speci= fied by - ControllerHandle and ChildHandle in the la= nguage - specified by Language from the point of vi= ew of the - driver specified by This. - - @retval EFI_SUCCESS The Unicode string for the user readable n= ame in the - language specified by Language for the dri= ver - specified by This was returned in DriverNa= me. - @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. - @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a va= lid - EFI_HANDLE. - @retval EFI_INVALID_PARAMETER Language is NULL. - @retval EFI_INVALID_PARAMETER ControllerName is NULL. - @retval EFI_UNSUPPORTED The driver specified by This is not curren= tly - managing the controller specified by - ControllerHandle and ChildHandle. - @retval EFI_UNSUPPORTED The driver specified by This does not supp= ort the - language specified by Language. -**/ -EFI_STATUS -EFIAPI -SataControllerComponentNameGetControllerName ( - IN EFI_COMPONENT_NAME_PROTOCOL *This, - IN EFI_HANDLE ControllerHandle, - IN EFI_HANDLE ChildHandle OPTIONAL, - IN CHAR8 *Language, - OUT CHAR16 **ControllerName - ) -; - -#endif diff --git a/OvmfPkg/SataControllerDxe/SataControllerDxe.inf b/OvmfPkg/Sata= ControllerDxe/SataControllerDxe.inf deleted file mode 100644 index 2bc416971b79..000000000000 --- a/OvmfPkg/SataControllerDxe/SataControllerDxe.inf +++ /dev/null @@ -1,43 +0,0 @@ -## @file -# -# Component description file for the Sata Controller driver. -# -# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: BSD-2-Clause-Patent -# -## - -[Defines] - INF_VERSION =3D 0x00010005 - BASE_NAME =3D SataController - FILE_GUID =3D 021722D8-522B-4079-852A-FE44C2C13F49 - MODULE_TYPE =3D UEFI_DRIVER - VERSION_STRING =3D 1.0 - ENTRY_POINT =3D InitializeSataControllerDriver - -# -# The following information is for reference only and not required by the = build tools. -# -# VALID_ARCHITECTURES =3D IA32 X64 EBC -# - -[Sources] - ComponentName.c - SataController.c - SataController.h - -[Packages] - MdePkg/MdePkg.dec - -[LibraryClasses] - UefiDriverEntryPoint - DebugLib - UefiLib - BaseLib - BaseMemoryLib - MemoryAllocationLib - UefiBootServicesTableLib - -[Protocols] - gEfiPciIoProtocolGuid - gEfiIdeControllerInitProtocolGuid --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104417): https://edk2.groups.io/g/devel/message/104417 Mute This Topic: https://groups.io/mt/98787870/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-