From: "Leif Lindholm" <quic_llindhol@quicinc.com>
To: Ard Biesheuvel <ardb+git@google.com>
Cc: <devel@edk2.groups.io>, Ard Biesheuvel <ardb@kernel.org>,
Jeremy Linton <jeremy.linton@arm.com>
Subject: Re: [edk2-devel] [PATCH edk2-platforms 5/5] Platform/RaspberryPi: Drop platform specific EfiResetSystemLib
Date: Thu, 25 Jul 2024 12:38:42 +0100 [thread overview]
Message-ID: <ZqI5QgDEXLks33pJ@qc-i7.hemma.eciton.net> (raw)
In-Reply-To: <20240725104332.1675625-6-ardb+git@google.com>
On Thu, Jul 25, 2024 at 12:43:30 +0200, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
>
> Drop the now unused EfiResetSystemLib implementation, which has been
> superseded by the generic one from EDK2.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
> Platform/RaspberryPi/RaspberryPi.dec | 1 -
> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf | 1 -
> Platform/RaspberryPi/Library/ResetLib/ResetLib.inf | 45 ------
> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c | 11 --
> Platform/RaspberryPi/Library/ResetLib/ResetLib.c | 151 --------------------
> 5 files changed, 209 deletions(-)
>
> diff --git a/Platform/RaspberryPi/RaspberryPi.dec b/Platform/RaspberryPi/RaspberryPi.dec
> index 6bd16a5ae9fd..a5fa1fb00c48 100644
> --- a/Platform/RaspberryPi/RaspberryPi.dec
> +++ b/Platform/RaspberryPi/RaspberryPi.dec
> @@ -24,7 +24,6 @@ [Protocols]
>
> [Guids]
> gRaspberryPiTokenSpaceGuid = {0xCD7CC258, 0x31DB, 0x11E6, {0x9F, 0xD3, 0x63, 0xB0, 0xB8, 0xEE, 0xD6, 0xB5}}
> - gRaspberryPiEventResetGuid = {0xCD7CC258, 0x31DB, 0x11E6, {0x9F, 0xD3, 0x63, 0xB4, 0xB4, 0xE4, 0xD4, 0xB4}}
> gConfigDxeFormSetGuid = {0xCD7CC258, 0x31DB, 0x22E6, {0x9F, 0x22, 0x63, 0xB0, 0xB8, 0xEE, 0xD6, 0xB5}}
*loud sigh at looking those "GUIDs"*
But that's not this set's fault.
For the series:
Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
Thanks!
/
Leif
> [PcdsFixedAtBuild.common]
> diff --git a/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> index 6456153fd3ab..53391466a77b 100644
> --- a/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> @@ -52,7 +52,6 @@ [LibraryClasses]
>
> [Guids]
> gEfiEventVirtualAddressChangeGuid
> - gRaspberryPiEventResetGuid
> gEfiEventReadyToBootGuid
>
> [Protocols]
> diff --git a/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf b/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
> deleted file mode 100644
> index 9bdb94a52ebf..000000000000
> --- a/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -#/** @file
> -#
> -# Reset System lib using PSCI hypervisor or secure monitor calls.
> -# Signals the gRaspberryPiEventResetGuid event group on reset.
> -#
> -# Copyright (c) 2018, Andrei Warkentin <andrey.warkentin@gmail.com>
> -# Copyright (c) 2014, Linaro Ltd. All rights reserved.
> -# Copyright (c) 2014, ARM Ltd. All rights reserved.
> -# Copyright (c) 2008, Apple Inc. All rights reserved.
> -#
> -# SPDX-License-Identifier: BSD-2-Clause-Patent
> -#
> -#**/
> -
> -[Defines]
> - INF_VERSION = 0x0001001A
> - BASE_NAME = ResetLib
> - FILE_GUID = B9F59B69-A105-41C7-8F5A-2C60DD7FD7AB
> - MODULE_TYPE = BASE
> - VERSION_STRING = 1.0
> - LIBRARY_CLASS = EfiResetSystemLib
> -
> -[Sources]
> - ResetLib.c
> -
> -[Packages]
> - ArmPkg/ArmPkg.dec
> - MdePkg/MdePkg.dec
> - EmbeddedPkg/EmbeddedPkg.dec
> - Platform/RaspberryPi/RaspberryPi.dec
> -
> -[LibraryClasses]
> - DebugLib
> - BaseLib
> - ArmSmcLib
> - PcdLib
> - TimerLib
> - UefiLib
> - UefiRuntimeLib
> -
> -[Guids]
> - gRaspberryPiEventResetGuid
> -
> -[Pcd]
> - gRaspberryPiTokenSpaceGuid.PcdPlatformResetDelay ## CONSUMES
> diff --git a/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
> index 81dfb95e323c..04414b142c7e 100644
> --- a/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
> +++ b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
> @@ -262,20 +262,9 @@ InstallDumpVarEventHandlers (
> )
> {
> EFI_STATUS Status;
> - EFI_EVENT ResetEvent;
> EFI_EVENT ReadyToBootEvent;
> EFI_RESET_NOTIFICATION_PROTOCOL *ResetNotify;
>
> - Status = gBS->CreateEventEx (
> - EVT_NOTIFY_SIGNAL,
> - TPL_CALLBACK,
> - DumpVarsOnEvent,
> - NULL,
> - &gRaspberryPiEventResetGuid,
> - &ResetEvent
> - );
> - ASSERT_EFI_ERROR (Status);
> -
> Status = gBS->CreateEventEx (
> EVT_NOTIFY_SIGNAL,
> TPL_CALLBACK,
> diff --git a/Platform/RaspberryPi/Library/ResetLib/ResetLib.c b/Platform/RaspberryPi/Library/ResetLib/ResetLib.c
> deleted file mode 100644
> index 2bcef8d4db2b..000000000000
> --- a/Platform/RaspberryPi/Library/ResetLib/ResetLib.c
> +++ /dev/null
> @@ -1,151 +0,0 @@
> -/** @file
> - *
> - * Support ResetSystem Runtime call using PSCI calls.
> - * Signals the gRaspberryPiEventResetGuid event group on reset.
> - *
> - * Copyright (c) 2018, Andrei Warkentin <andrey.warkentin@gmail.com>
> - * Copyright (c) 2014, Linaro Ltd. All rights reserved.
> - * Copyright (c) 2013-2015, ARM Ltd. All rights reserved.
> - * Copyright (c) 2008-2009, Apple Inc. All rights reserved.
> - *
> - * SPDX-License-Identifier: BSD-2-Clause-Patent
> - *
> - **/
> -
> -#include <PiDxe.h>
> -
> -#include <Library/BaseLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/TimerLib.h>
> -#include <Library/EfiResetSystemLib.h>
> -#include <Library/ArmSmcLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiLib.h>
> -#include <Library/UefiRuntimeLib.h>
> -
> -#include <IndustryStandard/ArmStdSmc.h>
> -
> -
> -/**
> - Disconnect everything.
> - Modified from the UEFI 2.3 spec (May 2009 version)
> -
> -**/
> -STATIC
> -VOID
> -DisconnectAll (
> - VOID
> - )
> -{
> - EFI_STATUS Status;
> - UINTN HandleCount;
> - EFI_HANDLE *HandleBuffer;
> - UINTN HandleIndex;
> -
> - /*
> - * Retrieve the list of all handles from the handle database
> - */
> - Status = gBS->LocateHandleBuffer (
> - AllHandles,
> - NULL,
> - NULL,
> - &HandleCount,
> - &HandleBuffer
> - );
> - if (EFI_ERROR (Status)) {
> - return;
> - }
> -
> - for (HandleIndex = 0; HandleIndex < HandleCount; HandleIndex++) {
> - gBS->DisconnectController (HandleBuffer[HandleIndex], NULL, NULL);
> - }
> -
> - gBS->FreePool(HandleBuffer);
> -}
> -
> -
> -/**
> - Resets the entire platform.
> -
> - @param ResetType The type of reset to perform.
> - @param ResetStatus The status code for the reset.
> - @param DataSize The size, in bytes, of WatchdogData.
> - @param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or
> - EfiResetShutdown the data buffer starts with a Null-terminated
> - Unicode string, optionally followed by additional binary data.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibResetSystem (
> - IN EFI_RESET_TYPE ResetType,
> - IN EFI_STATUS ResetStatus,
> - IN UINTN DataSize,
> - IN CHAR16 *ResetData OPTIONAL
> - )
> -{
> - ARM_SMC_ARGS ArmSmcArgs;
> - UINT32 Delay;
> -
> - if (!EfiAtRuntime ()) {
> - /*
> - * Only if still in UEFI.
> - */
> - EfiEventGroupSignal (&gRaspberryPiEventResetGuid);
> -
> - DisconnectAll ();
> -
> - Delay = PcdGet32 (PcdPlatformResetDelay);
> - if (Delay != 0) {
> - DEBUG ((DEBUG_INFO, "Platform will be reset in %d.%d seconds...\n",
> - Delay / 1000000, (Delay % 1000000) / 100000));
> - MicroSecondDelay (Delay);
> - }
> - }
> - DEBUG ((DEBUG_INFO, "Platform %a.\n",
> - (ResetType == EfiResetShutdown) ? "shutdown" : "reset"));
> -
> - switch (ResetType) {
> - case EfiResetPlatformSpecific:
> - // Map the platform specific reset as reboot
> - case EfiResetWarm:
> - // Map a warm reset into a cold reset
> - case EfiResetCold:
> - // Send a PSCI 0.2 SYSTEM_RESET command
> - ArmSmcArgs.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_RESET;
> - break;
> - case EfiResetShutdown:
> - // Send a PSCI 0.2 SYSTEM_OFF command
> - ArmSmcArgs.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_OFF;
> - break;
> - default:
> - ASSERT (FALSE);
> - return EFI_UNSUPPORTED;
> - }
> -
> - ArmCallSmc (&ArmSmcArgs);
> -
> - // We should never be here
> - DEBUG ((DEBUG_ERROR, "%a: PSCI Reset failed\n", __FUNCTION__));
> - CpuDeadLoop ();
> - return EFI_UNSUPPORTED;
> -}
> -
> -/**
> - Initialize any infrastructure required for LibResetSystem () to function.
> -
> - @param ImageHandle The firmware allocated handle for the EFI image.
> - @param SystemTable A pointer to the EFI System Table.
> -
> - @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibInitializeResetSystem (
> - IN EFI_HANDLE ImageHandle,
> - IN EFI_SYSTEM_TABLE *SystemTable
> - )
> -{
> - return EFI_SUCCESS;
> -}
> --
> 2.46.0.rc1.232.g9752f9e123-goog
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120037): https://edk2.groups.io/g/devel/message/120037
Mute This Topic: https://groups.io/mt/107540912/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next prev parent reply other threads:[~2024-07-25 11:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-25 10:43 [edk2-devel] [PATCH edk2-platforms 0/5] RPi: Drop EmbeddedPkg reset runtime Ard Biesheuvel via groups.io
2024-07-25 10:43 ` [edk2-devel] [PATCH edk2-platforms 1/5] Platform/RaspberryPi/VarBlockServiceDxe: Refactor DumpVars event handler Ard Biesheuvel via groups.io
2024-07-25 10:43 ` [edk2-devel] [PATCH edk2-platforms 2/5] Platform/RaspberryPi/VarBlockServiceDxe: Register for reset notification Ard Biesheuvel via groups.io
2024-07-25 10:43 ` [edk2-devel] [PATCH edk2-platforms 3/5] Platform/RaspberryPi/PlatformBootManagerLib: Reimplement reset hook Ard Biesheuvel via groups.io
2024-07-25 10:43 ` [edk2-devel] [PATCH edk2-platforms 4/5] Platform/RaspberryPi: Switch to generic reset runtime Ard Biesheuvel via groups.io
2024-07-25 10:43 ` [edk2-devel] [PATCH edk2-platforms 5/5] Platform/RaspberryPi: Drop platform specific EfiResetSystemLib Ard Biesheuvel via groups.io
2024-07-25 11:38 ` Leif Lindholm [this message]
2024-07-25 12:12 ` Alexander D
2024-07-25 12:13 ` Ard Biesheuvel
2024-07-25 20:21 ` Jeremy Linton
2024-07-25 21:23 ` Ard Biesheuvel
2024-07-28 19:35 ` Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZqI5QgDEXLks33pJ@qc-i7.hemma.eciton.net \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox