public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Jeremy Linton" <jeremy.linton@arm.com>
To: Leif Lindholm <quic_llindhol@quicinc.com>,
	Ard Biesheuvel <ardb+git@google.com>
Cc: devel@edk2.groups.io, Ard Biesheuvel <ardb@kernel.org>
Subject: Re: [edk2-devel] [PATCH edk2-platforms 5/5] Platform/RaspberryPi: Drop platform specific EfiResetSystemLib
Date: Thu, 25 Jul 2024 15:21:20 -0500	[thread overview]
Message-ID: <7d3a04a4-f33a-4095-8390-bc77229caf5e@arm.com> (raw)
In-Reply-To: <ZqI5QgDEXLks33pJ@qc-i7.hemma.eciton.net>

Hi,

On 7/25/24 06:38, Leif Lindholm wrote:
> 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.

The first couple are DCE time/mac UUIDs with the MAC address fuzzed, no? 
Initially I assumed this coudn't be the case because I would have 
expected the timestamp (2016-06-13 21:57:59, which looks almost 
reasonable) to vary, but i'm guessing they were generated, and then 
someone didn't want their mac in the pubic so they fuzzed it a couple 
times rather than generating completely new IDs. Some of the others 
though, maybe a BE/LE UUID/GUID manual conversion (or not) problem...

Anyway, I will spin it up in a day or two on real hardware, but right 
now its all torn down in boxes because i've moved.



> 
> 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 (#120042): https://edk2.groups.io/g/devel/message/120042
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]
-=-=-=-=-=-=-=-=-=-=-=-



  parent reply	other threads:[~2024-07-25 20:21 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
2024-07-25 12:12     ` Alexander D
2024-07-25 12:13       ` Ard Biesheuvel
2024-07-25 20:21     ` Jeremy Linton [this message]
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=7d3a04a4-f33a-4095-8390-bc77229caf5e@arm.com \
    --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