public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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]
-=-=-=-=-=-=-=-=-=-=-=-



  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