From: "Ard Biesheuvel" <ard.biesheuvel@linaro.org>
To: edk2-devel-groups-io <devel@edk2.groups.io>,
Alan Ott <alan@softiron.co.uk>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Subject: Re: [PATCH edk2-platforms] Silicon/AMD/Styx: remove the non-capsule based flasher tool
Date: Wed, 24 Apr 2019 15:32:58 +0200 [thread overview]
Message-ID: <CAKv+Gu---b7hDyQMkSwp6RjDuth58x0s_7oL+tJ6BremUdKHxA@mail.gmail.com> (raw)
In-Reply-To: <20190424132952.8883-1-ard.biesheuvel@linaro.org>
(+ Alan)
On Wed, 24 Apr 2019 at 15:29, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>
> We have had capsule support enabled on this platform for a while now, so
> let's drop the hacked up flasher tool that we no longer have a need for.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
> Platform/AMD/OverdriveBoard/OverdriveBoard.dsc | 8 --
> Platform/LeMaker/CelloBoard/CelloBoard.dsc | 8 --
> Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc | 8 --
> Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.inf | 53 -----------
> Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.c | 96 --------------------
> Silicon/AMD/Styx/Applications/StyxFlashUefi/Scripts/GccBase.lds | 86 ------------------
> Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashImage.S | 25 -----
> 7 files changed, 284 deletions(-)
>
> diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
> index 0e1db0745d89..616553172bf0 100644
> --- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
> +++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
> @@ -18,7 +18,6 @@
> [Defines]
>
> DEFINE NUM_CORES = 8
> -DEFINE DO_FLASHER = FALSE
> DEFINE X64EMU_ENABLE = FALSE
>
> PLATFORM_NAME = Overdrive
> @@ -747,13 +746,6 @@ DEFINE X64EMU_ENABLE = FALSE
> gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
> }
>
> -!if $(DO_FLASHER) == TRUE
> - Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.inf {
> - <LibraryClasses>
> - ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
> - }
> -!endif
> -
> #
> # Firmware update
> #
> diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.dsc b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
> index 56a31a97a4ec..c26d38226cd2 100644
> --- a/Platform/LeMaker/CelloBoard/CelloBoard.dsc
> +++ b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
> @@ -18,7 +18,6 @@
> [Defines]
>
> DEFINE NUM_CORES = 4
> -DEFINE DO_FLASHER = FALSE
>
> PLATFORM_NAME = Cello
> PLATFORM_GUID = 77861b3e-74b0-4ff3-8d18-c5ba5803e1bf
> @@ -676,10 +675,3 @@ DEFINE DO_FLASHER = FALSE
> !ifdef $(RENESAS_XHCI_FW_DIR)
> OpenPlatformPkg/Drivers/Xhci/RenesasFirmwarePD720202/RenesasFirmwarePD720202.inf
> !endif
> -
> -!if $(DO_FLASHER) == TRUE
> - Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.inf {
> - <LibraryClasses>
> - ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
> - }
> -!endif
> diff --git a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
> index 6ae0f2620c38..4fbc4201cf6b 100644
> --- a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
> +++ b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
> @@ -18,7 +18,6 @@
> [Defines]
>
> DEFINE NUM_CORES = 4
> -DEFINE DO_FLASHER = FALSE
>
> PLATFORM_NAME = Overdrive1000
> PLATFORM_GUID = 36774DD7-20DE-4C5B-8722-f8861DFF1F16
> @@ -668,10 +667,3 @@ DEFINE DO_FLASHER = FALSE
> gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
> gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
> }
> -
> -!if $(DO_FLASHER) == TRUE
> - Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.inf {
> - <LibraryClasses>
> - ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
> - }
> -!endif
> diff --git a/Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.inf b/Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.inf
> deleted file mode 100644
> index 0c289dcf95f4..000000000000
> --- a/Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.inf
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -#/** @file
> -#
> -# Copyright (c) 2017, Linaro Ltd. All rights reserved.<BR>
> -#
> -# This program and the accompanying materials
> -# are licensed and made available under the terms and conditions of the BSD License
> -# which accompanies this distribution. The full text of the license may be found at
> -# http://opensource.org/licenses/bsd-license.php
> -#
> -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> -#
> -#**/
> -
> -[Defines]
> - INF_VERSION = 0x00010019
> - BASE_NAME = StyxFlashUefi
> - FILE_GUID = 07b65d9d-b1a2-416e-bd04-0b61b775f924
> - MODULE_TYPE = UEFI_APPLICATION
> - VERSION_STRING = 0.1
> - ENTRY_POINT = ShellCEntryLib
> -
> -#
> -# VALID_ARCHITECTURES = AARCH64
> -#
> -
> -[Sources]
> - StyxFlashImage.S
> - StyxFlashUefi.c
> -
> -[Packages]
> - ArmPkg/ArmPkg.dec
> - MdePkg/MdePkg.dec
> - ShellPkg/ShellPkg.dec
> - Silicon/AMD/Styx/AmdModulePkg/AmdModulePkg.dec
> -
> -[LibraryClasses]
> - BaseMemoryLib
> - ShellCEntryLib
> - UefiBootServicesTableLib
> - UefiLib
> -
> -[Protocols]
> - gAmdIscpDxeProtocolGuid
> -
> -[FixedPcd]
> - gArmTokenSpaceGuid.PcdFdBaseAddress
> - gArmTokenSpaceGuid.PcdFvBaseAddress
> -
> -[BuildOptions]
> - *_*_*_CC_FLAGS = -mcmodel=small
> - *_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -Wl,-T,$(MODULE_DIR)/Scripts/GccBase.lds
> - *_*_*_PLATFORM_FLAGS = -I$(BIN_DIR)/../FV
> diff --git a/Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.c b/Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.c
> deleted file mode 100644
> index 8f181bc2a54d..000000000000
> --- a/Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.c
> +++ /dev/null
> @@ -1,96 +0,0 @@
> -/** @file
> -
> - Copyright (c) 2017, Linaro Ltd. All rights reserved.<BR>
> -
> - This program and the accompanying materials
> - are licensed and made available under the terms and conditions of the BSD License
> - which accompanies this distribution. The full text of the license may be found at
> - http://opensource.org/licenses/bsd-license.php
> -
> - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> -
> -**/
> -
> -#include <Uefi.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/ShellCEntryLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiLib.h>
> -
> -#include <Protocol/AmdIscpDxeProtocol.h>
> -
> -#define UEFI_IMAGE_OFFSET FixedPcdGet64 (PcdFvBaseAddress) - FixedPcdGet64 (PcdFdBaseAddress)
> -#define BLOCK_SIZE SIZE_64KB
> -
> -STATIC AMD_ISCP_DXE_PROTOCOL *mIscpDxeProtocol;
> -STATIC UINT8 Buffer[BLOCK_SIZE];
> -
> -extern CONST UINT8 StyxFlashImageStart[];
> -extern CONST UINT32 StyxFlashImageSize;
> -
> -/***
> - Main entrypoint
> -
> - Establishes the main structure of the application.
> -
> - @retval 0 The application exited normally.
> - @retval Other An error occurred.
> -***/
> -INTN
> -EFIAPI
> -ShellAppMain (
> - IN UINTN Argc,
> - IN CHAR16 **Argv
> - )
> -{
> - EFI_STATUS Status;
> - UINTN Index;
> - INTN Remaining;
> -
> - Print (L"StyxFlashUefi: firmware updater for AMD Seattle based boards.\n");
> -
> - Status = gBS->LocateProtocol (&gAmdIscpDxeProtocolGuid, NULL,
> - (VOID **)&mIscpDxeProtocol);
> - if (EFI_ERROR (Status)) {
> - Print (L"Failed to locate ISCP communication protocol, terminating...\n");
> - return (INTN)Status;
> - }
> -
> - Index = 0;
> - Remaining = StyxFlashImageSize;
> - do {
> - Status = mIscpDxeProtocol->AmdExecuteEraseFvBlockDxe (
> - mIscpDxeProtocol,
> - UEFI_IMAGE_OFFSET + Index * BLOCK_SIZE,
> - BLOCK_SIZE);
> - if (EFI_ERROR (Status)) {
> - Print (L"Erase failed!\n");
> - return (INTN)Status;
> - }
> -
> - CopyMem (Buffer, StyxFlashImageStart + Index * BLOCK_SIZE,
> - MIN (Remaining, BLOCK_SIZE));
> -
> - Status = mIscpDxeProtocol->AmdExecuteUpdateFvBlockDxe (
> - mIscpDxeProtocol,
> - UEFI_IMAGE_OFFSET + Index * BLOCK_SIZE,
> - Buffer,
> - MIN (Remaining, BLOCK_SIZE));
> -
> - if (EFI_ERROR (Status)) {
> - Print (L"Update failed!\n");
> - return (INTN)Status;
> - }
> -
> - Remaining -= BLOCK_SIZE;
> - Index++;
> -
> - Print (L"Block %d of %d updated\n", Index, StyxFlashImageSize / BLOCK_SIZE);
> -
> - } while (Remaining > 0);
> -
> - Print (L"\nDone!\n");
> -
> - return 0;
> -}
> diff --git a/Silicon/AMD/Styx/Applications/StyxFlashUefi/Scripts/GccBase.lds b/Silicon/AMD/Styx/Applications/StyxFlashUefi/Scripts/GccBase.lds
> deleted file mode 100644
> index 7a0c87c6e32b..000000000000
> --- a/Silicon/AMD/Styx/Applications/StyxFlashUefi/Scripts/GccBase.lds
> +++ /dev/null
> @@ -1,86 +0,0 @@
> -/** @file
> -
> - Unified linker script for GCC based builds
> -
> - Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
> - Copyright (c) 2015 - 2017, Linaro Ltd. All rights reserved.<BR>
> - (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> -
> - This program and the accompanying materials are licensed and made available under
> - the terms and conditions of the BSD License that accompanies this distribution.
> - The full text of the license may be found at
> - http://opensource.org/licenses/bsd-license.php.
> -
> - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> -
> -**/
> -
> -SECTIONS {
> -
> - /*
> - * The PE/COFF binary consists of DOS and PE/COFF headers, and a sequence of
> - * section headers adding up to PECOFF_HEADER_SIZE bytes (which differs
> - * between 32-bit and 64-bit builds). The actual start of the .text section
> - * will be rounded up based on its actual alignment.
> - */
> - . = PECOFF_HEADER_SIZE;
> -
> - .text : ALIGN(CONSTANT(COMMONPAGESIZE)) {
> - *(.text .text.* .stub .gnu.linkonce.t.*)
> - *(.rodata .rodata.* .gnu.linkonce.r.*)
> - *(.got .got.*)
> -
> - /*
> - * The contents of AutoGen.c files are mostly constant from the POV of the
> - * program, but most of it ends up in .data or .bss by default since few of
> - * the variable definitions that get emitted are declared as CONST.
> - * Unfortunately, we cannot pull it into the .text section entirely, since
> - * patchable PCDs are also emitted here, but we can at least move all of the
> - * emitted GUIDs here.
> - */
> - *:AutoGen.obj(.data.g*Guid)
> - }
> -
> - /*
> - * The alignment of the .data section should be less than or equal to the
> - * alignment of the .text section. This ensures that the relative offset
> - * between these sections is the same in the ELF and the PE/COFF versions of
> - * this binary.
> - */
> - .data ALIGN(ALIGNOF(.text)) : ALIGN(CONSTANT(COMMONPAGESIZE)) {
> - *(.data .data.* .gnu.linkonce.d.*)
> - *(.bss .bss.*)
> - *(.payload)
> - }
> -
> - .eh_frame ALIGN(CONSTANT(COMMONPAGESIZE)) : {
> - KEEP (*(.eh_frame))
> - }
> -
> - .rela (INFO) : {
> - *(.rela .rela.*)
> - }
> -
> - .hii : ALIGN(CONSTANT(COMMONPAGESIZE)) {
> - KEEP (*(.hii))
> - }
> -
> - /*
> - * Retain the GNU build id but in a non-allocatable section so GenFw
> - * does not copy it into the PE/COFF image.
> - */
> - .build-id (INFO) : { *(.note.gnu.build-id) }
> -
> - /DISCARD/ : {
> - *(.note.GNU-stack)
> - *(.gnu_debuglink)
> - *(.interp)
> - *(.dynsym)
> - *(.dynstr)
> - *(.dynamic)
> - *(.hash .gnu.hash)
> - *(.comment)
> - *(COMMON)
> - }
> -}
> diff --git a/Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashImage.S b/Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashImage.S
> deleted file mode 100644
> index 041339ee9b47..000000000000
> --- a/Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashImage.S
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -/** @file
> -
> - Copyright (c) 2017, Linaro Ltd. All rights reserved.<BR>
> -
> - This program and the accompanying materials
> - are licensed and made available under the terms and conditions of the BSD License
> - which accompanies this distribution. The full text of the license may be found at
> - http://opensource.org/licenses/bsd-license.php
> -
> - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> -
> -**/
> -
> - .section ".payload"
> - .align 12
> -
> -ASM_GLOBAL ASM_PFX(StyxFlashImageStart)
> -ASM_PFX(StyxFlashImageStart):
> - .incbin "STYX_EFI.Fv"
> -
> - .align 2
> -ASM_GLOBAL ASM_PFX(StyxFlashImageSize)
> -ASM_PFX(StyxFlashImageSize):
> - .long . - ASM_PFX(StyxFlashImageStart)
> --
> 2.20.1
>
next prev parent reply other threads:[~2019-04-24 13:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-24 13:29 [PATCH edk2-platforms] Silicon/AMD/Styx: remove the non-capsule based flasher tool Ard Biesheuvel
2019-04-24 13:32 ` Ard Biesheuvel [this message]
2019-04-24 13:44 ` Leif Lindholm
2019-05-02 10:19 ` 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=CAKv+Gu---b7hDyQMkSwp6RjDuth58x0s_7oL+tJ6BremUdKHxA@mail.gmail.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