From nobody Tue May 21 14:09:24 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+105582+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+105582+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640485; cv=none; d=zohomail.com; s=zohoarc; b=aGmoJyZ9OI8Az92392SMYiZntIYqQoLJLxcMqMhJiA2WaeNJy9sjhyZHrbU14NyXKpJnFz1JMW+04Vg2Vuu3CbDiJPGAm7Fg46wAFps9SLcBMpXKWEW0RCFicy5y2Ssw1ZGZ0N6MxEINnoky5viBc7SbOzH7dwiMwnUju4OZEAA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640485; 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=JOT3M7+JnS0SHeX75iPT31n42B6RGQZpCaXV+cmgSGQ=; b=HyAbEg+HSZqB1KtVUKld7zF+b1FpNC9UDfc4zE44whq/Rhl6HS4yR7v/V+lzQitimxDaN2KFOOOCLd9FJePZXCBaayRmukVesdMtd+oPDg2B9qcjr7y/fV6reW6gUWEjGWg8fWLCyfm23jKwrN7Gt3JX35b8EqLBnD+3NYGewB8= 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+105582+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 1685640485451448.1579487641775; Thu, 1 Jun 2023 10:28:05 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id xNGZYY1788612xKzUUj1vJQh; Thu, 01 Jun 2023 10:28:05 -0700 X-Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by mx.groups.io with SMTP id smtpd.web11.644.1685640484136160635 for ; Thu, 01 Jun 2023 10:28:04 -0700 X-Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-3f6d01d390bso11755735e9.2 for ; Thu, 01 Jun 2023 10:28:03 -0700 (PDT) X-Gm-Message-State: XrG96SzNzaONvdwxsrYOuUVtx1787277AA= X-Google-Smtp-Source: ACHHUZ4RHdWIQlphArvqWBh9uYAM8fTJ1+0xFwxmCKIGzHleD68GwGuFa5obRJ06k8yrDZBZPPH96g== X-Received: by 2002:a1c:f709:0:b0:3f6:143:7c4b with SMTP id v9-20020a1cf709000000b003f601437c4bmr124854wmh.6.1685640482072; Thu, 01 Jun 2023 10:28:02 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:01 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Jian J Wang , Liming Gao , Hao A Wu , Ray Ni , Laszlo Ersek Subject: [edk2-devel] [PATCH v3 01/12] MdeModulePkg/SataControllerDxe: Clean up error handling in Start() Date: Thu, 1 Jun 2023 18:27:29 +0100 Message-Id: <20230601172740.9165-2-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640485; bh=MVr87etAgq84az1Exgr3It6Q6/eW959P65VH7xuXvBc=; h=Cc:Date:From:Reply-To:Subject:To; b=RL636wW60ln2GbXvByTs0pFnJnj9pj6M/2rLVLaKvNPc+kwGwpDOA0sdBUEm+xW5zTD YT7wrQht8WKAIhXLkHmXl+4jChqFludz6UWxIRDWmdtczb8t462eqRPganxfN9Vkqh5oZ dNUHiVkK6S0r7Dbf5YpbTep2o3+83+W2vhQ= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640487539100007 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 Reviewed-by: Laszlo Ersek Reviewed-by: Hao A Wu --- .../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 (#105582): https://edk2.groups.io/g/devel/message/105582 Mute This Topic: https://groups.io/mt/99269908/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 Tue May 21 14:09:24 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+105583+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+105583+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640486; cv=none; d=zohomail.com; s=zohoarc; b=Y7WIsJO/7vK2ju5DPplmLVRgp0FiOxgkJz6icNOGFV6WoR9l4ptjdJSLdgwsokXHCJOZghCXwLIdOXndrR4UfH3HC1vgFyEOcIHrS68EJn8aedUr2qHypoa/YdymdbxUSqKHUR6CurxjMBPFLg/fYssGef4e3N1/GCz/zzOiLeE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640486; 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=fcJOSIPtqiZpmaFOmiIuLpUbu7+Ub+e3KBmFuxkCYKk=; b=edzi2fsUBkfZUpUFMC7q+esa5CWjF8dlkcwxChTpJiwtxpn+4F/52QyNf6Aa9RgMmbtWplBYUuAXNDyN4M/Ji+kJssB4iJV2Dtmfs/KowE8BtqBvpFodu/G1+qAKezcJLS9lNPiV+X4/pkThLN5pruT/hZGaIccZ0FbiV++83Y0= 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+105583+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 1685640486276455.96988460874434; Thu, 1 Jun 2023 10:28:06 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id NHesYY1788612xUOK8yKUAZF; Thu, 01 Jun 2023 10:28:06 -0700 X-Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by mx.groups.io with SMTP id smtpd.web11.645.1685640484889111080 for ; Thu, 01 Jun 2023 10:28:05 -0700 X-Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-307d58b3efbso1090891f8f.0 for ; Thu, 01 Jun 2023 10:28:04 -0700 (PDT) X-Gm-Message-State: JoLvDQt3S0ZSi3BrOoOJZqPPx1787277AA= X-Google-Smtp-Source: ACHHUZ7uPz5/eKFz57n3jNhzWOPAVbmHfAYmNMO19fWEkp2geicG9Fs2JK1n0IcI7zwbzsw2J5vNow== X-Received: by 2002:adf:e451:0:b0:306:34f6:de8a with SMTP id t17-20020adfe451000000b0030634f6de8amr2381005wrm.71.1685640483083; Thu, 01 Jun 2023 10:28:03 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:02 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Jian J Wang , Liming Gao , Hao A Wu , Ray Ni , Laszlo Ersek Subject: [edk2-devel] [PATCH v3 02/12] MdeModulePkg/SataControllerDxe: Log expected errors at DEBUG_INFO level Date: Thu, 1 Jun 2023 18:27:30 +0100 Message-Id: <20230601172740.9165-3-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640486; bh=OxMS6dnQjAMcuSMkCnd3Fa6OMWQnqRnyQsBnkhKlsyk=; h=Cc:Date:From:Reply-To:Subject:To; b=wwEEToFxTMfL3uzbmU7HcBgMGXz1c1sFV6u7Z1gM1dkhfBOwNWV2A3/UY4YZvHsnBkc DvSLdG755zsDnpGJU9WP2OHPmk2d+nRwG3j+oDpOWVh4SLDuzyhChsCRDai0dVbAlQvYT Uv68U2BsJ5YLxU4zXg5qF+fwRkH78+QRatQ= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640488336100013 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 Reviewed-by: Laszlo Ersek Reviewed-by: Hao A Wu --- .../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 (#105583): https://edk2.groups.io/g/devel/message/105583 Mute This Topic: https://groups.io/mt/99269910/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 Tue May 21 14:09:24 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+105584+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+105584+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640487; cv=none; d=zohomail.com; s=zohoarc; b=BNFw91MdR1okw8cvxzKQ8le92YdTaYWlWOsjbR4dLpNq9OIVHDy/BeCIhDh62we4MJ8dxAA3SEcPGU0ocRI4F3lEL/Y/fYuK7pxa6TtaKghfZYkxuD7UKfgDwaDz9MKFJ2eyyaHgsnEpnKDe276hXK2uRlUDZ9a+DYK2tTwuloo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640487; 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=feSfSSZ/8VsgbbgtC+lsPuJK1q6yt+Zyj1K0deNGcBg=; b=oJha2OFtSs24S4emu8+HTr/wDU+yYDqbBm7kWs48p/Yhts8o1zIbPtHMpDIXi1c7TUSltj8vrW9brSu5FBK2dc9rPp1LtIpr7vZvm5EyN7esh+pR4kc7XGIztzMkTuzgLNJTIF+tUdP0Ddti4vGCgtRJvACDeicOK+OtPwxwIlw= 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+105584+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 1685640487250398.86645538821335; Thu, 1 Jun 2023 10:28:07 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id zwWDYY1788612xPE2Zh873YY; Thu, 01 Jun 2023 10:28:06 -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.647.1685640486159042445 for ; Thu, 01 Jun 2023 10:28:06 -0700 X-Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-3f611ccd06eso11189465e9.0 for ; Thu, 01 Jun 2023 10:28:05 -0700 (PDT) X-Gm-Message-State: 3vK2zCDU4hXCmkTQ2144GKURx1787277AA= X-Google-Smtp-Source: ACHHUZ7+it3JiHu8fkEVbg/WbijNjSoVh9rRR9oOf6ZNPVE4kKzJfBB98+NJvpfFIftzE1SGIhmHTg== X-Received: by 2002:a05:600c:3794:b0:3f6:8ef:a213 with SMTP id o20-20020a05600c379400b003f608efa213mr53348wmr.28.1685640484062; Thu, 01 Jun 2023 10:28:04 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:03 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Jian J Wang , Liming Gao , Hao A Wu , Ray Ni , Laszlo Ersek Subject: [edk2-devel] [PATCH v3 03/12] MdeModulePkg/SataControllerDxe: Remove useless null check Date: Thu, 1 Jun 2023 18:27:31 +0100 Message-Id: <20230601172740.9165-4-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640486; bh=T0RouJdeSD9VegTnqO4e+hsotURiWvecrT4ewflcjlA=; h=Cc:Date:From:Reply-To:Subject:To; b=LUTcBUzT4/vxXb/bY4fneSPgOtUO5YRyKN4goka7Iujz6T4Kxkbd/j2iSptCpz5t0oq qPbtxsLsjG99ZTVWiGfMtBUMBdlPGOCwMaCcPDClw8bDRYLwbTAHyw79cL7ZtbMiZjH01 KViGxZNzrJRx8uPDrNHINj2OkDfJKQ7zy4c= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640488339100014 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 Signed-off-by: Pedro Falcato Reviewed-by: Laszlo Ersek Reviewed-by: Hao A Wu --- .../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 (#105584): https://edk2.groups.io/g/devel/message/105584 Mute This Topic: https://groups.io/mt/99269912/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 Tue May 21 14:09:24 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+105585+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+105585+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640488; cv=none; d=zohomail.com; s=zohoarc; b=l6Rb25h0DpzRhed8gEmKldGXHHZ04KynbSt0p1/5B2p0pExV4PwcYHpuzleZmnVp7jFIiNIpQ/E3wqCxonuSCmREp/btuzC2A49A48qTlCmhlta9G5yaxM+Sj3CPyv9CznXCR70dSo4W+z4WQxb933ZwTjw9l0I6rEWf7VSa7aw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640488; 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=MYUCQmRHq/DY+Wvc1qa8P8MjQ51YX2CBjI+NYOZQHks=; b=a9uifgGC6bWNpicBTOC/gGyOdKGqo17N8ilnNaer1u1mptJGfGDtefILzBYzq4gB50ZVaNDPqUw+Ut35+udlVc043uf567Dl48AqKRdMnVS4zo6X2byG6sLBxKDqY4CzWjis/zYvb/u5yENGr8TPUEtAh2YwbFdsCW1UUg5NdvM= 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+105585+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 16856404882985.945622340007162; Thu, 1 Jun 2023 10:28:08 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 1oEwYY1788612xWc8b7eClKP; Thu, 01 Jun 2023 10:28:07 -0700 X-Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mx.groups.io with SMTP id smtpd.web10.609.1685640487018636683 for ; Thu, 01 Jun 2023 10:28:07 -0700 X-Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-3f6094cb2d2so11886335e9.2 for ; Thu, 01 Jun 2023 10:28:06 -0700 (PDT) X-Gm-Message-State: cHs2VTEnuYwAo2FMjaZYNc24x1787277AA= X-Google-Smtp-Source: ACHHUZ7OXZN1UL9pTs9liVb2zNntci96AX5hsuHGoTXpYZyct1h2re3yWyvp4hUCohvCrvWkqzc+ZA== X-Received: by 2002:a1c:6a04:0:b0:3f6:be1:b8d8 with SMTP id f4-20020a1c6a04000000b003f60be1b8d8mr80701wmc.14.1685640485246; Thu, 01 Jun 2023 10:28:05 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:04 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Jian J Wang , Liming Gao , Hao A Wu , Ray Ni , Laszlo Ersek Subject: [edk2-devel] [PATCH v3 04/12] MdeModulePkg/SataControllerDxe: Fix up ASSERTS (Private != NULL) Date: Thu, 1 Jun 2023 18:27:32 +0100 Message-Id: <20230601172740.9165-5-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640487; bh=pcXJxDQ8bjgYJjOFE5TucPsD/POrjSgIoWFjjNmS/gs=; h=Cc:Date:From:Reply-To:Subject:To; b=la6webEmGe87OwAGW7yMOn9LhmyNbQWRVI38WD3pU2StFnfuL+OuY4JLv14f1k3wdqV HzJGOJmfRgyNg/e3haMozhDFNUbfvOu5HVAu67hBYtCuPmy07fyZfDPSlhafgfxxS9VBR GK4Ltu0s+Lkk4fkVOc2+F4Mgs8QY4Vb2J5o= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640490244100019 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 Signed-off-by: Pedro Falcato Reviewed-by: Laszlo Ersek Reviewed-by: Hao A Wu --- 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 (#105585): https://edk2.groups.io/g/devel/message/105585 Mute This Topic: https://groups.io/mt/99269913/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 Tue May 21 14:09:24 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+105586+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+105586+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640489; cv=none; d=zohomail.com; s=zohoarc; b=UZTR/hTS048AE1PZ4c2IBtVkEcxqVpVTXPH7H6Jr1atsjSsU721ynFRQADbCOs+3pT9f7C9IYG6kGxdUtHnOfB+EUQ9krFHgUQZ0NDoAMNu3Drf1zpuRJcSlXqQtl6vQHfCn/Saim5Gm2Z087M/AgPqIzOS7v2CvReJY0LZE3u8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640489; 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=hc/ZfHLfjHNGGsYg4eqoPa1W0mA5d60+cJJl0+zd1CQ=; b=gceGeiFF1MU2Ce7gRumoOrESOtMsj4stHIW8tjtkjmKdvlGN2kU7nM4azQrCDQqESwEZt2ufYxllcyxB+LBy+ScZ2EVUy/eXyzbHNGXXYonQO4GN5GVxvq2ygmeqTalZxRq84we8NrEHj1cFOywE1/870m7xUmfcv4Afq3Fm4S0= 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+105586+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 1685640489756622.6575507739282; Thu, 1 Jun 2023 10:28:09 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id R1DzYY1788612x6zYD3F5iyV; Thu, 01 Jun 2023 10:28:09 -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.648.1685640488579470596 for ; Thu, 01 Jun 2023 10:28:08 -0700 X-Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3f603d4bc5bso11052765e9.3 for ; Thu, 01 Jun 2023 10:28:08 -0700 (PDT) X-Gm-Message-State: Y5ZWiUrOjKOGsWzhFc0qPZdTx1787277AA= X-Google-Smtp-Source: ACHHUZ4pF3NLUAx4RSDhCfao927lu7QhbybWZ4dtrmVJ48vozzS9Xx3oD19fFi7J0dzJ5dv++ATtHw== X-Received: by 2002:a1c:7913:0:b0:3f6:cfc7:8bd0 with SMTP id l19-20020a1c7913000000b003f6cfc78bd0mr42384wme.36.1685640486345; Thu, 01 Jun 2023 10:28:06 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:05 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Ard Biesheuvel Subject: [edk2-devel] [PATCH v3 05/12] OvmfPkg: Replace the OVMF-specific SataControllerDxe Date: Thu, 1 Jun 2023 18:27:33 +0100 Message-Id: <20230601172740.9165-6-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640489; bh=RG63YgW+D6luoFJ9uEuTR0J9kIgR6NAK4s2ukX97Wag=; h=Cc:Date:From:Reply-To:Subject:To; b=d040Ry7j2PSW3EiHwmEKzjlEboak7zdoqIZ8dmwY9f9yiSp3g7hNorZXTvVcaSdCag7 4sQnQpGqkhnjLCBpVP25bg2KGtOGu+JBnWwG1/FUAu9llg68mHjRcNhtUw8NVKOOmnmf8 A96Qqico5O0eFolCCEZWeuml1UMwc0oE9GY= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640490265100020 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 --- 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 0c044e34f8b3..08b04e65cab7 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -831,7 +831,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 65e8309b4b76..d456896a45fb 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -847,7 +847,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 ce89817dda1b..e1c0a6fe9ff7 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -917,7 +917,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 (#105586): https://edk2.groups.io/g/devel/message/105586 Mute This Topic: https://groups.io/mt/99269914/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 Tue May 21 14:09:24 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+105587+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+105587+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640491; cv=none; d=zohomail.com; s=zohoarc; b=LKAcOZsEpPgLBVuwEvTAi2uiP3zXJDOIW1a5bfC/rCs5CaJ1HriOqUShCKSwwLuhUl7ap78lG4HH8MjJI9JSdeNEZfJ3xgGWc13q4BQLApseA9nSoejsz/zpGZX4dHqwxkKGJLBjyRzlJBsaLivC9wWP7mXV0qhjGw01ZHi6Xkw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640491; 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=KKMudggm+MGXeqbBbaU4r3mAQIR5H+Ynfm1SWaHkPfI=; b=nyEgUmEbcNv81fdhTXHovMiBrcSJob2P1kYv5F3TzzvhV8G+LwjLDPIPXG0ADPoiAvKHVRfVCXXzuHORa/9ZGfUu/EbNog4rLS2cYzIm/mdHc2TYjc+HNQR6b3wKJS9tQ4g222YkqLVZIg8ogucownC6iWzESpAfBiviIahvHsA= 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+105587+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 1685640491780190.677063872281; Thu, 1 Jun 2023 10:28:11 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 2lZ6YY1788612xuzUfG4E0XJ; Thu, 01 Jun 2023 10:28:11 -0700 X-Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) by mx.groups.io with SMTP id smtpd.web10.612.1685640489944487162 for ; Thu, 01 Jun 2023 10:28:10 -0700 X-Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-4f3b4ed6fdeso1443362e87.3 for ; Thu, 01 Jun 2023 10:28:09 -0700 (PDT) X-Gm-Message-State: WUWEJdDilxcCQOVpqj5qYd9Vx1787277AA= X-Google-Smtp-Source: ACHHUZ4pQE4tSNYv+/0RPIVDCmsE1R6SovK0q1w7TSgYFwJEdCmtxfpITYZZAoai3OKinwRgP2NXWA== X-Received: by 2002:ac2:4824:0:b0:4f3:a69e:1d80 with SMTP id 4-20020ac24824000000b004f3a69e1d80mr506598lft.0.1685640487598; Thu, 01 Jun 2023 10:28:07 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:07 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Laszlo Ersek , Ard Biesheuvel Subject: [edk2-devel] [PATCH v3 06/12] OvmfPkg/Microvm: Replace the OVMF-specific SataControllerDxe Date: Thu, 1 Jun 2023 18:27:34 +0100 Message-Id: <20230601172740.9165-7-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640491; bh=vGqAevWi5dfeUxgVqe39xRy12b0n+pU8LyHcjROiat8=; h=Cc:Date:From:Reply-To:Subject:To; b=OYcr8qRumySWuo57MdQb70uI+FfF3RqfV9aSbA76/5TwaaXNtqt0w7P/L0wnv1Yd/YP zEUrV0/PYtk8/VPnww9VCHbS1MZAjhtfmohIndsCDBU/C701xhi8+fKE3HtMkOymEJOcR Qy5BCfJeJYVml10vJdiMPylFyryehGeYPe0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640492363100025 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 Reviewed-by: Laszlo Ersek Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann --- 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 c50b877eac7e..82da3a7e7cce 100644 --- a/OvmfPkg/Microvm/MicrovmX64.dsc +++ b/OvmfPkg/Microvm/MicrovmX64.dsc @@ -771,7 +771,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 (#105587): https://edk2.groups.io/g/devel/message/105587 Mute This Topic: https://groups.io/mt/99269915/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 Tue May 21 14:09:24 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+105588+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+105588+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640492; cv=none; d=zohomail.com; s=zohoarc; b=IQsydOCJwrZtY08nDq764FaJej+IlrwzUT2f7+3NMwYakL6PjDTV1zQiCGiSdJaK+u3FavbwwgMCsLje+lymyETfbcDr+1UzYdfm3uEgiEOecEgrVze3MX0TDzjCa25tHyWzLP852iJy0qTL/CkXlIsBP16t39Ucr17jVIqJ7f8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640492; 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=/4c1r51otjLv3YstUSF7yIgzrYxBZO3cDjOJcBmBq28=; b=lMeYjNJAc6SYD1bRgMdmBM4ZGsiDxDbAKmH2htl1NJ2vkHQ1W1DUKSwdzgmB8bDhyngIcWMrQuip2uI8vF4YAY5YTX1lS8vY+NxG+YZ8yfzmX0eAUISBVpKlbnAKd1OUj4b7Ac/tJryKqkk6sT0CU43razwuO8oZPT5o9MK8BBI= 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+105588+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 1685640492512500.97510237204324; Thu, 1 Jun 2023 10:28:12 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id dkD4YY1788612xzPMoWrwaJf; Thu, 01 Jun 2023 10:28:12 -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.649.1685640490752422711 for ; Thu, 01 Jun 2023 10:28:11 -0700 X-Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3f6042d605dso11335595e9.2 for ; Thu, 01 Jun 2023 10:28:10 -0700 (PDT) X-Gm-Message-State: fhPmLtrsWwBzMEUCIelLM5wCx1787277AA= X-Google-Smtp-Source: ACHHUZ4wyk2RvLFBlKTd15luRwGyZ6x+c+wWAyqUi8Qph5ZU7uAbubuh/+BqPQ2fs/c1ZHaHBAvkmA== X-Received: by 2002:a1c:e908:0:b0:3f7:19f9:4c4f with SMTP id q8-20020a1ce908000000b003f719f94c4fmr70211wmc.21.1685640488843; Thu, 01 Jun 2023 10:28:08 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:08 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Rebecca Cran , Peter Grehan , =?UTF-8?q?Corvin=20K=C3=B6hne?= , Ard Biesheuvel , Laszlo Ersek , =?UTF-8?q?Corvin=20K=C3=B6hne?= Subject: [edk2-devel] [PATCH v3 07/12] OvmfPkg/Bhyve: Replace the OVMF-specific SataControllerDxe Date: Thu, 1 Jun 2023 18:27:35 +0100 Message-Id: <20230601172740.9165-8-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640492; bh=hX5/vW/4mK5zsjADy8sMtdTlSqrUxxKeOmlnML4guIg=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=cN6DC3z8OwL6SA/AyNX23ZlMXKB9q2NYU5FIx/LyHM86pt/BnVD+REXX2Fbi8sf96m0 LIlTE/cTRFMlN0VNvJqWouco5PkJdJ2mJZZmngBcQz1HMMFQ7N7f/Cw9Bj4E7UCiOxnOR 6Cgoxx834GczdE1D41uw0Kq5VJzxsQa6Rgo= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640493515100030 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: Gerd Hoffmann Acked-by: Ard Biesheuvel Reviewed-by: Laszlo Ersek Acked-by: Peter Grehan Acked-by: Corvin K=C3=B6hne --- 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 (#105588): https://edk2.groups.io/g/devel/message/105588 Mute This Topic: https://groups.io/mt/99269917/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 Tue May 21 14:09:24 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+105589+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+105589+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640492; cv=none; d=zohomail.com; s=zohoarc; b=PEoje1iLlKZbyTMYzQPApM3wB72AQeVRfDPWaLraikYq8F7cTc/i359bTpQjfHf4b92e09Yit9PdM4Jrx5tMaNai/Cxr6O1VXD5Es5B53VDIUK0uOndOOeu7p+9O+EyVEdY5VZYNL22+GbNqgs1Vgvrst9NE83fEaIshuZjYKqg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640492; 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=K9hLDqrY9uOMPQFpPgDiBvVoF70R4ajYLiVyzS/DMZs=; b=Pc/A5rS0Dq0uQKRo0tYpImef2WB4MI2F1BD6VVyozbB1cPAwS3fQCBNz/T7XFqhsopUaCwxpDaDfnrvigIzP4IehPPwPR6dYc6Buz2EMHpripL2qOx7Wz3kFAc1Ad1sXDGVWDuy5jZO/hI8rm8ZhsxlAOpy4Xi+ZKr1yFqog9oQ= 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+105589+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 1685640492134375.5983612308198; Thu, 1 Jun 2023 10:28:12 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id HMBaYY1788612x8dNfzsRiOj; Thu, 01 Jun 2023 10:28:11 -0700 X-Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by mx.groups.io with SMTP id smtpd.web11.644.1685640484136160635 for ; Thu, 01 Jun 2023 10:28:11 -0700 X-Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-3f6d01d390bso11757345e9.2 for ; Thu, 01 Jun 2023 10:28:10 -0700 (PDT) X-Gm-Message-State: Brig6HIqvFkO0vkgvsMi5HeGx1787277AA= X-Google-Smtp-Source: ACHHUZ7eHRD+zXm4AlxYFEp2CqzpfW7Y4oDfuQVXPnFg6YrXj0S+Gaw+PBEFKy/s3GCPNIXeetNtdg== X-Received: by 2002:a1c:ed09:0:b0:3f4:f7c2:d681 with SMTP id l9-20020a1ced09000000b003f4f7c2d681mr90351wmh.29.1685640489937; Thu, 01 Jun 2023 10:28:09 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:09 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Sebastien Boeuf , Ard Biesheuvel Subject: [edk2-devel] [PATCH v3 08/12] OvmfPkg/CloudHv: Replace the OVMF-specific SataControllerDxe Date: Thu, 1 Jun 2023 18:27:36 +0100 Message-Id: <20230601172740.9165-9-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640491; bh=zEzr9iLRZjiP0w88dI6rJ03dfZpuZtZ1P+076+95dGQ=; h=Cc:Date:From:Reply-To:Subject:To; b=Cs6VXe/x4c62mdyXPllGYGF2P9IveFlRFxpQ9sDagvaliyQhNODT6ak5DATJIExKUgc ww0/sKt4eAQrgHcz7aYXEN4pNFvCCayVIbneEQdw+jjbf75pSzbLkWs+hHJ4hIJRy355m SzhnO1HiUbzC7LiHpsTFclwniy2LibodcHM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640494295100035 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 d4f86f8b7160..dd9aa403d6a0 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 (#105589): https://edk2.groups.io/g/devel/message/105589 Mute This Topic: https://groups.io/mt/99269918/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 Tue May 21 14:09:24 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+105590+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+105590+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640494; cv=none; d=zohomail.com; s=zohoarc; b=UqaPZdSE5Gpe3a/MtFZoDirQoF3weFClVsXtT7DlAENQum9aq8lstF62S7dmL9UrL5i0Xad77/qi3v0vTkKK1Kdl9qWEXpOAS1F6EBledz+xqRpuJhvsWsjGsdQDq9wo0L8kkXO8Q2rWnWp+n1uxd7ZUl05HhIi+VEiNw7dsuE4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640494; 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=MxIMT1n/6NOqmF04ozokD28BR3dya59pi+YeMcvkRl8=; b=Y02SmNXwBxC/qaWIomKlBIPlpDlnXiWmIZSaFv3m8WucGVwEi5967pl2vWUAeQbk6gx6iUCjMJ17On2onwV0AWIUx1RYWU9GVAFq3FEpey2puhYoz+PtdR+XfdPZt/r5rak/BWf8WBLaAYk8JDMXL5/4Xfgydv3evmAkNVCBEoI= 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+105590+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 1685640494078962.7706353792101; Thu, 1 Jun 2023 10:28:14 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id HBNiYY1788612xki4XrUlqyY; Thu, 01 Jun 2023 10:28:13 -0700 X-Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mx.groups.io with SMTP id smtpd.web11.651.1685640492885864381 for ; Thu, 01 Jun 2023 10:28:13 -0700 X-Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-3f6dbe3c230so11697515e9.3 for ; Thu, 01 Jun 2023 10:28:12 -0700 (PDT) X-Gm-Message-State: HfnBz2GUPADcWKaPI255EyQAx1787277AA= X-Google-Smtp-Source: ACHHUZ589RgsuklxntxJSwT0PoIoOsLMstNgzCq3iUyBz0pSncXDoXffpxr1GNPg2IrgvNDgwhiq8g== X-Received: by 2002:a05:600c:2949:b0:3f7:16ed:4ca3 with SMTP id n9-20020a05600c294900b003f716ed4ca3mr135001wmd.1.1685640490883; Thu, 01 Jun 2023 10:28:10 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:10 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Ard Biesheuvel Subject: [edk2-devel] [PATCH v3 09/12] OvmfPkg/IntelTdx: Replace the OVMF-specific SataControllerDxe Date: Thu, 1 Jun 2023 18:27:37 +0100 Message-Id: <20230601172740.9165-10-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640493; bh=HjV0I7JPJfZQzgnaIaXSkncjZR2jlV1jxnfWZEFp7CA=; h=Cc:Date:From:Reply-To:Subject:To; b=W4MD3SYjhNiDzcix1cIaGJiG+XGrGLASSdL8AdKsdKvZgroQMyDRqduPMR2FUbkV+L4 jvZtEmmTBf5Q5I3/mHZnx3lKEEYdSHx0NpnwptlqIZv7U28kWybKdXO2Qfjq6mKeT9QXG r2rLKmGVQbdYsfZj8R9hMjnxCQ2GmuXu4s8= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640494377100036 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: Gerd Hoffmann Acked-by: Ard Biesheuvel --- 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 0c21a713fc59..db4953a82ec6 100644 --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc @@ -666,7 +666,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 (#105590): https://edk2.groups.io/g/devel/message/105590 Mute This Topic: https://groups.io/mt/99269921/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 Tue May 21 14:09:24 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+105592+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+105592+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640496; cv=none; d=zohomail.com; s=zohoarc; b=b2eOb63pEx5P4EsPUNfdA4iHXB8YVx2Wm4LMBsyQ9aKB0m/S5ZvO3GUBRSfiuKi45oP+SMIOh1iBKOVhVYkDb7KWkvFRdhC/DOi+MBMTfD1ONB/cl64uBf0f8HpiyuiobXAbX+zS9u6M3vhMedBGpDjMILOW21Pyad17qaLS3Lk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640496; 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=mck6vyh2VzarcrYuVlIE1kYEC+lJN2UVSUxG00UlWXU=; b=lEBk4WiAPjCgn2qD4WRSYTK3TJGci+U9zJoTqFSZZwAfigU0XCpSQQRUyiYGAiiELF084bZ554/l2gWVX9n5OWUnE8rtU4wBJl/39RHYMFbaHiDhdALpyib/S0v3BxY7LC1DEppVR6+h5aHT/ag9mEq1HD8tw3k4Jx4hPZbiRDo= 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+105592+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 1685640496052227.22186681731068; Thu, 1 Jun 2023 10:28:16 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id TmkWYY1788612xbAzth5AnMo; Thu, 01 Jun 2023 10:28:15 -0700 X-Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by mx.groups.io with SMTP id smtpd.web10.616.1685640494751971264 for ; Thu, 01 Jun 2023 10:28:15 -0700 X-Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-4f3edc05aa5so1454703e87.3 for ; Thu, 01 Jun 2023 10:28:14 -0700 (PDT) X-Gm-Message-State: FcDCdokAKtshwwlFxuqBe6fgx1787277AA= X-Google-Smtp-Source: ACHHUZ7dwAmadYzkgzJOH/W4VxDTazPizeQy7z0IGa9WBiqSMhvKwyor1FjYgwwAWkpYoWTz+FMstQ== X-Received: by 2002:ac2:51b1:0:b0:4f4:e051:bb3e with SMTP id f17-20020ac251b1000000b004f4e051bb3emr395874lfk.36.1685640492496; Thu, 01 Jun 2023 10:28:12 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:12 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Erdem Aktas , James Bottomley , Min Xu , Tom Lendacky , Michael Roth , Ard Biesheuvel Subject: [edk2-devel] [PATCH v3 10/12] OvmfPkg/AmdSev: Replace the OVMF-specific SataControllerDxe Date: Thu, 1 Jun 2023 18:27:38 +0100 Message-Id: <20230601172740.9165-11-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640495; bh=tph7MwdSPLAx4QIg7TxxCXCmRUDVkXPoFqUE4Gt2yPQ=; h=Cc:Date:From:Reply-To:Subject:To; b=jZ1oq5zKETbxYUJFObdf/3+dW3eOCH9RE+aN6nKfOOAHd4s21ZSy0j+gvvldLX4TK/I j79lofEQB3j3D6RTTeu2QjT4XqtcFXeh93C21mqViUuSxOF1Xl2gMwzf/xWgoQku0Ty9R yMhrcLHsBjQq/g0Qddh5/BEwso5dmcNLDco= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640496308100041 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 dfcef0efca10..d24909e847b4 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc @@ -674,7 +674,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 (#105592): https://edk2.groups.io/g/devel/message/105592 Mute This Topic: https://groups.io/mt/99269924/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 Tue May 21 14:09:24 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+105591+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+105591+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640496; cv=none; d=zohomail.com; s=zohoarc; b=Qrc5Xdy3h8vgCfJgNj4oHAMLd+OJq2Pu6fRG3XyAgtX3P3Cg9lM865SwGgD42NEXWy9YLbXKaDRhgFmF2+vVktf+qFiCU8QCb+TOv04AcnAZogmXLoDND7DJjaxApaH7jZ1huYPLm35xQLb9sl7FES3ToRjZXYrNU0IvfWMjXGM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640496; 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=rWUgsWs7JybfzpOnxNV/A7MUYJO3KPtFrmC8L8uRGBE=; b=Xxk/wKVqLdwTAkfj3cgrOo2jQ64lByfqqkoAlsx2EQgxSeqZ9/4xoh5nfj/OZYkC8/BTjBv+vI1O7GEpIJ/eBwZ1hvWkG9+qeZ6TC56E0CrfaJHfmfAS1XWTLUugXVIGzuecti9dxke+nuUoxca4c9Ow6kFFQ3DGry85ZZt9W5A= 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+105591+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 1685640496468260.3890566819746; Thu, 1 Jun 2023 10:28:16 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id ykoHYY1788612xbS3HTGWpJR; Thu, 01 Jun 2023 10:28:16 -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.648.1685640488579470596 for ; Thu, 01 Jun 2023 10:28:14 -0700 X-Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3f603d4bc5bso11053975e9.3 for ; Thu, 01 Jun 2023 10:28:14 -0700 (PDT) X-Gm-Message-State: dxHrT1ARdGHd7bsmZO1hePxSx1787277AA= X-Google-Smtp-Source: ACHHUZ4XLEEm66K02FZCu9huREq+LBHPqaO56EQAxQrmS8wKDg2vC6D+remaXcuaH7YRtGN/qQdHqQ== X-Received: by 2002:a05:600c:228e:b0:3f6:496:e240 with SMTP id 14-20020a05600c228e00b003f60496e240mr62058wmf.27.1685640493571; Thu, 01 Jun 2023 10:28:13 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:13 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Anthony Perard , Julien Grall , Ard Biesheuvel Subject: [edk2-devel] [PATCH v3 11/12] OvmfPkg/Xen: Replace the OVMF-specific SataControllerDxe Date: Thu, 1 Jun 2023 18:27:39 +0100 Message-Id: <20230601172740.9165-12-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640496; bh=P3F0ldz0534G7lGDzkPXgynfXmZuTqqKY/2AYtmuMBU=; h=Cc:Date:From:Reply-To:Subject:To; b=M6ySkY0p4LxygthlUcSRR+h44Pk6jzUsAPx3v7psRURlvccL6x+nYgUDeithHOtO4ky hYJb3o055j5Ruxwjs4UfWvB6LbcgZ53o/uMtrMw/pcusQkADtJVmdUeY20Qv3N4Dxsn8/ aIWpY2bAGiqnOiWhvrbQrecA9Qqn9nlfiMA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640497540100045 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: Gerd Hoffmann Acked-by: Ard Biesheuvel Acked-by: Anthony PERARD --- 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 de445ebc0ba1..02d7f204d418 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 (#105591): https://edk2.groups.io/g/devel/message/105591 Mute This Topic: https://groups.io/mt/99269923/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 Tue May 21 14:09:24 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+105593+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+105593+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1685640499; cv=none; d=zohomail.com; s=zohoarc; b=ZFqaXpRduScClI9XrgztrndgGLjO0u3Y9SNCgJS1o5pnvJDIE5mk+E7BEGsn/ZyHajBLhI+zZCtBWFCbLEN+moSY/Keu6CDKP7BLFjiqyyNC2Ux2PUzLwA50xjsqD2oUBUxfyAksBhX3AueCstruukjkHVIkvJMn9Sw/SHJD4i8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685640499; 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=cu2vBxVJhFA35blSRinycOZ96XFWEn0xBk0JWap893g=; b=FJcDHW6GWa4e7W/KrmRfm1z7KxIlnlB4CHxnDceyjzrBtOMwyDGbJlYlUN1xx0JQB3wkXvVNQxRol5KESSOizWSudTHth0H/DCTsDICrmspuzF6+iKJvJtm1gSDE2tvmVEruywqVqwetToGa7NdtN7GzQI6X2YsBm+PJTUEHii0= 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+105593+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 1685640499014983.8631169958055; Thu, 1 Jun 2023 10:28:19 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id x83XYY1788612xFtDsgtrj84; Thu, 01 Jun 2023 10:28:18 -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.620.1685640497236448780 for ; Thu, 01 Jun 2023 10:28:17 -0700 X-Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-3f6e1393f13so11432635e9.0 for ; Thu, 01 Jun 2023 10:28:17 -0700 (PDT) X-Gm-Message-State: k7EGsIQMG81xwSinTdzAkc0Xx1787277AA= X-Google-Smtp-Source: ACHHUZ7YV6YYnfa+S+ZhhZ/bwllbAFVm6U+RN4v8w8ZMfXiAP8GVEaOH3R4wAd2re8B6MOFROieC7w== X-Received: by 2002:a7b:c7d5:0:b0:3f6:cfc7:8bcf with SMTP id z21-20020a7bc7d5000000b003f6cfc78bcfmr44627wmk.34.1685640495170; Thu, 01 Jun 2023 10:28:15 -0700 (PDT) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id n11-20020a7bcbcb000000b003f60d0eef36sm2970511wmi.48.2023.06.01.10.28.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jun 2023 10:28:14 -0700 (PDT) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Ard Biesheuvel , Laszlo Ersek Subject: [edk2-devel] [PATCH v3 12/12] OvmfPkg: Remove SataControllerDxe Date: Thu, 1 Jun 2023 18:27:40 +0100 Message-Id: <20230601172740.9165-13-pedro.falcato@gmail.com> In-Reply-To: <20230601172740.9165-1-pedro.falcato@gmail.com> References: <20230601172740.9165-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=1685640498; bh=1reg9sJAjHgQ/6L3ahZKfiXZG2rErYen3AXy4tjLU8k=; h=Cc:Date:From:Reply-To:Subject:To; b=pUze+QI3TawANXZquNKSN6p7+PMwL6OR10b4+eDkGa+PG2RN1LbZX1V8vuzDpcOTanI kIzyyuwDMY+MX3wVIaVlcDFs4CC1Rm4QCd8XgMslb9qz3Yyse76pTxMbAmrh+5MAnYrKQ qY+DB8n70LZevXCVi9qXG0ftUJ666rs0iKo= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685640500422100051 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 (#105593): https://edk2.groups.io/g/devel/message/105593 Mute This Topic: https://groups.io/mt/99269929/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-