public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 00/10] Multiple packages: Remove RVCT support
@ 2022-05-03 18:48 Rebecca Cran
  2022-05-03 18:48 ` [PATCH 01/10] ArmPkg: " Rebecca Cran
                   ` (10 more replies)
  0 siblings, 11 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete, no longer supported and only supports 32-bit systems.
Since it's no longer used, remove it.

Personal PR: https://github.com/tianocore/edk2/pull/2833

Rebecca Cran (10):
  ArmPkg: Remove RVCT support
  ArmPlatformPkg: Remove RVCT support
  CryptoPkg: Remove RVCT support
  MdePkg: Remove RVCT support
  FatPkg: Remove RVCT support
  NetworkPkg: Remove RVCT support
  ArmVirtPkg: Remove RVCT support
  EmbeddedPkg: Remove RVCT support
  OvmfPkg: Remove RVCT support
  BaseTools: Remove RVCT support

 ArmPkg/Drivers/ArmGic/ArmGicLib.inf                                    |   1 -
 ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm                           |  82 ------
 ArmPkg/Include/AsmMacroExport.inc                                      |  23 --
 ArmPkg/Library/ArmExceptionLib/Arm/ExceptionSupport.asm                | 296 --------------------
 ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf                     |   1 -
 ArmPkg/Library/ArmExceptionLib/ArmRelocateExceptionLib.inf             |   1 -
 ArmPkg/Library/ArmHvcLib/Arm/ArmHvc.asm                                |  46 ---
 ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf                                 |   4 -
 ArmPkg/Library/ArmLib/Arm/ArmLibSupport.asm                            | 174 ------------
 ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm                          | 107 -------
 ArmPkg/Library/ArmLib/Arm/ArmV7ArchTimerSupport.asm                    |  93 ------
 ArmPkg/Library/ArmLib/Arm/ArmV7Support.asm                             | 292 -------------------
 ArmPkg/Library/ArmLib/ArmBaseLib.inf                                   |   5 -
 ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.asm                    |  26 --
 ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf                             |   1 -
 ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm                                |  45 ---
 ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf                                 |   4 -
 ArmPkg/Library/ArmSvcLib/Arm/ArmSvc.asm                                |  36 ---
 ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf                                 |   1 -
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.asm                      |  34 ---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.asm                      |  36 ---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.asm                   |  46 ---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/mullu.asm                     |  43 ---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch.asm                    |  22 --
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm                     |  58 ----
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm                    |  60 ----
 ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf         |  15 -
 ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm    |  62 ----
 ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf       |   1 -
 ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.asm | 118 --------
 ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf     |   1 -
 ArmPlatformPkg/PrePeiCore/Arm/Exception.asm                            |  83 ------
 ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm                 |  89 ------
 ArmPlatformPkg/PrePeiCore/Arm/SwitchStack.asm                          |  32 ---
 ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf                         |   3 -
 ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf                        |   3 -
 ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm                          | 142 ----------
 ArmPlatformPkg/PrePi/PeiMPCore.inf                                     |   1 -
 ArmPlatformPkg/PrePi/PeiUniCore.inf                                    |   1 -
 ArmPlatformPkg/Scripts/Makefile                                        |   5 +-
 ArmVirtPkg/ArmVirt.dsc.inc                                             |   4 -
 BaseTools/Conf/build_rule.template                                     |  42 +--
 BaseTools/Conf/tools_def.template                                      | 157 -----------
 BaseTools/Scripts/Rvct-Align32.sct                                     |  19 --
 BaseTools/Scripts/Rvct-Align4K.sct                                     |  19 --
 BaseTools/Source/C/Include/Common/BaseTypes.h                          |  10 +-
 BaseTools/Source/Python/AutoGen/BuildEngine.py                         |   2 +-
 BaseTools/Source/Python/AutoGen/GenMake.py                             |   2 +-
 BaseTools/Source/Python/AutoGen/ModuleAutoGen.py                       |  17 +-
 BaseTools/Source/Python/UPT/Library/DataType.py                        |   1 -
 CryptoPkg/CryptoPkg.dsc                                                |   1 -
 CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf                        |   4 -
 CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf                         |   4 -
 CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf                     |   4 -
 CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf            |   4 -
 CryptoPkg/Library/OpensslLib/OpensslLib.inf                            |   1 -
 CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf                      |   1 -
 CryptoPkg/Test/CryptoPkgHostUnitTest.dsc                               |   1 -
 EmbeddedPkg/EmbeddedPkg.dsc                                            |   1 -
 EmbeddedPkg/GdbStub/Arm/Processor.c                                    |  10 -
 FatPkg/FatPkg.dsc                                                      |   1 -
 MdePkg/Include/Arm/ProcessorBind.h                                     |   4 +-
 MdePkg/Include/Base.h                                                  |  42 +--
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf                               |   2 -
 MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf        |   1 -
 MdePkg/Library/BaseLib/BaseLib.inf                                     |  11 -
 MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf                         |   8 -
 MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf             |   6 -
 MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf                 |   1 -
 MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf       |   1 -
 NetworkPkg/NetworkBuildOptions.dsc.inc                                 |   3 +-
 OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf                    |   3 -
 72 files changed, 21 insertions(+), 2459 deletions(-)
 delete mode 100644 ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm
 delete mode 100644 ArmPkg/Include/AsmMacroExport.inc
 delete mode 100644 ArmPkg/Library/ArmExceptionLib/Arm/ExceptionSupport.asm
 delete mode 100644 ArmPkg/Library/ArmHvcLib/Arm/ArmHvc.asm
 delete mode 100644 ArmPkg/Library/ArmLib/Arm/ArmLibSupport.asm
 delete mode 100644 ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm
 delete mode 100644 ArmPkg/Library/ArmLib/Arm/ArmV7ArchTimerSupport.asm
 delete mode 100644 ArmPkg/Library/ArmLib/Arm/ArmV7Support.asm
 delete mode 100644 ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.asm
 delete mode 100644 ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm
 delete mode 100644 ArmPkg/Library/ArmSvcLib/Arm/ArmSvc.asm
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.asm
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.asm
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.asm
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/mullu.asm
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch.asm
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
 delete mode 100644 ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm
 delete mode 100644 ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.asm
 delete mode 100644 ArmPlatformPkg/PrePeiCore/Arm/Exception.asm
 delete mode 100644 ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm
 delete mode 100644 ArmPlatformPkg/PrePeiCore/Arm/SwitchStack.asm
 delete mode 100644 ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm
 delete mode 100644 BaseTools/Scripts/Rvct-Align32.sct
 delete mode 100644 BaseTools/Scripts/Rvct-Align4K.sct

-- 
2.35.3


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 01/10] ArmPkg: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-03 18:48 ` [PATCH 02/10] ArmPlatformPkg: " Rebecca Cran
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 ArmPkg/Drivers/ArmGic/ArmGicLib.inf                            |   1 -
 ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm                   |  82 ------
 ArmPkg/Include/AsmMacroExport.inc                              |  23 --
 ArmPkg/Library/ArmExceptionLib/Arm/ExceptionSupport.asm        | 296 --------------------
 ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf             |   1 -
 ArmPkg/Library/ArmExceptionLib/ArmRelocateExceptionLib.inf     |   1 -
 ArmPkg/Library/ArmHvcLib/Arm/ArmHvc.asm                        |  46 ---
 ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf                         |   4 -
 ArmPkg/Library/ArmLib/Arm/ArmLibSupport.asm                    | 174 ------------
 ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm                  | 107 -------
 ArmPkg/Library/ArmLib/Arm/ArmV7ArchTimerSupport.asm            |  93 ------
 ArmPkg/Library/ArmLib/Arm/ArmV7Support.asm                     | 292 -------------------
 ArmPkg/Library/ArmLib/ArmBaseLib.inf                           |   5 -
 ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.asm            |  26 --
 ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf                     |   1 -
 ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm                        |  45 ---
 ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf                         |   4 -
 ArmPkg/Library/ArmSvcLib/Arm/ArmSvc.asm                        |  36 ---
 ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf                         |   1 -
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.asm              |  34 ---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.asm              |  36 ---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.asm           |  46 ---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/mullu.asm             |  43 ---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch.asm            |  22 --
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm             |  58 ----
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm            |  60 ----
 ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf |  15 -
 27 files changed, 1552 deletions(-)

diff --git a/ArmPkg/Drivers/ArmGic/ArmGicLib.inf b/ArmPkg/Drivers/ArmGic/ArmGicLib.inf
index 5e23c732bfab..addb8d3153bf 100644
--- a/ArmPkg/Drivers/ArmGic/ArmGicLib.inf
+++ b/ArmPkg/Drivers/ArmGic/ArmGicLib.inf
@@ -22,7 +22,6 @@
 
 [Sources.ARM]
   GicV3/Arm/ArmGicV3.S     | GCC
-  GicV3/Arm/ArmGicV3.asm   | RVCT
 
 [Sources.AARCH64]
   GicV3/AArch64/ArmGicV3.S
diff --git a/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm b/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm
deleted file mode 100644
index bf79c1350cd4..000000000000
--- a/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-//  Copyright (c) 2014, ARM Limited. All rights reserved.
-//
-//  SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//
-
-// For the moment we assume this will run in SVC mode on ARMv7
-
-
-    INCLUDE AsmMacroExport.inc
-
-//UINT32
-//EFIAPI
-//ArmGicGetControlSystemRegisterEnable (
-//  VOID
-//  );
- RVCT_ASM_EXPORT ArmGicV3GetControlSystemRegisterEnable
-        mrc     p15, 0, r0, c12, c12, 5 // ICC_SRE
-        bx      lr
-
-//VOID
-//EFIAPI
-//ArmGicSetControlSystemRegisterEnable (
-//  IN UINT32         ControlSystemRegisterEnable
-//  );
- RVCT_ASM_EXPORT ArmGicV3SetControlSystemRegisterEnable
-        mcr     p15, 0, r0, c12, c12, 5 // ICC_SRE
-        isb
-        bx      lr
-
-//VOID
-//ArmGicV3EnableInterruptInterface (
-//  VOID
-//  );
- RVCT_ASM_EXPORT ArmGicV3EnableInterruptInterface
-        mov     r0, #1
-        mcr     p15, 0, r0, c12, c12, 7 // ICC_IGRPEN1
-        bx      lr
-
-//VOID
-//ArmGicV3DisableInterruptInterface (
-//  VOID
-//  );
- RVCT_ASM_EXPORT ArmGicV3DisableInterruptInterface
-        mov     r0, #0
-        mcr     p15, 0, r0, c12, c12, 7 // ICC_IGRPEN1
-        bx      lr
-
-//VOID
-//ArmGicV3EndOfInterrupt (
-//  IN UINTN InterruptId
-//  );
- RVCT_ASM_EXPORT ArmGicV3EndOfInterrupt
-        mcr     p15, 0, r0, c12, c12, 1 //ICC_EOIR1
-        bx      lr
-
-//UINTN
-//ArmGicV3AcknowledgeInterrupt (
-//  VOID
-//  );
- RVCT_ASM_EXPORT ArmGicV3AcknowledgeInterrupt
-        mrc     p15, 0, r0, c12, c12, 0 //ICC_IAR1
-        bx      lr
-
-//VOID
-//ArmGicV3SetPriorityMask (
-//  IN UINTN                  Priority
-//  );
- RVCT_ASM_EXPORT ArmGicV3SetPriorityMask
-        mcr     p15, 0, r0, c4, c6, 0 //ICC_PMR
-        bx      lr
-
-//VOID
-//ArmGicV3SetBinaryPointer (
-//  IN UINTN                  BinaryPoint
-//  );
- RVCT_ASM_EXPORT ArmGicV3SetBinaryPointer
-        mcr     p15, 0, r0, c12, c12, 3 //ICC_BPR1
-        bx      lr
-
-    END
diff --git a/ArmPkg/Include/AsmMacroExport.inc b/ArmPkg/Include/AsmMacroExport.inc
deleted file mode 100644
index 615feee541b6..000000000000
--- a/ArmPkg/Include/AsmMacroExport.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-;%HEADER%
-;/** @file
-;  Macros to centralize the EXPORT, AREA, and definition of an assembly
-;  function.  The AREA prefix is required to put the function in its own
-;  section so that removal of unused functions in the final link is performed.
-;  This provides  equivalent functionality to the compiler's --split-sections
-;  option.
-;
-;  Copyright (c) 2015 HP Development Company, L.P.
-;
-;  SPDX-License-Identifier: BSD-2-Clause-Patent
-;
-;**/
-
-
-  MACRO
-  RVCT_ASM_EXPORT $func
-    EXPORT  $func
-    AREA s_$func, CODE, READONLY
-$func
-  MEND
-
-  END
diff --git a/ArmPkg/Library/ArmExceptionLib/Arm/ExceptionSupport.asm b/ArmPkg/Library/ArmExceptionLib/Arm/ExceptionSupport.asm
deleted file mode 100644
index aa0229d2e85f..000000000000
--- a/ArmPkg/Library/ArmExceptionLib/Arm/ExceptionSupport.asm
+++ /dev/null
@@ -1,296 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Use ARMv6 instruction to operate on a single stack
-//
-// Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
-// Copyright (c) 2014, ARM Limited. All rights reserved.<BR>
-// Copyright (c) 2016 HP Development Company, L.P.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-#include <Library/PcdLib.h>
-
-/*
-
-This is the stack constructed by the exception handler (low address to high address)
-                # R0 - IFAR is EFI_SYSTEM_CONTEXT for ARM
-  Reg   Offset
-  ===   ======
-  R0    0x00    # stmfd     SP!,{R0-R12}
-  R1    0x04
-  R2    0x08
-  R3    0x0c
-  R4    0x10
-  R5    0x14
-  R6    0x18
-  R7    0x1c
-  R8    0x20
-  R9    0x24
-  R10   0x28
-  R11   0x2c
-  R12   0x30
-  SP    0x34    # reserved via subtraction 0x20 (32) from SP
-  LR    0x38
-  PC    0x3c
-  CPSR  0x40
-  DFSR  0x44
-  DFAR  0x48
-  IFSR  0x4c
-  IFAR  0x50
-
-  LR    0x54    # SVC Link register (we need to restore it)
-
-  LR    0x58    # pushed by srsfd
-  CPSR  0x5c
-
- */
-
-
-  EXPORT  ExceptionHandlersStart
-  EXPORT  ExceptionHandlersEnd
-  EXPORT  CommonExceptionEntry
-  EXPORT  AsmCommonExceptionEntry
-  IMPORT  CommonCExceptionHandler
-
-  PRESERVE8
-  AREA  DxeExceptionHandlers, CODE, READONLY, CODEALIGN, ALIGN=5
-
-//
-// This code gets copied to the ARM vector table
-// ExceptionHandlersStart - ExceptionHandlersEnd gets copied
-//
-ExceptionHandlersStart
-
-Reset
-  b   ResetEntry
-
-UndefinedInstruction
-  b   UndefinedInstructionEntry
-
-SoftwareInterrupt
-  b   SoftwareInterruptEntry
-
-PrefetchAbort
-  b   PrefetchAbortEntry
-
-DataAbort
-  b   DataAbortEntry
-
-ReservedException
-  b   ReservedExceptionEntry
-
-Irq
-  b   IrqEntry
-
-Fiq
-  b   FiqEntry
-
-ResetEntry
-  srsfd     #0x13!                    ; Store return state on SVC stack
-                                      ; We are already in SVC mode
-  stmfd     SP!,{LR}                  ; Store the link register for the current mode
-  sub       SP,SP,#0x20               ; Save space for SP, LR, PC, IFAR - CPSR
-  stmfd     SP!,{R0-R12}              ; Store the register state
-
-  mov       R0,#0                     ; ExceptionType
-  ldr       R1,CommonExceptionEntry
-  bx        R1
-
-UndefinedInstructionEntry
-  sub       LR, LR, #4                ; Only -2 for Thumb, adjust in CommonExceptionEntry
-  srsfd     #0x13!                    ; Store return state on SVC stack
-  cps       #0x13                     ; Switch to SVC for common stack
-  stmfd     SP!,{LR}                  ; Store the link register for the current mode
-  sub       SP,SP,#0x20               ; Save space for SP, LR, PC, IFAR - CPSR
-  stmfd     SP!,{R0-R12}              ; Store the register state
-
-  mov       R0,#1                     ; ExceptionType
-  ldr       R1,CommonExceptionEntry;
-  bx        R1
-
-SoftwareInterruptEntry
-  srsfd     #0x13!                    ; Store return state on SVC stack
-                                      ; We are already in SVC mode
-  stmfd     SP!,{LR}                  ; Store the link register for the current mode
-  sub       SP,SP,#0x20               ; Save space for SP, LR, PC, IFAR - CPSR
-  stmfd     SP!,{R0-R12}              ; Store the register state
-
-  mov       R0,#2                     ; ExceptionType
-  ldr       R1,CommonExceptionEntry
-  bx        R1
-
-PrefetchAbortEntry
-  sub       LR,LR,#4
-  srsfd     #0x13!                    ; Store return state on SVC stack
-  cps       #0x13                     ; Switch to SVC for common stack
-  stmfd     SP!,{LR}                  ; Store the link register for the current mode
-  sub       SP,SP,#0x20               ; Save space for SP, LR, PC, IFAR - CPSR
-  stmfd     SP!,{R0-R12}              ; Store the register state
-
-  mov       R0,#3                     ; ExceptionType
-  ldr       R1,CommonExceptionEntry
-  bx        R1
-
-DataAbortEntry
-  sub       LR,LR,#8
-  srsfd     #0x13!                    ; Store return state on SVC stack
-  cps       #0x13                     ; Switch to SVC for common stack
-  stmfd     SP!,{LR}                  ; Store the link register for the current mode
-  sub       SP,SP,#0x20               ; Save space for SP, LR, PC, IFAR - CPSR
-  stmfd     SP!,{R0-R12}              ; Store the register state
-
-  mov       R0,#4                     ; ExceptionType
-  ldr       R1,CommonExceptionEntry
-  bx        R1
-
-ReservedExceptionEntry
-  srsfd     #0x13!                    ; Store return state on SVC stack
-  cps       #0x13                     ; Switch to SVC for common stack
-  stmfd     SP!,{LR}                  ; Store the link register for the current mode
-  sub       SP,SP,#0x20               ; Save space for SP, LR, PC, IFAR - CPSR
-  stmfd     SP!,{R0-R12}              ; Store the register state
-
-  mov       R0,#5                     ; ExceptionType
-  ldr       R1,CommonExceptionEntry
-  bx        R1
-
-IrqEntry
-  sub       LR,LR,#4
-  srsfd     #0x13!                    ; Store return state on SVC stack
-  cps       #0x13                     ; Switch to SVC for common stack
-  stmfd     SP!,{LR}                  ; Store the link register for the current mode
-  sub       SP,SP,#0x20               ; Save space for SP, LR, PC, IFAR - CPSR
-  stmfd     SP!,{R0-R12}              ; Store the register state
-
-  mov       R0,#6                     ; ExceptionType
-  ldr       R1,CommonExceptionEntry
-  bx        R1
-
-FiqEntry
-  sub       LR,LR,#4
-  srsfd     #0x13!                    ; Store return state on SVC stack
-  cps       #0x13                     ; Switch to SVC for common stack
-  stmfd     SP!,{LR}                  ; Store the link register for the current mode
-  sub       SP,SP,#0x20               ; Save space for SP, LR, PC, IFAR - CPSR
-  stmfd     SP!,{R0-R12}              ; Store the register state
-                                      ; Since we have already switch to SVC R8_fiq - R12_fiq
-                                      ; never get used or saved
-  mov       R0,#7                     ; ExceptionType
-  ldr       R1,CommonExceptionEntry
-  bx        R1
-
-//
-// This gets patched by the C code that patches in the vector table
-//
-CommonExceptionEntry
-  dcd       AsmCommonExceptionEntry
-
-ExceptionHandlersEnd
-
-//
-// This code runs from CpuDxe driver loaded address. It is patched into
-// CommonExceptionEntry.
-//
-AsmCommonExceptionEntry
-  mrc       p15, 0, R1, c6, c0, 2   ; Read IFAR
-  str       R1, [SP, #0x50]         ; Store it in EFI_SYSTEM_CONTEXT_ARM.IFAR
-
-  mrc       p15, 0, R1, c5, c0, 1   ; Read IFSR
-  str       R1, [SP, #0x4c]         ; Store it in EFI_SYSTEM_CONTEXT_ARM.IFSR
-
-  mrc       p15, 0, R1, c6, c0, 0   ; Read DFAR
-  str       R1, [SP, #0x48]         ; Store it in EFI_SYSTEM_CONTEXT_ARM.DFAR
-
-  mrc       p15, 0, R1, c5, c0, 0   ; Read DFSR
-  str       R1, [SP, #0x44]         ; Store it in EFI_SYSTEM_CONTEXT_ARM.DFSR
-
-  ldr       R1, [SP, #0x5c]         ; srsfd saved pre-exception CPSR on the stack
-  str       R1, [SP, #0x40]         ; Store it in EFI_SYSTEM_CONTEXT_ARM.CPSR
-
-  add       R2, SP, #0x38           ; Make R2 point to EFI_SYSTEM_CONTEXT_ARM.LR
-  and       R3, R1, #0x1f           ; Check CPSR to see if User or System Mode
-  cmp       R3, #0x1f               ; if ((CPSR == 0x10) || (CPSR == 0x1f))
-  cmpne     R3, #0x10               ;
-  stmeqed   R2, {lr}^               ;   save unbanked lr
-                                    ; else
-  stmneed   R2, {lr}                ;   save SVC lr
-
-
-  ldr       R5, [SP, #0x58]         ; PC is the LR pushed by srsfd
-                                    ; Check to see if we have to adjust for Thumb entry
-  sub       r4, r0, #1              ; if (ExceptionType == 1 || ExceptionType == 2)) {
-  cmp       r4, #1                  ;   // UND & SVC have different LR adjust for Thumb
-  bhi       NoAdjustNeeded
-
-  tst       r1, #0x20               ;   if ((CPSR & T)) == T) {  // Thumb Mode on entry
-  addne     R5, R5, #2              ;     PC += 2;
-  strne     R5,[SP,#0x58]           ; Update LR value pushed by srsfd
-
-NoAdjustNeeded
-
-  str       R5, [SP, #0x3c]         ; Store it in EFI_SYSTEM_CONTEXT_ARM.PC
-
-  add       R1, SP, #0x60           ; We pushed 0x60 bytes on the stack
-  str       R1, [SP, #0x34]         ; Store it in EFI_SYSTEM_CONTEXT_ARM.SP
-
-                                    ; R0 is ExceptionType
-  mov       R1,SP                   ; R1 is SystemContext
-
-#if (FixedPcdGet32(PcdVFPEnabled))
-  vpush    {d0-d15}                 ; save vstm registers in case they are used in optimizations
-#endif
-
-  mov       R4, SP                  ; Save current SP
-  tst       R4, #4
-  subne     SP, SP, #4              ; Adjust SP if not 8-byte aligned
-
-/*
-VOID
-EFIAPI
-CommonCExceptionHandler (
-  IN     EFI_EXCEPTION_TYPE           ExceptionType,   R0
-  IN OUT EFI_SYSTEM_CONTEXT           SystemContext    R1
-  )
-
-*/
-  blx       CommonCExceptionHandler ; Call exception handler
-
-  mov       SP, R4                  ; Restore SP
-
-#if (FixedPcdGet32(PcdVFPEnabled))
-  vpop      {d0-d15}
-#endif
-
-  ldr       R1, [SP, #0x4c]         ; Restore EFI_SYSTEM_CONTEXT_ARM.IFSR
-  mcr       p15, 0, R1, c5, c0, 1   ; Write IFSR
-
-  ldr       R1, [SP, #0x44]         ; Restore EFI_SYSTEM_CONTEXT_ARM.DFSR
-  mcr       p15, 0, R1, c5, c0, 0   ; Write DFSR
-
-  ldr       R1,[SP,#0x3c]           ; EFI_SYSTEM_CONTEXT_ARM.PC
-  str       R1,[SP,#0x58]           ; Store it back to srsfd stack slot so it can be restored
-
-  ldr       R1,[SP,#0x40]           ; EFI_SYSTEM_CONTEXT_ARM.CPSR
-  str       R1,[SP,#0x5c]           ; Store it back to srsfd stack slot so it can be restored
-
-  add       R3, SP, #0x54           ; Make R3 point to SVC LR saved on entry
-  add       R2, SP, #0x38           ; Make R2 point to EFI_SYSTEM_CONTEXT_ARM.LR
-  and       R1, R1, #0x1f           ; Check to see if User or System Mode
-  cmp       R1, #0x1f               ; if ((CPSR == 0x10) || (CPSR == 0x1f))
-  cmpne     R1, #0x10               ;
-  ldmeqed   R2, {lr}^               ;   restore unbanked lr
-                                    ; else
-  ldmneed   R3, {lr}                ;   restore SVC lr, via ldmfd SP!, {LR}
-
-  ldmfd     SP!,{R0-R12}            ; Restore general purpose registers
-                                    ; Exception handler can not change SP
-
-  add       SP,SP,#0x20             ; Clear out the remaining stack space
-  ldmfd     SP!,{LR}                ; restore the link register for this context
-  rfefd     SP!                     ; return from exception via srsfd stack slot
-
-  END
-
-
diff --git a/ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf b/ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
index fdb9c24d21bc..68ed1c5c5935 100644
--- a/ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
+++ b/ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
@@ -33,7 +33,6 @@
 
 [Sources.Arm]
   Arm/ArmException.c
-  Arm/ExceptionSupport.asm | RVCT
   Arm/ExceptionSupport.S   | GCC
 
 [Sources.AARCH64]
diff --git a/ArmPkg/Library/ArmExceptionLib/ArmRelocateExceptionLib.inf b/ArmPkg/Library/ArmExceptionLib/ArmRelocateExceptionLib.inf
index ef1a43a27c45..ca70daa2847c 100644
--- a/ArmPkg/Library/ArmExceptionLib/ArmRelocateExceptionLib.inf
+++ b/ArmPkg/Library/ArmExceptionLib/ArmRelocateExceptionLib.inf
@@ -28,7 +28,6 @@
 
 [Sources.Arm]
   Arm/ArmException.c
-  Arm/ExceptionSupport.asm | RVCT
   Arm/ExceptionSupport.S   | GCC
 
 [Sources.AARCH64]
diff --git a/ArmPkg/Library/ArmHvcLib/Arm/ArmHvc.asm b/ArmPkg/Library/ArmHvcLib/Arm/ArmHvc.asm
deleted file mode 100644
index 01e4d3f9cfe6..000000000000
--- a/ArmPkg/Library/ArmHvcLib/Arm/ArmHvc.asm
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-//  Copyright (c) 2012-2014, ARM Limited. All rights reserved.
-//  Copyright (c) 2014, Linaro Limited. All rights reserved.
-//
-//  SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//
-
-
-    INCLUDE AsmMacroExport.inc
-
- RVCT_ASM_EXPORT ArmCallHvc
-    push    {r4-r8}
-    // r0 will be popped just after the HVC call
-    push     {r0}
-
-    // Load the HVC arguments values into the appropriate registers
-    ldr     r7, [r0, #28]
-    ldr     r6, [r0, #24]
-    ldr     r5, [r0, #20]
-    ldr     r4, [r0, #16]
-    ldr     r3, [r0, #12]
-    ldr     r2, [r0, #8]
-    ldr     r1, [r0, #4]
-    ldr     r0, [r0, #0]
-
-    hvc     #0
-
-    // Pop the ARM_HVC_ARGS structure address from the stack into r8
-    pop     {r8}
-
-    // Load the HVC returned values into the appropriate registers
-    // A HVC call can return up to 4 values - we do not need to store back r4-r7.
-    str     r3, [r8, #12]
-    str     r2, [r8, #8]
-    str     r1, [r8, #4]
-    str     r0, [r8, #0]
-
-    mov     r0, r8
-
-    // Restore the registers r4-r8
-    pop     {r4-r8}
-
-    bx      lr
-
-    END
diff --git a/ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf b/ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
index 69f68f63d7a6..c5f2a016c0cd 100644
--- a/ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
+++ b/ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
@@ -15,7 +15,6 @@
   LIBRARY_CLASS                  = ArmHvcLib
 
 [Sources.ARM]
-  Arm/ArmHvc.asm    | RVCT
   Arm/ArmHvc.S      | GCC
 
 [Sources.AARCH64]
@@ -24,6 +23,3 @@
 [Packages]
   MdePkg/MdePkg.dec
   ArmPkg/ArmPkg.dec
-
-[BuildOptions]
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15
diff --git a/ArmPkg/Library/ArmLib/Arm/ArmLibSupport.asm b/ArmPkg/Library/ArmLib/Arm/ArmLibSupport.asm
deleted file mode 100644
index 1265dddea636..000000000000
--- a/ArmPkg/Library/ArmLib/Arm/ArmLibSupport.asm
+++ /dev/null
@@ -1,174 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-// Copyright (c) 2011 - 2016, ARM Limited. All rights reserved.
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-    INCLUDE AsmMacroIoLib.inc
-
-
-    INCLUDE AsmMacroExport.inc
-
- RVCT_ASM_EXPORT ArmReadMidr
-  mrc     p15,0,R0,c0,c0,0
-  bx      LR
-
- RVCT_ASM_EXPORT ArmCacheInfo
-  mrc     p15,0,R0,c0,c0,1
-  bx      LR
-
- RVCT_ASM_EXPORT ArmGetInterruptState
-  mrs     R0,CPSR
-  tst     R0,#0x80      // Check if IRQ is enabled.
-  moveq   R0,#1
-  movne   R0,#0
-  bx      LR
-
- RVCT_ASM_EXPORT ArmGetFiqState
-  mrs     R0,CPSR
-  tst     R0,#0x40      // Check if FIQ is enabled.
-  moveq   R0,#1
-  movne   R0,#0
-  bx      LR
-
- RVCT_ASM_EXPORT ArmSetDomainAccessControl
-  mcr     p15,0,r0,c3,c0,0
-  bx      lr
-
- RVCT_ASM_EXPORT CPSRMaskInsert
-  stmfd   sp!, {r4-r12, lr} // save all the banked registers
-  mov     r3, sp            // copy the stack pointer into a non-banked register
-  mrs     r2, cpsr          // read the cpsr
-  bic     r2, r2, r0        // clear mask in the cpsr
-  and     r1, r1, r0        // clear bits outside the mask in the input
-  orr     r2, r2, r1        // set field
-  msr     cpsr_cxsf, r2     // write back cpsr (may have caused a mode switch)
-  isb
-  mov     sp, r3            // restore stack pointer
-  ldmfd   sp!, {r4-r12, lr} // restore registers
-  bx      lr                // return (hopefully thumb-safe!)             // return (hopefully thumb-safe!)
-
- RVCT_ASM_EXPORT CPSRRead
-  mrs     r0, cpsr
-  bx      lr
-
- RVCT_ASM_EXPORT ArmReadCpacr
-  mrc     p15, 0, r0, c1, c0, 2
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteCpacr
-  mcr     p15, 0, r0, c1, c0, 2
-  isb
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteAuxCr
-  mcr     p15, 0, r0, c1, c0, 1
-  bx      lr
-
- RVCT_ASM_EXPORT ArmReadAuxCr
-  mrc     p15, 0, r0, c1, c0, 1
-  bx      lr
-
- RVCT_ASM_EXPORT ArmSetTTBR0
-  mcr     p15,0,r0,c2,c0,0
-  isb
-  bx      lr
-
- RVCT_ASM_EXPORT ArmSetTTBCR
-  mcr     p15, 0, r0, c2, c0, 2
-  isb
-  bx      lr
-
- RVCT_ASM_EXPORT ArmGetTTBR0BaseAddress
-  mrc     p15,0,r0,c2,c0,0
-  MOV32   r1, 0xFFFFC000
-  and     r0, r0, r1
-  isb
-  bx      lr
-
-//
-//VOID
-//ArmUpdateTranslationTableEntry (
-//  IN VOID  *TranslationTableEntry  // R0
-//  IN VOID  *MVA                    // R1
-//  );
- RVCT_ASM_EXPORT ArmUpdateTranslationTableEntry
-  mcr     p15,0,R0,c7,c14,1     // DCCIMVAC Clean data cache by MVA
-  dsb
-  mcr     p15,0,R1,c8,c7,1      // TLBIMVA TLB Invalidate MVA
-  mcr     p15,0,R9,c7,c5,6      // BPIALL Invalidate Branch predictor array. R9 == NoOp
-  dsb
-  isb
-  bx      lr
-
- RVCT_ASM_EXPORT ArmInvalidateTlb
-  mov     r0,#0
-  mcr     p15,0,r0,c8,c7,0
-  mcr     p15,0,R9,c7,c5,6      // BPIALL Invalidate Branch predictor array. R9 == NoOp
-  dsb
-  isb
-  bx      lr
-
- RVCT_ASM_EXPORT ArmReadScr
-  mrc     p15, 0, r0, c1, c1, 0
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteScr
-  mcr     p15, 0, r0, c1, c1, 0
-  isb
-  bx      lr
-
- RVCT_ASM_EXPORT ArmReadHVBar
-  mrc     p15, 4, r0, c12, c0, 0
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteHVBar
-  mcr     p15, 4, r0, c12, c0, 0
-  bx      lr
-
- RVCT_ASM_EXPORT ArmReadMVBar
-  mrc     p15, 0, r0, c12, c0, 1
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteMVBar
-  mcr     p15, 0, r0, c12, c0, 1
-  bx      lr
-
- RVCT_ASM_EXPORT ArmCallWFE
-  wfe
-  bx      lr
-
- RVCT_ASM_EXPORT ArmCallSEV
-  sev
-  bx      lr
-
- RVCT_ASM_EXPORT ArmReadSctlr
-  mrc     p15, 0, r0, c1, c0, 0      // Read SCTLR into R0 (Read control register configuration data)
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteSctlr
-  mcr     p15, 0, r0, c1, c0, 0
-  bx      lr
-
- RVCT_ASM_EXPORT ArmReadCpuActlr
-  mrc     p15, 0, r0, c1, c0, 1
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteCpuActlr
-  mcr     p15, 0, r0, c1, c0, 1
-  dsb
-  isb
-  bx      lr
-
- RVCT_ASM_EXPORT ArmGetPhysicalAddressBits
-  mrc     p15, 0, r0, c0, c1, 4   ; MMFR0
-  and     r0, r0, #0xf            ; VMSA [3:0]
-  cmp     r0, #5                  ; >= 5 implies LPAE support
-  movlt   r0, #32                 ; 32 bits if no LPAE
-  movge   r0, #40                 ; 40 bits if LPAE
-  bx      lr
-
-  END
diff --git a/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm b/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm
deleted file mode 100644
index e14f1566258c..000000000000
--- a/ArmPkg/Library/ArmLib/Arm/ArmLibSupportV7.asm
+++ /dev/null
@@ -1,107 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
-// Copyright (c) 2011-2013, ARM Limited. All rights reserved.
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-
-    INCLUDE AsmMacroExport.inc
-
-
-//------------------------------------------------------------------------------
-
- RVCT_ASM_EXPORT ArmIsMpCore
-  mrc     p15,0,R0,c0,c0,5
-  // Get Multiprocessing extension (bit31) & U bit (bit30)
-  and     R0, R0, #0xC0000000
-  // if (bit31 == 1) && (bit30 == 0) then the processor is part of a multiprocessor system
-  cmp     R0, #0x80000000
-  moveq   R0, #1
-  movne   R0, #0
-  bx      LR
-
- RVCT_ASM_EXPORT ArmEnableAsynchronousAbort
-  cpsie   a
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDisableAsynchronousAbort
-  cpsid   a
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmEnableIrq
-  cpsie   i
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDisableIrq
-  cpsid   i
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmEnableFiq
-  cpsie   f
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDisableFiq
-  cpsid   f
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmEnableInterrupts
-  cpsie   if
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDisableInterrupts
-  cpsid   if
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmReadIdMmfr4
-  mrc    p15,0,r0,c0,c2,6     ; Read ID_MMFR4 Register
-  bx     LR
-
-// UINTN
-// ReadCCSIDR (
-//   IN UINT32 CSSELR
-//   )
- RVCT_ASM_EXPORT ReadCCSIDR
-  mcr p15,2,r0,c0,c0,0   ; Write Cache Size Selection Register (CSSELR)
-  isb
-  mrc p15,1,r0,c0,c0,0 ; Read current CP15 Cache Size ID Register (CCSIDR)
-  bx  lr
-
-// UINT32
-// ReadCCSIDR2 (
-//   IN UINT32 CSSELR
-//   )
- RVCT_ASM_EXPORT ReadCCSIDR2
-  mcr p15,2,r0,c0,c0,0 ; Write Cache Size Selection Register (CSSELR)
-  isb
-  mrc p15,1,r0,c0,c0,2 ; Read current CP15 Cache Size ID Register (CCSIDR2)
-  bx  lr
-
-// UINT32
-// ReadCLIDR (
-//   IN UINT32 CSSELR
-//   )
- RVCT_ASM_EXPORT ReadCLIDR
-  mrc p15,1,r0,c0,c0,1 ; Read CP15 Cache Level ID Register
-  bx  lr
-
- RVCT_ASM_EXPORT ArmReadNsacr
-  mrc     p15, 0, r0, c1, c1, 2
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteNsacr
-  mcr     p15, 0, r0, c1, c1, 2
-  bx      lr
-
-  END
diff --git a/ArmPkg/Library/ArmLib/Arm/ArmV7ArchTimerSupport.asm b/ArmPkg/Library/ArmLib/Arm/ArmV7ArchTimerSupport.asm
deleted file mode 100644
index 6896c1be2b07..000000000000
--- a/ArmPkg/Library/ArmLib/Arm/ArmV7ArchTimerSupport.asm
+++ /dev/null
@@ -1,93 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2011, ARM Limited. All rights reserved.
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-    INCLUDE AsmMacroExport.inc
-    PRESERVE8
-
- RVCT_ASM_EXPORT ArmReadCntFrq
-  mrc    p15, 0, r0, c14, c0, 0    ; Read CNTFRQ
-  bx     lr
-
- RVCT_ASM_EXPORT ArmWriteCntFrq
-  mcr    p15, 0, r0, c14, c0, 0    ; Write to CNTFRQ
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntPct
-  mrrc   p15, 0, r0, r1, c14       ; Read CNTPT (Physical counter register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntkCtl
-  mrc    p15, 0, r0, c14, c1, 0    ; Read CNTK_CTL (Timer PL1 Control Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmWriteCntkCtl
-  mcr    p15, 0, r0, c14, c1, 0    ; Write to CNTK_CTL (Timer PL1 Control Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntpTval
-  mrc    p15, 0, r0, c14, c2, 0    ; Read CNTP_TVAL (PL1 physical timer value register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmWriteCntpTval
-  mcr    p15, 0, r0, c14, c2, 0    ; Write to CNTP_TVAL (PL1 physical timer value register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntpCtl
-  mrc    p15, 0, r0, c14, c2, 1    ; Read CNTP_CTL (PL1 Physical Timer Control Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmWriteCntpCtl
-  mcr    p15, 0, r0, c14, c2, 1    ; Write to  CNTP_CTL (PL1 Physical Timer Control Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntvTval
-  mrc    p15, 0, r0, c14, c3, 0    ; Read CNTV_TVAL (Virtual Timer Value register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmWriteCntvTval
-  mcr    p15, 0, r0, c14, c3, 0    ; Write to CNTV_TVAL (Virtual Timer Value register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntvCtl
-  mrc    p15, 0, r0, c14, c3, 1    ; Read CNTV_CTL (Virtual Timer Control Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmWriteCntvCtl
-  mcr    p15, 0, r0, c14, c3, 1    ; Write to CNTV_CTL (Virtual Timer Control Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntvCt
-  mrrc   p15, 1, r0, r1, c14       ; Read CNTVCT  (Virtual Count Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntpCval
-  mrrc   p15, 2, r0, r1, c14       ; Read CNTP_CTVAL (Physical Timer Compare Value Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmWriteCntpCval
-  mcrr   p15, 2, r0, r1, c14       ; Write to CNTP_CTVAL (Physical Timer Compare Value Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntvCval
-  mrrc   p15, 3, r0, r1, c14       ; Read CNTV_CTVAL (Virtual Timer Compare Value Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmWriteCntvCval
-  mcrr   p15, 3, r0, r1, c14       ; write to  CNTV_CTVAL (Virtual Timer Compare Value Register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadCntvOff
-  mrrc   p15, 4, r0, r1, c14       ; Read CNTVOFF (virtual Offset register)
-  bx     lr
-
- RVCT_ASM_EXPORT ArmWriteCntvOff
-  mcrr   p15, 4, r0, r1, c14       ; Write to CNTVOFF (Virtual Offset register)
-  bx     lr
-
- END
diff --git a/ArmPkg/Library/ArmLib/Arm/ArmV7Support.asm b/ArmPkg/Library/ArmLib/Arm/ArmV7Support.asm
deleted file mode 100644
index 3146c2b52181..000000000000
--- a/ArmPkg/Library/ArmLib/Arm/ArmV7Support.asm
+++ /dev/null
@@ -1,292 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
-// Copyright (c) 2011 - 2014, ARM Limited. All rights reserved.
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-    INCLUDE AsmMacroExport.inc
-    PRESERVE8
-
-DC_ON           EQU     ( 0x1:SHL:2 )
-IC_ON           EQU     ( 0x1:SHL:12 )
-CTRL_M_BIT      EQU     (1 << 0)
-CTRL_C_BIT      EQU     (1 << 2)
-CTRL_B_BIT      EQU     (1 << 7)
-CTRL_I_BIT      EQU     (1 << 12)
-
-
- RVCT_ASM_EXPORT ArmInvalidateDataCacheEntryByMVA
-  mcr     p15, 0, r0, c7, c6, 1   ; invalidate single data cache line
-  bx      lr
-
- RVCT_ASM_EXPORT ArmCleanDataCacheEntryByMVA
-  mcr     p15, 0, r0, c7, c10, 1  ; clean single data cache line
-  bx      lr
-
-
- RVCT_ASM_EXPORT ArmInvalidateInstructionCacheEntryToPoUByMVA
-  mcr     p15, 0, r0, c7, c5, 1   ; invalidate single instruction cache line to PoU
-  mcr     p15, 0, r0, c7, c5, 7   ; invalidate branch predictor
-  bx      lr
-
-
- RVCT_ASM_EXPORT ArmCleanDataCacheEntryToPoUByMVA
-  mcr     p15, 0, r0, c7, c11, 1  ; clean single data cache line to PoU
-  bx      lr
-
-
- RVCT_ASM_EXPORT ArmCleanInvalidateDataCacheEntryByMVA
-  mcr     p15, 0, r0, c7, c14, 1  ; clean and invalidate single data cache line
-  bx      lr
-
-
- RVCT_ASM_EXPORT ArmInvalidateDataCacheEntryBySetWay
-  mcr     p15, 0, r0, c7, c6, 2        ; Invalidate this line
-  bx      lr
-
-
- RVCT_ASM_EXPORT ArmCleanInvalidateDataCacheEntryBySetWay
-  mcr     p15, 0, r0, c7, c14, 2       ; Clean and Invalidate this line
-  bx      lr
-
-
- RVCT_ASM_EXPORT ArmCleanDataCacheEntryBySetWay
-  mcr     p15, 0, r0, c7, c10, 2       ; Clean this line
-  bx      lr
-
-
- RVCT_ASM_EXPORT ArmInvalidateInstructionCache
-  mcr     p15,0,R0,c7,c5,0      ;Invalidate entire instruction cache
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmEnableMmu
-  mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)
-  orr     R0,R0,#1              ; Set SCTLR.M bit : Enable MMU
-  mcr     p15,0,R0,c1,c0,0      ; Write R0 into SCTLR (Write control register configuration data)
-  dsb
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDisableMmu
-  mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)
-  bic     R0,R0,#1              ; Clear SCTLR.M bit : Disable MMU
-  mcr     p15,0,R0,c1,c0,0      ; Write R0 into SCTLR (Write control register configuration data)
-
-  mcr     p15,0,R0,c8,c7,0      ; TLBIALL : Invalidate unified TLB
-  mcr     p15,0,R0,c7,c5,6      ; BPIALL  : Invalidate entire branch predictor array
-  dsb
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDisableCachesAndMmu
-  mrc   p15, 0, r0, c1, c0, 0           ; Get control register
-  bic   r0, r0, #CTRL_M_BIT             ; Disable MMU
-  bic   r0, r0, #CTRL_C_BIT             ; Disable D Cache
-  bic   r0, r0, #CTRL_I_BIT             ; Disable I Cache
-  mcr   p15, 0, r0, c1, c0, 0           ; Write control register
-  dsb
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmMmuEnabled
-  mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)
-  and     R0,R0,#1
-  bx      LR
-
- RVCT_ASM_EXPORT ArmEnableDataCache
-  ldr     R1,=DC_ON             ; Specify SCTLR.C bit : (Data) Cache enable bit
-  mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)
-  orr     R0,R0,R1              ; Set SCTLR.C bit : Data and unified caches enabled
-  mcr     p15,0,R0,c1,c0,0      ; Write R0 into SCTLR (Write control register configuration data)
-  dsb
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDisableDataCache
-  ldr     R1,=DC_ON             ; Specify SCTLR.C bit : (Data) Cache enable bit
-  mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)
-  bic     R0,R0,R1              ; Clear SCTLR.C bit : Data and unified caches disabled
-  mcr     p15,0,R0,c1,c0,0      ; Write R0 into SCTLR (Write control register configuration data)
-  dsb
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmEnableInstructionCache
-  ldr     R1,=IC_ON             ; Specify SCTLR.I bit : Instruction cache enable bit
-  mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)
-  orr     R0,R0,R1              ; Set SCTLR.I bit : Instruction caches enabled
-  mcr     p15,0,R0,c1,c0,0      ; Write R0 into SCTLR (Write control register configuration data)
-  dsb
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDisableInstructionCache
-  ldr     R1,=IC_ON             ; Specify SCTLR.I bit : Instruction cache enable bit
-  mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)
-  BIC     R0,R0,R1              ; Clear SCTLR.I bit : Instruction caches disabled
-  mcr     p15,0,R0,c1,c0,0      ; Write R0 into SCTLR (Write control register configuration data)
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmEnableSWPInstruction
-  mrc     p15, 0, r0, c1, c0, 0
-  orr     r0, r0, #0x00000400
-  mcr     p15, 0, r0, c1, c0, 0
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmEnableBranchPrediction
-  mrc     p15, 0, r0, c1, c0, 0 ; Read SCTLR into R0 (Read control register configuration data)
-  orr     r0, r0, #0x00000800   ;
-  mcr     p15, 0, r0, c1, c0, 0 ; Write R0 into SCTLR (Write control register configuration data)
-  dsb
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDisableBranchPrediction
-  mrc     p15, 0, r0, c1, c0, 0 ; Read SCTLR into R0 (Read control register configuration data)
-  bic     r0, r0, #0x00000800   ;
-  mcr     p15, 0, r0, c1, c0, 0 ; Write R0 into SCTLR (Write control register configuration data)
-  dsb
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmSetLowVectors
-  mrc     p15, 0, r0, c1, c0, 0 ; Read SCTLR into R0 (Read control register configuration data)
-  bic     r0, r0, #0x00002000   ; clear V bit
-  mcr     p15, 0, r0, c1, c0, 0 ; Write R0 into SCTLR (Write control register configuration data)
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmSetHighVectors
-  mrc     p15, 0, r0, c1, c0, 0 ; Read SCTLR into R0 (Read control register configuration data)
-  orr     r0, r0, #0x00002000   ; Set V bit
-  mcr     p15, 0, r0, c1, c0, 0 ; Write R0 into SCTLR (Write control register configuration data)
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmV7AllDataCachesOperation
-  stmfd SP!,{r4-r12, LR}
-  mov   R1, R0                ; Save Function call in R1
-  mrc   p15, 1, R6, c0, c0, 1 ; Read CLIDR
-  ands  R3, R6, #&7000000     ; Mask out all but Level of Coherency (LoC)
-  mov   R3, R3, LSR #23       ; Cache level value (naturally aligned)
-  beq   Finished
-  mov   R10, #0
-
-Loop1
-  add   R2, R10, R10, LSR #1    ; Work out 3xcachelevel
-  mov   R12, R6, LSR R2         ; bottom 3 bits are the Cache type for this level
-  and   R12, R12, #7            ; get those 3 bits alone
-  cmp   R12, #2
-  blt   Skip                    ; no cache or only instruction cache at this level
-  mcr   p15, 2, R10, c0, c0, 0  ; write the Cache Size selection register (CSSELR) // OR in 1 for Instruction
-  isb                           ; isb to sync the change to the CacheSizeID reg
-  mrc   p15, 1, R12, c0, c0, 0  ; reads current Cache Size ID register (CCSIDR)
-  and   R2, R12, #&7            ; extract the line length field
-  add   R2, R2, #4              ; add 4 for the line length offset (log2 16 bytes)
-  ldr   R4, =0x3FF
-  ands  R4, R4, R12, LSR #3     ; R4 is the max number on the way size (right aligned)
-  clz   R5, R4                  ; R5 is the bit position of the way size increment
-  ldr   R7, =0x00007FFF
-  ands  R7, R7, R12, LSR #13    ; R7 is the max number of the index size (right aligned)
-
-Loop2
-  mov   R9, R4                  ; R9 working copy of the max way size (right aligned)
-
-Loop3
-  orr   R0, R10, R9, LSL R5     ; factor in the way number and cache number into R11
-  orr   R0, R0, R7, LSL R2      ; factor in the index number
-
-  blx   R1
-
-  subs  R9, R9, #1              ; decrement the way number
-  bge   Loop3
-  subs  R7, R7, #1              ; decrement the index
-  bge   Loop2
-Skip
-  add   R10, R10, #2            ; increment the cache number
-  cmp   R3, R10
-  bgt   Loop1
-
-Finished
-  dsb
-  ldmfd SP!, {r4-r12, lr}
-  bx    LR
-
- RVCT_ASM_EXPORT ArmDataMemoryBarrier
-  dmb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmDataSynchronizationBarrier
-  dsb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmInstructionSynchronizationBarrier
-  isb
-  bx      LR
-
- RVCT_ASM_EXPORT ArmReadVBar
-  // Set the Address of the Vector Table in the VBAR register
-  mrc     p15, 0, r0, c12, c0, 0
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteVBar
-  // Set the Address of the Vector Table in the VBAR register
-  mcr     p15, 0, r0, c12, c0, 0
-  // Ensure the SCTLR.V bit is clear
-  mrc     p15, 0, r0, c1, c0, 0 ; Read SCTLR into R0 (Read control register configuration data)
-  bic     r0, r0, #0x00002000   ; clear V bit
-  mcr     p15, 0, r0, c1, c0, 0 ; Write R0 into SCTLR (Write control register configuration data)
-  isb
-  bx      lr
-
- RVCT_ASM_EXPORT ArmEnableVFP
-  // Read CPACR (Coprocessor Access Control Register)
-  mrc     p15, 0, r0, c1, c0, 2
-  // Enable VPF access (Full Access to CP10, CP11) (V* instructions)
-  orr     r0, r0, #0x00f00000
-  // Write back CPACR (Coprocessor Access Control Register)
-  mcr     p15, 0, r0, c1, c0, 2
-  isb
-  // Set EN bit in FPEXC. The Advanced SIMD and VFP extensions are enabled and operate normally.
-  mov     r0, #0x40000000
-  mcr     p10,#0x7,r0,c8,c0,#0
-  bx      lr
-
- RVCT_ASM_EXPORT ArmCallWFI
-  wfi
-  bx      lr
-
-//Note: Return 0 in Uniprocessor implementation
- RVCT_ASM_EXPORT ArmReadCbar
-  mrc     p15, 4, r0, c15, c0, 0  //Read Configuration Base Address Register
-  bx      lr
-
- RVCT_ASM_EXPORT ArmReadMpidr
-  mrc     p15, 0, r0, c0, c0, 5     ; read MPIDR
-  bx      lr
-
- RVCT_ASM_EXPORT ArmReadTpidrurw
-  mrc     p15, 0, r0, c13, c0, 2    ; read TPIDRURW
-  bx      lr
-
- RVCT_ASM_EXPORT ArmWriteTpidrurw
-  mcr     p15, 0, r0, c13, c0, 2   ; write TPIDRURW
-  bx      lr
-
- RVCT_ASM_EXPORT ArmIsArchTimerImplemented
-  mrc    p15, 0, r0, c0, c1, 1     ; Read ID_PFR1
-  and    r0, r0, #0x000F0000
-  bx     lr
-
- RVCT_ASM_EXPORT ArmReadIdPfr1
-  mrc    p15, 0, r0, c0, c1, 1     ; Read ID_PFR1 Register
-  bx     lr
-
- END
diff --git a/ArmPkg/Library/ArmLib/ArmBaseLib.inf b/ArmPkg/Library/ArmLib/ArmBaseLib.inf
index f61c71b673d1..e37d85bee471 100644
--- a/ArmPkg/Library/ArmLib/ArmBaseLib.inf
+++ b/ArmPkg/Library/ArmLib/ArmBaseLib.inf
@@ -30,11 +30,6 @@
   Arm/ArmV7Support.S            | GCC
   Arm/ArmV7ArchTimerSupport.S   | GCC
 
-  Arm/ArmLibSupport.asm         | RVCT
-  Arm/ArmLibSupportV7.asm       | RVCT
-  Arm/ArmV7Support.asm          | RVCT
-  Arm/ArmV7ArchTimerSupport.asm | RVCT
-
 [Sources.AARCH64]
   AArch64/AArch64Lib.h
   AArch64/AArch64Lib.c
diff --git a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.asm b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.asm
deleted file mode 100644
index a65e95db5735..000000000000
--- a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.asm
+++ /dev/null
@@ -1,26 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2016, Linaro Limited. All rights reserved.
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-
-    INCLUDE AsmMacroExport.inc
-
-
-//------------------------------------------------------------------------------
-
- RVCT_ASM_EXPORT ArmHasMpExtensions
-  mrc     p15,0,R0,c0,c0,5
-  // Get Multiprocessing extension (bit31)
-  lsr     R0, R0, #31
-  bx      LR
-
- RVCT_ASM_EXPORT ArmReadIdMmfr0
-  mrc    p15, 0, r0, c0, c1, 4     ; Read ID_MMFR0 Register
-  bx     lr
-
-  END
diff --git a/ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf b/ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
index 2a7e7147958c..3d78e7dabf47 100644
--- a/ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
+++ b/ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
@@ -27,7 +27,6 @@
   Arm/ArmMmuLibCore.c
   Arm/ArmMmuLibUpdate.c
   Arm/ArmMmuLibV7Support.S   |GCC
-  Arm/ArmMmuLibV7Support.asm |RVCT
 
 [Packages]
   ArmPkg/ArmPkg.dec
diff --git a/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm b/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm
deleted file mode 100644
index d14573c9cc6c..000000000000
--- a/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-//  Copyright (c) 2012-2014, ARM Limited. All rights reserved.
-//
-//  SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//
-
-
-    INCLUDE AsmMacroExport.inc
-
- RVCT_ASM_EXPORT ArmCallSmc
-    push    {r4-r8}
-    // r0 will be popped just after the SMC call
-    push     {r0}
-
-    // Load the SMC arguments values into the appropriate registers
-    ldr     r7, [r0, #28]
-    ldr     r6, [r0, #24]
-    ldr     r5, [r0, #20]
-    ldr     r4, [r0, #16]
-    ldr     r3, [r0, #12]
-    ldr     r2, [r0, #8]
-    ldr     r1, [r0, #4]
-    ldr     r0, [r0, #0]
-
-    smc     #0
-
-    // Pop the ARM_SMC_ARGS structure address from the stack into r8
-    pop     {r8}
-
-    // Load the SMC returned values into the appropriate registers
-    // A SMC call can return up to 4 values - we do not need to store back r4-r7.
-    str     r3, [r8, #12]
-    str     r2, [r8, #8]
-    str     r1, [r8, #4]
-    str     r0, [r8, #0]
-
-    mov     r0, r8
-
-    // Restore the registers r4-r8
-    pop     {r4-r8}
-
-    bx      lr
-
-    END
diff --git a/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf b/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
index a89f9203fb7e..6ce0ea4caf47 100644
--- a/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
+++ b/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
@@ -14,7 +14,6 @@
   LIBRARY_CLASS                  = ArmSmcLib
 
 [Sources.ARM]
-  Arm/ArmSmc.asm    | RVCT
   Arm/ArmSmc.S      | GCC
 
 [Sources.AARCH64]
@@ -26,6 +25,3 @@
 [Packages]
   MdePkg/MdePkg.dec
   ArmPkg/ArmPkg.dec
-
-[BuildOptions]
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu 7-A.security
diff --git a/ArmPkg/Library/ArmSvcLib/Arm/ArmSvc.asm b/ArmPkg/Library/ArmSvcLib/Arm/ArmSvc.asm
deleted file mode 100644
index d1751488b2b1..000000000000
--- a/ArmPkg/Library/ArmSvcLib/Arm/ArmSvc.asm
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  Copyright (c) 2016 - 2020, ARM Limited. All rights reserved.
-//
-//  SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//
-
-
-    INCLUDE AsmMacroExport.inc
-
- RVCT_ASM_EXPORT ArmCallSvc
-    // r0 will be popped just after the SVC call
-    push     {r0, r4-r8}
-
-    // Load the SVC arguments values into the appropriate registers
-    ldm     r0, {r0-r7}
-
-    svc     #0
-    // Prevent speculative execution beyond svc instruction
-    dsb     nsh
-    isb
-
-    // Load the ARM_SVC_ARGS structure address from the stack into r8
-    ldr     r8, [sp]
-
-    // Load the SVC returned values into the appropriate registers
-    // A SVC call can return up to 4 values - we do not need to store back r4-r7.
-    stm     r8, {r0-r3}
-
-    mov     r0, r8
-
-    // Restore the registers r4-r8
-    pop     {r1, r4-r8}
-    bx      lr
-
-    END
diff --git a/ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf b/ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
index 744a29fbf723..ecfbc5d64a28 100644
--- a/ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
+++ b/ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
@@ -14,7 +14,6 @@
   LIBRARY_CLASS                  = ArmSvcLib
 
 [Sources.ARM]
-  Arm/ArmSvc.asm    | RVCT
   Arm/ArmSvc.S      | GCC
 
 [Sources.AARCH64]
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.asm b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.asm
deleted file mode 100644
index c388d7e27b49..000000000000
--- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.asm
+++ /dev/null
@@ -1,34 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-
-    INCLUDE AsmMacroExport.inc
-
-;
-;UINT32
-;EFIAPI
-;__aeabi_lasr (
-;  IN UINT32  Dividen
-;  IN UINT32  Divisor
-;  );
-;
- RVCT_ASM_EXPORT __aeabi_lasr
-    SUBS     r3,r2,#0x20
-    BPL      {pc} + 0x18  ; 0x1c
-    RSB      r3,r2,#0x20
-    LSR      r0,r0,r2
-    ORR      r0,r0,r1,LSL r3
-    ASR      r1,r1,r2
-    BX       lr
-    ASR      r0,r1,r3
-    ASR      r1,r1,#31
-    BX       lr
-
-    END
-
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.asm b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.asm
deleted file mode 100644
index d8ff6cafd342..000000000000
--- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.asm
+++ /dev/null
@@ -1,36 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-
-    INCLUDE AsmMacroExport.inc
-
-;
-;VOID
-;EFIAPI
-;__aeabi_llsl (
-; IN  VOID    *Destination,
-; IN  VOID    *Source,
-; IN  UINT32  Size
-; );
-;
-
- RVCT_ASM_EXPORT __aeabi_llsl
-    SUBS     r3,r2,#0x20
-    BPL      {pc} + 0x18  ; 0x1c
-    RSB      r3,r2,#0x20
-    LSL      r1,r1,r2
-    ORR      r1,r1,r0,LSR r3
-    LSL      r0,r0,r2
-    BX       lr
-    LSL      r1,r0,r3
-    MOV      r0,#0
-    BX       lr
-
-    END
-
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.asm b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.asm
deleted file mode 100644
index 939b46aeefd3..000000000000
--- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.asm
+++ /dev/null
@@ -1,46 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2011-2014, ARM Limited. All rights reserved.
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-
-    INCLUDE AsmMacroExport.inc
-
-;
-;VOID
-;EFIAPI
-;__aeabi_memmove (
-; IN  VOID          *Destination,
-; IN  CONST VOID    *Source,
-; IN  UINT32        Size
-; );
-;
- RVCT_ASM_EXPORT __aeabi_memmove
-  CMP     r2, #0
-  BXEQ    lr
-  CMP     r0, r1
-  BXEQ    lr
-  BHI     memmove_backward
-
-memmove_forward
-  LDRB    r3, [r1], #1
-  STRB    r3, [r0], #1
-  SUBS    r2, r2, #1
-  BNE     memmove_forward
-  BX      lr
-
-memmove_backward
-  add     r0, r2
-  add     r1, r2
-memmove_backward_loop
-  LDRB    r3, [r1, #-1]!
-  STRB    r3, [r0, #-1]!
-  SUBS    r2, r2, #1
-  BNE     memmove_backward_loop
-  BX      lr
-
-  END
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/mullu.asm b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/mullu.asm
deleted file mode 100644
index 8ff0c066925d..000000000000
--- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/mullu.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-  EXPORT  __ARM_ll_mullu
-  EXPORT  __aeabi_lmul
-
-  AREA  Math, CODE, READONLY
-
-;
-;INT64
-;EFIAPI
-;__aeabi_lmul (
-;  IN INT64   Multiplicand
-;  IN INT32   Multiplier
-;  );
-;
-__ARM_ll_mullu
-  mov     r3, #0
-// Make upper part of INT64 Multiplier 0 and use __aeabi_lmul
-
-;
-;INT64
-;EFIAPI
-;__aeabi_lmul (
-;  IN INT64   Multiplicand
-;  IN INT64   Multiplier
-;  );
-;
-__aeabi_lmul
-  stmdb   sp!, {lr}
-  mov     lr, r0
-  umull   r0, ip, r2, lr
-  mla     r1, r2, r1, ip
-  mla     r1, r3, lr, r1
-  ldmia   sp!, {pc}
-
-  END
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch.asm b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch.asm
deleted file mode 100644
index c8e8afef32ad..000000000000
--- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch.asm
+++ /dev/null
@@ -1,22 +0,0 @@
-///------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-
-
-    INCLUDE AsmMacroExport.inc
-
- RVCT_ASM_EXPORT __ARM_switch8
-  LDRB    r12,[lr,#-1]
-  CMP      r3,r12
-  LDRBCC  r3,[lr,r3]
-  LDRBCS  r3,[lr,r12]
-  ADD      r12,lr,r3,LSL #1
-  BX      r12
-
-    END
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm
deleted file mode 100644
index 82aab976ac82..000000000000
--- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm
+++ /dev/null
@@ -1,58 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-
-
-    INCLUDE AsmMacroExport.inc
-
-;
-;UINT32
-;EFIAPI
-;__aeabi_uread4 (
-;  IN VOID   *Pointer
-;  );
-;
- RVCT_ASM_EXPORT __aeabi_uread4
-    ldrb    r1, [r0]
-    ldrb    r2, [r0, #1]
-    ldrb    r3, [r0, #2]
-    ldrb    r0, [r0, #3]
-    orr     r1, r1, r2, lsl #8
-    orr     r1, r1, r3, lsl #16
-    orr     r0, r1, r0, lsl #24
-    bx      lr
-
-;
-;UINT64
-;EFIAPI
-;__aeabi_uread8 (
-;  IN VOID   *Pointer
-;  );
-;
- RVCT_ASM_EXPORT __aeabi_uread8
-    mov     r3, r0
-
-    ldrb    r1, [r3]
-    ldrb    r2, [r3, #1]
-    orr     r1, r1, r2, lsl #8
-    ldrb    r2, [r3, #2]
-    orr     r1, r1, r2, lsl #16
-    ldrb    r0, [r3, #3]
-    orr     r0, r1, r0, lsl #24
-
-    ldrb    r1, [r3, #4]
-    ldrb    r2, [r3, #5]
-    orr     r1, r1, r2, lsl #8
-    ldrb    r2, [r3, #6]
-    orr     r1, r1, r2, lsl #16
-    ldrb    r2, [r3, #7]
-    orr     r1, r1, r2, lsl #24
-
-    bx      lr
-    END
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
deleted file mode 100644
index d433d9987eb5..000000000000
--- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
+++ /dev/null
@@ -1,60 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//------------------------------------------------------------------------------
-
-
-
-    INCLUDE AsmMacroExport.inc
-
-;
-;UINT32
-;EFIAPI
-;__aeabi_uwrite4 (
-;  IN UINT32 Data,
-;  IN VOID   *Pointer
-;  );
-;
-;
- RVCT_ASM_EXPORT __aeabi_uwrite4
-    mov     r2, r0, lsr #8
-    strb    r0, [r1]
-    strb    r2, [r1, #1]
-    mov     r2, r0, lsr #16
-    strb    r2, [r1, #2]
-    mov     r2, r0, lsr #24
-    strb    r2, [r1, #3]
-    bx      lr
-
-;
-;UINT64
-;EFIAPI
-;__aeabi_uwrite8 (
-;  IN UINT64 Data,    //r0-r1
-;  IN VOID   *Pointer //r2
-;  );
-;
-;
- RVCT_ASM_EXPORT __aeabi_uwrite8
-    mov     r3, r0, lsr #8
-    strb    r0, [r2]
-    strb    r3, [r2, #1]
-    mov     r3, r0, lsr #16
-    strb    r3, [r2, #2]
-    mov     r3, r0, lsr #24
-    strb    r3, [r2, #3]
-
-    mov     r3, r1, lsr #8
-    strb    r1, [r2, #4]
-    strb    r3, [r2, #5]
-    mov     r3, r1, lsr #16
-    strb    r3, [r2, #6]
-    mov     r3, r1, lsr #24
-    strb    r3, [r2, #7]
-    bx      lr
-
-    END
-
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf b/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
index fcf48c678119..7e22e6f67bff 100644
--- a/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
+++ b/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
@@ -18,9 +18,6 @@
   LIBRARY_CLASS                  = CompilerIntrinsicsLib
 
 [Sources]
-  memcpy.c             | RVCT
-  memset.c             | RVCT
-
   memcpy.c             | GCC
   memset.c             | GCC
 
@@ -30,18 +27,6 @@
   memmove_ms.c         | MSFT
 
 [Sources.ARM]
-  Arm/mullu.asm        | RVCT
-  Arm/switch.asm       | RVCT
-  Arm/llsr.asm         | RVCT
-  Arm/memmove.asm      | RVCT
-  Arm/uread.asm        | RVCT
-  Arm/uwrite.asm       | RVCT
-  Arm/lasr.asm         | RVCT
-  Arm/llsl.asm         | RVCT
-  Arm/div.asm          | RVCT
-  Arm/uldiv.asm        | RVCT
-  Arm/ldivmod.asm      | RVCT
-
   Arm/ashrdi3.S        | GCC
   Arm/ashldi3.S        | GCC
   Arm/div.S            | GCC
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 02/10] ArmPlatformPkg: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
  2022-05-03 18:48 ` [PATCH 01/10] ArmPkg: " Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-03 18:48 ` [PATCH 03/10] CryptoPkg: " Rebecca Cran
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm    |  62 ---------
 ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf       |   1 -
 ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.asm | 118 ----------------
 ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf     |   1 -
 ArmPlatformPkg/PrePeiCore/Arm/Exception.asm                            |  83 ------------
 ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm                 |  89 ------------
 ArmPlatformPkg/PrePeiCore/Arm/SwitchStack.asm                          |  32 -----
 ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf                         |   3 -
 ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf                        |   3 -
 ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm                          | 142 --------------------
 ArmPlatformPkg/PrePi/PeiMPCore.inf                                     |   1 -
 ArmPlatformPkg/PrePi/PeiUniCore.inf                                    |   1 -
 ArmPlatformPkg/Scripts/Makefile                                        |   5 +-
 13 files changed, 1 insertion(+), 540 deletions(-)

diff --git a/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm b/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm
deleted file mode 100644
index 1c305f8b507e..000000000000
--- a/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-//  Copyright (c) 2012-2013, ARM Limited. All rights reserved.
-//
-//  SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//
-
-#include <Library/ArmLib.h>
-
-  INCLUDE AsmMacroIoLib.inc
-
-  EXPORT  ArmPlatformPeiBootAction
-  EXPORT  ArmPlatformGetCorePosition
-  EXPORT  ArmPlatformGetPrimaryCoreMpId
-  EXPORT  ArmPlatformIsPrimaryCore
-
-  IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCore
-  IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask
-
-  PRESERVE8
-  AREA    ArmPlatformNullHelper, CODE, READONLY
-
-ArmPlatformPeiBootAction FUNCTION
-  bx    lr
-  ENDFUNC
-
-//UINTN
-//ArmPlatformGetCorePosition (
-//  IN UINTN MpId
-//  );
-ArmPlatformGetCorePosition FUNCTION
-  and   r1, r0, #ARM_CORE_MASK
-  and   r0, r0, #ARM_CLUSTER_MASK
-  add   r0, r1, r0, LSR #7
-  bx    lr
-  ENDFUNC
-
-//UINTN
-//ArmPlatformGetPrimaryCoreMpId (
-//  VOID
-//  );
-ArmPlatformGetPrimaryCoreMpId FUNCTION
-  mov32 r0, FixedPcdGet32(PcdArmPrimaryCore)
-  bx    lr
-  ENDFUNC
-
-//UINTN
-//ArmPlatformIsPrimaryCore (
-//  IN UINTN MpId
-//  );
-ArmPlatformIsPrimaryCore FUNCTION
-  mov32 r1, FixedPcdGet32(PcdArmPrimaryCoreMask)
-  and   r0, r0, r1
-  mov32 r1, FixedPcdGet32(PcdArmPrimaryCore)
-  cmp   r0, r1
-  moveq r0, #1
-  movne r0, #0
-  bx    lr
-  ENDFUNC
-
-  END
-
diff --git a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf
index e0d0028d8224..4a1cd97e3553 100644
--- a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf
+++ b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf
@@ -29,7 +29,6 @@
 
 [Sources.Arm]
   Arm/ArmPlatformHelper.S    | GCC
-  Arm/ArmPlatformHelper.asm  | RVCT
 
 [Sources.AArch64]
   AArch64/ArmPlatformHelper.S
diff --git a/ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.asm b/ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.asm
deleted file mode 100644
index 2c346146d09c..000000000000
--- a/ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.asm
+++ /dev/null
@@ -1,118 +0,0 @@
-//
-//  Copyright (c) 2012-2013, ARM Limited. All rights reserved.
-//
-//  SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//
-
-#include <AutoGen.h>
-
-  INCLUDE AsmMacroIoLib.inc
-
-  EXPORT  ArmPlatformStackSet
-  EXPORT  ArmPlatformStackSetPrimary
-  EXPORT  ArmPlatformStackSetSecondary
-
-  IMPORT  ArmPlatformIsPrimaryCore
-  IMPORT  ArmPlatformGetCorePosition
-  IMPORT  ArmPlatformGetPrimaryCoreMpId
-
-  IMPORT  _gPcd_FixedAtBuild_PcdCoreCount
-
-  PRESERVE8
-  AREA    ArmPlatformStackLib, CODE, READONLY
-
-//VOID
-//ArmPlatformStackSet (
-//  IN UINTN StackBase,
-//  IN UINTN MpId,
-//  IN UINTN PrimaryStackSize,
-//  IN UINTN SecondaryStackSize
-//  );
-ArmPlatformStackSet FUNCTION
-  // Save parameters
-  mov   r6, r3
-  mov   r5, r2
-  mov   r4, r1
-  mov   r3, r0
-
-  // Save the Link register
-  mov   r7, lr
-
-  // Identify Stack
-  mov   r0, r1
-  bl    ArmPlatformIsPrimaryCore
-  cmp   r0, #1
-
-  // Restore parameters
-  mov   r0, r3
-  mov   r1, r4
-  mov   r2, r5
-  mov   r3, r6
-
-  // Restore the Link register
-  mov   lr, r7
-
-  beq   ArmPlatformStackSetPrimary
-  bne   ArmPlatformStackSetSecondary
-  ENDFUNC
-
-//VOID
-//ArmPlatformStackSetPrimary (
-//  IN UINTN StackBase,
-//  IN UINTN MpId,
-//  IN UINTN PrimaryStackSize,
-//  IN UINTN SecondaryStackSize
-//  );
-ArmPlatformStackSetPrimary FUNCTION
-  mov   r4, lr
-
-  // Add stack of primary stack to StackBase
-  add   r0, r0, r2
-
-  // Compute SecondaryCoresCount * SecondaryCoreStackSize
-  mov32 r1, FixedPcdGet32 (PcdCoreCount)
-  sub   r1, #1
-  mul   r3, r3, r1
-
-  // Set Primary Stack ((StackBase + PrimaryStackSize) + (SecondaryCoresCount * SecondaryCoreStackSize))
-  add   sp, r0, r3
-
-  bx    r4
-  ENDFUNC
-
-//VOID
-//ArmPlatformStackSetSecondary (
-//  IN UINTN StackBase,
-//  IN UINTN MpId,
-//  IN UINTN PrimaryStackSize,
-//  IN UINTN SecondaryStackSize
-//  );
-ArmPlatformStackSetSecondary FUNCTION
-  mov   r4, lr
-  mov   sp, r0
-
-  // Get Core Position
-  mov   r0, r1
-  bl ArmPlatformGetCorePosition
-  mov   r5, r0
-
-  // Get Primary Core Position
-  bl ArmPlatformGetPrimaryCoreMpId
-  bl ArmPlatformGetCorePosition
-
-  // Get Secondary Core Position. We should get consecutive secondary stack number from 1...(CoreCount-1)
-  cmp   r5, r0
-  subhi r5, r5, #1
-  add   r5, r5, #1
-
-  // Compute top of the secondary stack
-  mul   r3, r3, r5
-
-  // Set stack
-  add   sp, sp, r3
-
-  bx r4
-  ENDFUNC
-
-  END
diff --git a/ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf b/ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
index 76f809c80d9f..dfa0e7b9e786 100644
--- a/ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
+++ b/ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
@@ -21,7 +21,6 @@
   ArmPlatformPkg/ArmPlatformPkg.dec
 
 [Sources.ARM]
-  Arm/ArmPlatformStackLib.asm     | RVCT
   Arm/ArmPlatformStackLib.S       | GCC
 
 [Sources.AARCH64]
diff --git a/ArmPlatformPkg/PrePeiCore/Arm/Exception.asm b/ArmPlatformPkg/PrePeiCore/Arm/Exception.asm
deleted file mode 100644
index 28d625e67af4..000000000000
--- a/ArmPlatformPkg/PrePeiCore/Arm/Exception.asm
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-//  Copyright (c) 2011, ARM Limited. All rights reserved.
-//
-//  SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//
-
-#include <AutoGen.h>
-
-  IMPORT  PeiCommonExceptionEntry
-  EXPORT  PeiVectorTable
-
-  PRESERVE8
-  AREA    PrePeiCoreException, CODE, READONLY, CODEALIGN, ALIGN=5
-
-//============================================================
-//Default Exception Handlers
-//============================================================
-
-
-PeiVectorTable
-  b _DefaultResetHandler
-  b _DefaultUndefined
-  b _DefaultSWI
-  b _DefaultPrefetchAbort
-  b _DefaultDataAbort
-  b _DefaultReserved
-  b _DefaultIrq
-  b _DefaultFiq
-
-//
-// Default Exception handlers: There is no plan to return from any of these exceptions.
-// No context saving at all.
-//
-_DefaultResetHandler
-   mov  r1, lr
-   cps       #0x13                     ; Switch to SVC for common stack
-   mov  r0, #0
-   blx   PeiCommonExceptionEntry
-
-_DefaultUndefined
-   sub  r1, LR, #4
-   cps       #0x13                     ; Switch to SVC for common stack
-   mov  r0, #1
-   blx   PeiCommonExceptionEntry
-
-_DefaultSWI
-   sub  r1, LR, #4
-   cps       #0x13                     ; Switch to SVC for common stack
-   mov  r0, #2
-   blx   PeiCommonExceptionEntry
-
-_DefaultPrefetchAbort
-   sub  r1, LR, #4
-   cps       #0x13                     ; Switch to SVC for common stack
-   mov  r0, #3
-   blx   PeiCommonExceptionEntry
-
-_DefaultDataAbort
-   sub  r1, LR, #8
-   cps       #0x13                     ; Switch to SVC for common stack
-   mov  r0, #4
-   blx   PeiCommonExceptionEntry
-
-_DefaultReserved
-   mov  r1, lr
-   cps       #0x13                     ; Switch to SVC for common stack
-   mov  r0, #5
-   blx   PeiCommonExceptionEntry
-
-_DefaultIrq
-   sub  r1, LR, #4
-   cps       #0x13                     ; Switch to SVC for common stack
-   mov  r0, #6
-   blx   PeiCommonExceptionEntry
-
-_DefaultFiq
-   sub  r1, LR, #4
-   cps       #0x13                     ; Switch to SVC for common stack
-   mov  r0, #7
-   blx   PeiCommonExceptionEntry
-
-  END
diff --git a/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm b/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm
deleted file mode 100644
index 2734b0951a09..000000000000
--- a/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-//  Copyright (c) 2011-2013, ARM Limited. All rights reserved.
-//
-//  SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//
-
-#include <AutoGen.h>
-
-  INCLUDE AsmMacroIoLib.inc
-
-  IMPORT  CEntryPoint
-  IMPORT  ArmPlatformGetCorePosition
-  IMPORT  ArmPlatformIsPrimaryCore
-  IMPORT  ArmReadMpidr
-  IMPORT  ArmPlatformPeiBootAction
-  EXPORT  _ModuleEntryPoint
-
-  PRESERVE8
-  AREA    PrePeiCoreEntryPoint, CODE, READONLY
-
-StartupAddr        DCD      CEntryPoint
-
-_ModuleEntryPoint
-  // Do early platform specific actions
-  bl    ArmPlatformPeiBootAction
-
-  // Identify CPU ID
-  bl    ArmReadMpidr
-  // Keep a copy of the MpId register value
-  mov   r5, r0
-
-  // Is it the Primary Core ?
-  bl    ArmPlatformIsPrimaryCore
-
-  // Get the top of the primary stacks (and the base of the secondary stacks)
-  mov32 r1, FixedPcdGet64(PcdCPUCoresStackBase) + FixedPcdGet32(PcdCPUCorePrimaryStackSize)
-
-  // r0 is equal to 1 if I am the primary core
-  cmp   r0, #1
-  beq   _SetupPrimaryCoreStack
-
-_SetupSecondaryCoreStack
-  // r1 contains the base of the secondary stacks
-
-  // Get the Core Position
-  mov   r6, r1      // Save base of the secondary stacks
-  mov   r0, r5
-  bl    ArmPlatformGetCorePosition
-  // The stack starts at the top of the stack region. Add '1' to the Core Position to get the top of the stack
-  add   r0, r0, #1
-
-  // StackOffset = CorePos * StackSize
-  mov32 r2, FixedPcdGet32(PcdCPUCoreSecondaryStackSize)
-  mul   r0, r0, r2
-  // SP = StackBase + StackOffset
-  add   sp, r6, r0
-
-_PrepareArguments
-  // The PEI Core Entry Point has been computed by GenFV and stored in the second entry of the Reset Vector
-  mov32 r2, FixedPcdGet32(PcdFvBaseAddress)
-  ldr   r1, [r2, #4]
-
-  // Move sec startup address into a data register
-  // Ensure we're jumping to FV version of the code (not boot remapped alias)
-  ldr   r3, StartupAddr
-
-  // Jump to PrePeiCore C code
-  //    r0 = mp_id
-  //    r1 = pei_core_address
-  mov   r0, r5
-  blx   r3
-
-_SetupPrimaryCoreStack
-  mov   sp, r1
-  mov32 r8, FixedPcdGet64 (PcdCPUCoresStackBase)
-  mov32 r9, FixedPcdGet32 (PcdInitValueInTempStack)
-  mov   r10, r9
-  mov   r11, r9
-  mov   r12, r9
-0:stm   r8!, {r9-r12}
-  cmp   r8, r1
-  blt   0b
-  b     _PrepareArguments
-
-_NeverReturn
-  b _NeverReturn
-
-  END
diff --git a/ArmPlatformPkg/PrePeiCore/Arm/SwitchStack.asm b/ArmPlatformPkg/PrePeiCore/Arm/SwitchStack.asm
deleted file mode 100644
index 65f64805a04a..000000000000
--- a/ArmPlatformPkg/PrePeiCore/Arm/SwitchStack.asm
+++ /dev/null
@@ -1,32 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-; Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-; SPDX-License-Identifier: BSD-2-Clause-Patent
-;
-;------------------------------------------------------------------------------
-
-    EXPORT SecSwitchStack
-
-    AREA   Switch_Stack, CODE, READONLY
-
-;/**
-;  This allows the caller to switch the stack and return
-;
-; @param      StackDelta     Signed amount by which to modify the stack pointer
-;
-; @return     Nothing. Goes to the Entry Point passing in the new parameters
-;
-;**/
-;VOID
-;EFIAPI
-;SecSwitchStack (
-;  VOID  *StackDelta
-;  );
-;
-SecSwitchStack
-    MOV   R1, SP
-    ADD   R1, R0, R1
-    MOV   SP, R1
-    BX    LR
-    END
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
index fb01dd1a113e..a5b4722459d1 100644
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
@@ -21,11 +21,8 @@
 
 [Sources.ARM]
   Arm/ArchPrePeiCore.c
-  Arm/PrePeiCoreEntryPoint.asm | RVCT
   Arm/PrePeiCoreEntryPoint.S   | GCC
-  Arm/SwitchStack.asm      | RVCT
   Arm/SwitchStack.S        | GCC
-  Arm/Exception.asm        | RVCT
   Arm/Exception.S          | GCC
 
 [Sources.AARCH64]
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
index e9eb092d3ac9..466a2b01c384 100644
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
@@ -21,11 +21,8 @@
 
 [Sources.ARM]
   Arm/ArchPrePeiCore.c
-  Arm/PrePeiCoreEntryPoint.asm | RVCT
   Arm/PrePeiCoreEntryPoint.S   | GCC
-  Arm/SwitchStack.asm      | RVCT
   Arm/SwitchStack.S        | GCC
-  Arm/Exception.asm        | RVCT
   Arm/Exception.S          | GCC
 
 [Sources.AARCH64]
diff --git a/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm b/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm
deleted file mode 100644
index eaba90cc3d7c..000000000000
--- a/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm
+++ /dev/null
@@ -1,142 +0,0 @@
-//
-//  Copyright (c) 2011 - 2020, Arm Limited. All rights reserved.<BR>
-//
-//  SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-//
-
-#include <AutoGen.h>
-#include <Chipset/ArmV7.h>
-
-  INCLUDE AsmMacroIoLib.inc
-
-  IMPORT  CEntryPoint
-  IMPORT  ArmPlatformIsPrimaryCore
-  IMPORT  ArmReadMpidr
-  IMPORT  ArmPlatformPeiBootAction
-  IMPORT  ArmPlatformStackSet
-  IMPORT  mSystemMemoryEnd
-
-  EXPORT  _ModuleEntryPoint
-
-  PRESERVE8
-  AREA    PrePiCoreEntryPoint, CODE, READONLY
-
-StartupAddr        DCD      CEntryPoint
-
-_ModuleEntryPoint
-  // Do early platform specific actions
-  bl    ArmPlatformPeiBootAction
-
-  // Get ID of this CPU in multi-core system
-  bl    ArmReadMpidr
-  // Keep a copy of the MpId register value
-  mov   r8, r0
-
-_SetSVCMode
-  // Enter SVC mode, Disable FIQ and IRQ
-  mov     r1, #(CPSR_MODE_SVC :OR: CPSR_IRQ :OR: CPSR_FIQ)
-  msr     CPSR_c, r1
-
-// Check if we can install the stack at the top of the System Memory or if we need
-// to install the stacks at the bottom of the Firmware Device (case the FD is located
-// at the top of the DRAM)
-_SystemMemoryEndInit
-  adrll r1, mSystemMemoryEnd
-  ldrd  r2, r3, [r1]
-  teq   r3, #0
-  moveq r1, r2
-  mvnne r1, #0
-
-_SetupStackPosition
-  // r1 = SystemMemoryTop
-
-  // Calculate Top of the Firmware Device
-  mov32 r2, FixedPcdGet32(PcdFdBaseAddress)
-  mov32 r3, FixedPcdGet32(PcdFdSize)
-  sub   r3, r3, #1
-  add   r3, r3, r2      // r3 = FdTop = PcdFdBaseAddress + PcdFdSize
-
-  // UEFI Memory Size (stacks are allocated in this region)
-  mov32 r4, FixedPcdGet32(PcdSystemMemoryUefiRegionSize)
-
-  //
-  // Reserve the memory for the UEFI region (contain stacks on its top)
-  //
-
-  // Calculate how much space there is between the top of the Firmware and the Top of the System Memory
-  subs  r0, r1, r3      // r0 = SystemMemoryTop - FdTop
-  bmi   _SetupStack     // Jump if negative (FdTop > SystemMemoryTop). Case when the PrePi is in XIP memory outside of the DRAM
-  cmp   r0, r4
-  bge   _SetupStack
-
-  // Case the top of stacks is the FdBaseAddress
-  mov   r1, r2
-
-_SetupStack
-  // r1 contains the top of the stack (and the UEFI Memory)
-
-  // Because the 'push' instruction is equivalent to 'stmdb' (decrement before), we need to increment
-  // one to the top of the stack. We check if incrementing one does not overflow (case of DRAM at the
-  // top of the memory space)
-  adds  r9, r1, #1
-  bcs   _SetupOverflowStack
-
-_SetupAlignedStack
-  mov   r1, r9
-  b     _GetBaseUefiMemory
-
-_SetupOverflowStack
-  // Case memory at the top of the address space. Ensure the top of the stack is EFI_PAGE_SIZE
-  // aligned (4KB)
-  mov32 r9, EFI_PAGE_MASK
-  and   r9, r9, r1
-  sub   r1, r1, r9
-
-_GetBaseUefiMemory
-  // Calculate the Base of the UEFI Memory
-  sub   r9, r1, r4
-
-_GetStackBase
-  // r1 = The top of the Mpcore Stacks
-  // Stack for the primary core = PrimaryCoreStack
-  mov32 r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize)
-  sub   r10, r1, r2
-
-  // Stack for the secondary core = Number of Cores - 1
-  mov32 r1, (FixedPcdGet32(PcdCoreCount) - 1) * FixedPcdGet32(PcdCPUCoreSecondaryStackSize)
-  sub   r10, r10, r1
-
-  // r10 = The base of the MpCore Stacks (primary stack & secondary stacks)
-  mov   r0, r10
-  mov   r1, r8
-  //ArmPlatformStackSet(StackBase, MpId, PrimaryStackSize, SecondaryStackSize)
-  mov32 r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize)
-  mov32 r3, FixedPcdGet32(PcdCPUCoreSecondaryStackSize)
-  bl    ArmPlatformStackSet
-
-  // Is it the Primary Core ?
-  mov   r0, r8
-  bl    ArmPlatformIsPrimaryCore
-  cmp   r0, #1
-  bne   _PrepareArguments
-
-_PrepareArguments
-  mov   r0, r8
-  mov   r1, r9
-  mov   r2, r10
-
-  // Move sec startup address into a data register
-  // Ensure we're jumping to FV version of the code (not boot remapped alias)
-  ldr   r4, StartupAddr
-
-  // Jump to PrePiCore C code
-  //    r0 = MpId
-  //    r1 = UefiMemoryBase
-  //    r2 = StacksBase
-  blx   r4
-
-_NeverReturn
-  b _NeverReturn
-
-  END
diff --git a/ArmPlatformPkg/PrePi/PeiMPCore.inf b/ArmPlatformPkg/PrePi/PeiMPCore.inf
index 053f9fd9e616..a613b24c340e 100644
--- a/ArmPlatformPkg/PrePi/PeiMPCore.inf
+++ b/ArmPlatformPkg/PrePi/PeiMPCore.inf
@@ -22,7 +22,6 @@
 [Sources.ARM]
   Arm/ArchPrePi.c
   Arm/ModuleEntryPoint.S   | GCC
-  Arm/ModuleEntryPoint.asm | RVCT
 
 [Sources.AArch64]
   AArch64/ArchPrePi.c
diff --git a/ArmPlatformPkg/PrePi/PeiUniCore.inf b/ArmPlatformPkg/PrePi/PeiUniCore.inf
index 83a3df78ac26..b62ea3c485bd 100644
--- a/ArmPlatformPkg/PrePi/PeiUniCore.inf
+++ b/ArmPlatformPkg/PrePi/PeiUniCore.inf
@@ -23,7 +23,6 @@
 [Sources.ARM]
   Arm/ArchPrePi.c
   Arm/ModuleEntryPoint.S   | GCC
-  Arm/ModuleEntryPoint.asm | RVCT
 
 [Sources.AArch64]
   AArch64/ArchPrePi.c
diff --git a/ArmPlatformPkg/Scripts/Makefile b/ArmPlatformPkg/Scripts/Makefile
index 270fc80b6ae8..baa618456413 100644
--- a/ArmPlatformPkg/Scripts/Makefile
+++ b/ArmPlatformPkg/Scripts/Makefile
@@ -5,10 +5,7 @@
 #
 #*/
 
-# Define the following variable to specify an alternative toolchain to the one located in your PATH:
-# - RVCT_TOOLS_PATH: for RVCT and RVCTLINUX toolchains
-
-EDK2_TOOLCHAIN ?= RVCTLINUX
+EDK2_TOOLCHAIN ?= GCC5
 EDK2_ARCH ?= ARM
 EDK2_BUILD ?= DEBUG
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 03/10] CryptoPkg: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
  2022-05-03 18:48 ` [PATCH 01/10] ArmPkg: " Rebecca Cran
  2022-05-03 18:48 ` [PATCH 02/10] ArmPlatformPkg: " Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-03 18:48 ` [PATCH 04/10] MdePkg: " Rebecca Cran
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 CryptoPkg/CryptoPkg.dsc                                     | 1 -
 CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf             | 4 ----
 CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf              | 4 ----
 CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf          | 4 ----
 CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf | 4 ----
 CryptoPkg/Library/OpensslLib/OpensslLib.inf                 | 1 -
 CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf           | 1 -
 CryptoPkg/Test/CryptoPkgHostUnitTest.dsc                    | 1 -
 8 files changed, 20 deletions(-)

diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc
index 0aa72ed87846..06990cb6fc79 100644
--- a/CryptoPkg/CryptoPkg.dsc
+++ b/CryptoPkg/CryptoPkg.dsc
@@ -298,5 +298,4 @@
   MSFT:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES
   INTEL:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES
   GCC:*_*_*_CC_FLAGS = -D ENABLE_MD5_DEPRECATED_INTERFACES
-  RVCT:*_*_*_CC_FLAGS = -DENABLE_MD5_DEPRECATED_INTERFACES
 !endif
diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
index 5bbdb387d6ba..0310e49ff3ce 100644
--- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
@@ -101,10 +101,6 @@
   #
   MSFT:*_*_*_CC_FLAGS = /wd4090
 
-  # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
-  # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"
-  RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
-
   GCC:*_CLANG35_*_CC_FLAGS = -std=c99
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99
   GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
index fd500e61ec99..7b93aba26dc3 100644
--- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
@@ -91,10 +91,6 @@
   #
   MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4718
 
-  # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
-  # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"
-  RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
-
   GCC:*_CLANG35_*_CC_FLAGS = -std=c99
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99
   GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
index 3e4524896c45..9da781e2218a 100644
--- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
@@ -106,10 +106,6 @@
   #
   MSFT:*_*_*_CC_FLAGS = /wd4090
 
-  # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
-  # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"
-  RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
-
   GCC:*_CLANG35_*_CC_FLAGS = -std=c99
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99
   GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
diff --git a/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
index 44c183b90563..71e39c9536b8 100644
--- a/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
@@ -85,10 +85,6 @@
   # C4018: '>': signed/unsigned mismatch
   MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4018
 
-  # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
-  # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"
-  RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
-
   GCC:*_CLANG35_*_CC_FLAGS = -std=c99
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99
 
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
index a97b3f5e8ff2..93a317a6f9c0 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
@@ -694,7 +694,6 @@
   #    1: ignore "#1-D: last line of file ends without a newline"
   # 3017: <entity> may be used before being set (NOTE: This was fixed in OpenSSL 1.1 HEAD with
   #       commit d9b8b89bec4480de3a10bdaf9425db371c19145b, and can be dropped then.)
-  RVCT:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) --library_interface=aeabi_clib99 --diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188,128,546,1,3017 -JCryptoPkg/Include
   XCODE:*_*_IA32_CC_FLAGS   = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized
   XCODE:*_*_X64_CC_FLAGS    = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized
 
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
index 490b83602be9..6c9f80530479 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
@@ -643,7 +643,6 @@
   #    1: ignore "#1-D: last line of file ends without a newline"
   # 3017: <entity> may be used before being set (NOTE: This was fixed in OpenSSL 1.1 HEAD with
   #       commit d9b8b89bec4480de3a10bdaf9425db371c19145b, and can be dropped then.)
-  RVCT:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) --library_interface=aeabi_clib99 --diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188,128,546,1,3017 -JCryptoPkg/Include
   XCODE:*_*_IA32_CC_FLAGS   = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized
   XCODE:*_*_X64_CC_FLAGS    = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized
 
diff --git a/CryptoPkg/Test/CryptoPkgHostUnitTest.dsc b/CryptoPkg/Test/CryptoPkgHostUnitTest.dsc
index c50a9cc4dc9f..16478f4a57ca 100644
--- a/CryptoPkg/Test/CryptoPkgHostUnitTest.dsc
+++ b/CryptoPkg/Test/CryptoPkgHostUnitTest.dsc
@@ -43,4 +43,3 @@
   MSFT:*_*_*_CC_FLAGS  = /D ENABLE_MD5_DEPRECATED_INTERFACES
   INTEL:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES
   GCC:*_*_*_CC_FLAGS   = -D ENABLE_MD5_DEPRECATED_INTERFACES
-  RVCT:*_*_*_CC_FLAGS  = -DENABLE_MD5_DEPRECATED_INTERFACES
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 04/10] MdePkg: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
                   ` (2 preceding siblings ...)
  2022-05-03 18:48 ` [PATCH 03/10] CryptoPkg: " Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-03 18:48 ` [PATCH 05/10] FatPkg: " Rebecca Cran
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 MdePkg/Include/Arm/ProcessorBind.h                               |  4 +-
 MdePkg/Include/Base.h                                            | 42 +-------------------
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf                         |  2 -
 MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf  |  1 -
 MdePkg/Library/BaseLib/BaseLib.inf                               | 11 -----
 MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf                   |  8 ----
 MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf       |  6 ---
 MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf           |  1 -
 MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf |  1 -
 9 files changed, 3 insertions(+), 73 deletions(-)

diff --git a/MdePkg/Include/Arm/ProcessorBind.h b/MdePkg/Include/Arm/ProcessorBind.h
index 5a8204ba2e66..3d924f19a35d 100644
--- a/MdePkg/Include/Arm/ProcessorBind.h
+++ b/MdePkg/Include/Arm/ProcessorBind.h
@@ -72,9 +72,9 @@
 #endif
 
 //
-// RVCT and MSFT don't support the __builtin_unreachable() macro
+// MSFT doesn't support the __builtin_unreachable() macro
 //
-#if defined (__ARMCC_VERSION) || defined (_MSC_EXTENSIONS)
+#if defined (_MSC_EXTENSIONS)
 #define UNREACHABLE()
 #endif
 
diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
index ce7bdedd34e2..d19ddfe4bba7 100644
--- a/MdePkg/Include/Base.h
+++ b/MdePkg/Include/Base.h
@@ -204,15 +204,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #define ASM_FUNCTION_REMOVE_IF_UNREFERENCED
 #endif
 
-#ifdef __CC_ARM
-//
-// Older RVCT ARM compilers don't fully support #pragma pack and require __packed
-// as a prefix for the structure.
-//
-#define PACKED  __packed
-#else
 #define PACKED
-#endif
 
 ///
 /// 128 bit buffer containing a unique identifier value.
@@ -578,39 +570,7 @@ struct _LIST_ENTRY {
 **/
 #define _INT_SIZE_OF(n)  ((sizeof (n) + sizeof (UINTN) - 1) &~(sizeof (UINTN) - 1))
 
-#if defined (__CC_ARM)
-//
-// RVCT ARM variable argument list support.
-//
-
-///
-/// Variable used to traverse the list of arguments. This type can vary by
-/// implementation and could be an array or structure.
-///
-  #ifdef __APCS_ADSABI
-typedef int *va_list[1];
-#define VA_LIST  va_list
-  #else
-typedef struct __va_list {
-  void    *__ap;
-} va_list;
-#define VA_LIST  va_list
-  #endif
-
-#define VA_START(Marker, Parameter)  __va_start(Marker, Parameter)
-
-#define VA_ARG(Marker, TYPE)  __va_arg(Marker, TYPE)
-
-#define VA_END(Marker)  ((void)0)
-
-// For some ARM RVCT compilers, __va_copy is not defined
-  #ifndef __va_copy
-#define __va_copy(dest, src)  ((void)((dest) = (src)))
-  #endif
-
-#define VA_COPY(Dest, Start)  __va_copy (Dest, Start)
-
-#elif defined (_M_ARM) || defined (_M_ARM64)
+#if defined (_M_ARM) || defined (_M_ARM64)
 //
 // MSFT ARM variable argument list support.
 //
diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
index 950f5229b2a4..c4cd29a7839d 100644
--- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
@@ -47,8 +47,6 @@
   Ebc/CpuSleepFlushTlb.c
 
 [Sources.ARM]
-  Arm/CpuFlushTlb.asm | RVCT
-  Arm/CpuSleep.asm    | RVCT
   Arm/CpuFlushTlb.asm | MSFT
   Arm/CpuSleep.asm    | MSFT
   Arm/CpuFlushTlb.S   | GCC
diff --git a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf
index cea6857926b3..e803abc0b171 100644
--- a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf
+++ b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf
@@ -31,7 +31,6 @@
 [Sources.ARM]
   IoLibArmVirt.c
   Arm/ArmVirtMmio.S       | GCC
-  Arm/ArmVirtMmio.asm     | RVCT
 
 [Sources.AARCH64]
   IoLibArmVirt.c
diff --git a/MdePkg/Library/BaseLib/BaseLib.inf b/MdePkg/Library/BaseLib/BaseLib.inf
index 16b7ac391705..6be5be9428f2 100644
--- a/MdePkg/Library/BaseLib/BaseLib.inf
+++ b/MdePkg/Library/BaseLib/BaseLib.inf
@@ -341,19 +341,8 @@
 [Sources.ARM]
   Arm/InternalSwitchStack.c
   Arm/Unaligned.c
-  Math64.c                   | RVCT
   Math64.c                   | MSFT
 
-  Arm/SwitchStack.asm        | RVCT
-  Arm/SetJumpLongJump.asm    | RVCT
-  Arm/DisableInterrupts.asm  | RVCT
-  Arm/EnableInterrupts.asm   | RVCT
-  Arm/GetInterruptsState.asm | RVCT
-  Arm/CpuPause.asm           | RVCT
-  Arm/CpuBreakpoint.asm      | RVCT
-  Arm/MemoryFence.asm        | RVCT
-  Arm/SpeculationBarrier.S   | RVCT
-
   Arm/SwitchStack.asm        | MSFT
   Arm/SetJumpLongJump.asm    | MSFT
   Arm/DisableInterrupts.asm  | MSFT
diff --git a/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf b/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
index d09bd12bef19..09a610c31c1d 100644
--- a/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
+++ b/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
@@ -180,16 +180,8 @@
 [Sources.ARM]
   Arm/InternalSwitchStack.c
   Arm/Unaligned.c
-  Math64.c                   | RVCT
   Math64.c                   | MSFT
 
-  Arm/SwitchStack.asm        | RVCT
-  Arm/SetJumpLongJump.asm    | RVCT
-  Arm/CpuPause.asm           | RVCT
-  Arm/CpuBreakpoint.asm      | RVCT
-  Arm/MemoryFence.asm        | RVCT
-  Arm/SpeculationBarrier.S   | RVCT
-
   Arm/SwitchStack.asm        | MSFT
   Arm/SetJumpLongJump.asm    | MSFT
   Arm/CpuPause.asm           | MSFT
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
index e4e3d532e7b8..366a6c6f64a0 100644
--- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
+++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
@@ -85,12 +85,6 @@
   Arm/CompareMem.S    |GCC
   Arm/CompareGuid.S   |GCC
 
-  Arm/ScanMem.asm     |RVCT
-  Arm/SetMem.asm      |RVCT
-  Arm/CopyMem.asm     |RVCT
-  Arm/CompareMem.asm  |RVCT
-  Arm/CompareGuid.asm |RVCT
-
 [Sources.AARCH64]
   AArch64/ScanMem.S
   AArch64/SetMem.S
diff --git a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
index 0dc3c4a83aa5..b827645d72b9 100644
--- a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
+++ b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
@@ -26,7 +26,6 @@
 
 [Sources]
   BaseStackCheckGcc.c  | GCC
-  BaseStackCheckGcc.c  | RVCT
   BaseStackCheckNull.c | MSFT
 
 [Packages]
diff --git a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
index 83d5b8ed7c9b..02ba12961a19 100755
--- a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
+++ b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
@@ -71,7 +71,6 @@
 
 [Sources.ARM]
   Synchronization.c
-  Arm/Synchronization.asm       | RVCT
   Arm/Synchronization.S         | GCC
 
 [Sources.AARCH64]
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 05/10] FatPkg: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
                   ` (3 preceding siblings ...)
  2022-05-03 18:48 ` [PATCH 04/10] MdePkg: " Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-03 18:48 ` [PATCH 06/10] NetworkPkg: " Rebecca Cran
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 FatPkg/FatPkg.dsc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/FatPkg/FatPkg.dsc b/FatPkg/FatPkg.dsc
index 4ddb5c3e004b..6fa439e440cb 100644
--- a/FatPkg/FatPkg.dsc
+++ b/FatPkg/FatPkg.dsc
@@ -24,7 +24,6 @@
   GCC:RELEASE_*_*_CC_FLAGS             = -DMDEPKG_NDEBUG
   INTEL:RELEASE_*_*_CC_FLAGS           = /D MDEPKG_NDEBUG
   MSFT:RELEASE_*_*_CC_FLAGS            = /D MDEPKG_NDEBUG
-  RVCT:RELEASE_*_*_CC_FLAGS            = -DMDEPKG_NDEBUG
   *_*_*_CC_FLAGS                       = -D DISABLE_NEW_DEPRECATED_INTERFACES
 
 !include MdePkg/MdeLibs.dsc.inc
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 06/10] NetworkPkg: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
                   ` (4 preceding siblings ...)
  2022-05-03 18:48 ` [PATCH 05/10] FatPkg: " Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-03 18:48 ` [PATCH 07/10] ArmVirtPkg: " Rebecca Cran
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 NetworkPkg/NetworkBuildOptions.dsc.inc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/NetworkPkg/NetworkBuildOptions.dsc.inc b/NetworkPkg/NetworkBuildOptions.dsc.inc
index 738da2222f7e..e83765b199c1 100644
--- a/NetworkPkg/NetworkBuildOptions.dsc.inc
+++ b/NetworkPkg/NetworkBuildOptions.dsc.inc
@@ -6,7 +6,7 @@
 # feature test macros (eg., API deprecation macros) according to the flags described
 # in "NetworkDefines.dsc.inc".
 #
-# Supported tool chain families: "GCC", "INTEL", "MSFT", "RVCT".
+# Supported tool chain families: "GCC", "INTEL", "MSFT".
 #
 # Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
 #
@@ -18,5 +18,4 @@
   MSFT:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES
   INTEL:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES
   GCC:*_*_*_CC_FLAGS = -D ENABLE_MD5_DEPRECATED_INTERFACES
-  RVCT:*_*_*_CC_FLAGS = -DENABLE_MD5_DEPRECATED_INTERFACES
 !endif
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 07/10] ArmVirtPkg: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
                   ` (5 preceding siblings ...)
  2022-05-03 18:48 ` [PATCH 06/10] NetworkPkg: " Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-03 18:48 ` [PATCH 08/10] EmbeddedPkg: " Rebecca Cran
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 ArmVirtPkg/ArmVirt.dsc.inc | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index ba711deac025..5784509224e4 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -32,7 +32,6 @@
 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
   GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000
   GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
-  RVCT:*_*_ARM_DLINK_FLAGS = --scatter $(EDK_TOOLS_PATH)/Scripts/Rvct-Align4K.sct
 
 [LibraryClasses.common]
 !if $(TARGET) == RELEASE
@@ -262,14 +261,11 @@
   ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
 
 [BuildOptions]
-  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG
-
   GCC:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG
 
   #
   # Disable deprecated APIs.
   #
-  RVCT:*_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
   GCC:*_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
 
 ################################################################################
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 08/10] EmbeddedPkg: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
                   ` (6 preceding siblings ...)
  2022-05-03 18:48 ` [PATCH 07/10] ArmVirtPkg: " Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-03 18:48 ` [PATCH 09/10] OvmfPkg: " Rebecca Cran
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 EmbeddedPkg/EmbeddedPkg.dsc         |  1 -
 EmbeddedPkg/GdbStub/Arm/Processor.c | 10 ----------
 2 files changed, 11 deletions(-)

diff --git a/EmbeddedPkg/EmbeddedPkg.dsc b/EmbeddedPkg/EmbeddedPkg.dsc
index f7ed61545c2e..e9062cacbb42 100644
--- a/EmbeddedPkg/EmbeddedPkg.dsc
+++ b/EmbeddedPkg/EmbeddedPkg.dsc
@@ -199,7 +199,6 @@
   gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
 
 [BuildOptions]
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu=7-A.security
   *_*_*_CC_FLAGS  = -DDISABLE_NEW_DEPRECATED_INTERFACES
 
 ################################################################################
diff --git a/EmbeddedPkg/GdbStub/Arm/Processor.c b/EmbeddedPkg/GdbStub/Arm/Processor.c
index ec160903a5fb..ed91b6b561d9 100644
--- a/EmbeddedPkg/GdbStub/Arm/Processor.c
+++ b/EmbeddedPkg/GdbStub/Arm/Processor.c
@@ -23,11 +23,6 @@ EFI_EXCEPTION_TYPE_ENTRY  gExceptionType[] = {
   //  { EXCEPT_ARM_RESERVED,              GDB_SIGILL  }
 };
 
-// Shut up some annoying RVCT warnings
-#ifdef __CC_ARM
-  #pragma diag_suppress 1296
-#endif
-
 UINTN  gRegisterOffsets[] = {
   OFFSET_OF (EFI_SYSTEM_CONTEXT_ARM, R0),
   OFFSET_OF (EFI_SYSTEM_CONTEXT_ARM, R1),
@@ -73,11 +68,6 @@ UINTN  gRegisterOffsets[] = {
   OFFSET_OF (EFI_SYSTEM_CONTEXT_ARM, CPSR)
 };
 
-// restore warnings for RVCT
-#ifdef __CC_ARM
-  #pragma diag_default 1296
-#endif
-
 /**
  Return the number of entries in the gExceptionType[]
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 09/10] OvmfPkg: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
                   ` (7 preceding siblings ...)
  2022-05-03 18:48 ` [PATCH 08/10] EmbeddedPkg: " Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-03 18:48 ` [PATCH 10/10] BaseTools: " Rebecca Cran
  2022-05-03 19:13 ` [PATCH 00/10] Multiple packages: " Ard Biesheuvel
  10 siblings, 0 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf b/OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
index 21ce5b443471..32ae73f7aac5 100644
--- a/OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
+++ b/OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
@@ -58,6 +58,3 @@
 
 [Guids.IA32, Guids.X64]
   gEfiXenInfoGuid
-
-[BuildOptions.ARM]
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 10/10] BaseTools: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
                   ` (8 preceding siblings ...)
  2022-05-03 18:48 ` [PATCH 09/10] OvmfPkg: " Rebecca Cran
@ 2022-05-03 18:48 ` Rebecca Cran
  2022-05-05  1:27   ` 回复: [edk2-devel] " gaoliming
  2022-05-09  0:20   ` Bob Feng
  2022-05-03 19:13 ` [PATCH 00/10] Multiple packages: " Ard Biesheuvel
  10 siblings, 2 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-03 18:48 UTC (permalink / raw)
  To: devel, Leif Lindholm, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall
  Cc: Rebecca Cran

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 BaseTools/Conf/build_rule.template               |  42 ++----
 BaseTools/Conf/tools_def.template                | 157 --------------------
 BaseTools/Scripts/Rvct-Align32.sct               |  19 ---
 BaseTools/Scripts/Rvct-Align4K.sct               |  19 ---
 BaseTools/Source/C/Include/Common/BaseTypes.h    |  10 +-
 BaseTools/Source/Python/AutoGen/BuildEngine.py   |   2 +-
 BaseTools/Source/Python/AutoGen/GenMake.py       |   2 +-
 BaseTools/Source/Python/AutoGen/ModuleAutoGen.py |  17 +--
 BaseTools/Source/Python/UPT/Library/DataType.py  |   1 -
 9 files changed, 16 insertions(+), 253 deletions(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index 435662351213..5895b48fd88d 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -128,8 +128,7 @@
     <Command.MSFT, Command.INTEL>
         "$(CC)" /Fo${dst} $(DEPS_FLAGS) $(CC_FLAGS) $(INC) ${src}
 
-    <Command.GCC, Command.RVCT>
-        # For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
+    <Command.GCC>
         "$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) -c -o ${dst} $(INC) ${src}
 
     <Command.XCODE>
@@ -145,7 +144,7 @@
     <OutputFile>
         $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
 
-    <Command.GCC, Command.RVCT>
+    <Command.GCC>
         "$(CC)" $(CC_FLAGS) $(CC_XIPFLAGS) -c -o ${dst} $(INC) ${src}
 
 [C-Header-File]
@@ -157,7 +156,7 @@
     <Command>
 
 [Assembly-Code-File.COMMON.COMMON]
-    <InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
+    <InputFile.MSFT, InputFile.INTEL>
         ?.asm, ?.Asm, ?.ASM
 
     <InputFile.GCC>
@@ -175,16 +174,15 @@
         Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}.iiii ${d_path}(+)${s_base}.ii
         "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iiii
 
-    <Command.GCC, Command.RVCT>
+    <Command.GCC>
         Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src}
         "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii
         Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iiii ${d_path}(+)${s_base}.ii
-        # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues
         "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iiii
 
 [Assembly-Code-File.COMMON.ARM,Assembly-Code-File.COMMON.AARCH64]
     # Remove --convert-hex for ARM as it breaks MSFT assemblers
-    <InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
+    <InputFile.MSFT, InputFile.INTEL>
         ?.asm, ?.Asm, ?.ASM
 
     <InputFile.GCC>
@@ -208,11 +206,10 @@
         Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iiii ${d_path}(+)${s_base}.ii
         "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iiii
 
-    <Command.GCC, Command.RVCT>
+    <Command.GCC>
         Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src}
         "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii
         Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iiii ${d_path}(+)${s_base}.ii
-        # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues
         "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iiii
 
 [Nasm-Assembly-Code-File.COMMON.COMMON]
@@ -276,13 +273,6 @@
         $(RM) ${dst}
         "$(SLINK)" cr ${dst} $(SLINK_FLAGS) @$(OBJECT_FILES_LIST)
     
-    <Command.RVCT>
-        "$(SLINK)" $(SLINK_FLAGS) ${dst} --via $(OBJECT_FILES_LIST)
-    
-    <Command.RVCTCYGWIN>
-        # $(OBJECT_FILES_LIST) has wrong paths for cygwin
-        "$(SLINK)" $(SLINK_FLAGS) ${dst} $(OBJECT_FILES)
-
     <Command.XCODE>
         "$(SLINK)" $(SLINK_FLAGS) ${dst} -filelist $(OBJECT_FILES_LIST)
 
@@ -307,13 +297,6 @@
         "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -Wl,--start-group,@$(STATIC_LIBRARY_FILES_LIST),--end-group $(CC_FLAGS) $(DLINK2_FLAGS)
         "$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}
 
-    <Command.RVCT>
-        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
-
-    <Command.RVCTCYGWIN>
-        #$(STATIC_LIBRARY_FILES_LIST) has wrong paths for cygwin
-        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) $(DLINK2_FLAGS)
-
     <Command.XCODE>
         "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) -filelist $(STATIC_LIBRARY_FILES_LIST)  $(DLINK2_FLAGS)
     
@@ -349,13 +332,6 @@
     <Command.GCC>
         "$(DLINK)" $(DLINK_FLAGS) -Wl,--start-group,@$(STATIC_LIBRARY_FILES_LIST),--end-group $(DLINK2_FLAGS)
 
-    <Command.RVCT>
-        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
-
-    <Command.RVCTCYGWIN>
-        #$(STATIC_LIBRARY_FILES_LIST) has the wrong paths for cygwin
-        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) $(DLINK2_FLAGS)
-
     <Command.XCODE>
         "$(DLINK)" -o ${dst} $(DLINK_FLAGS)  $(DLINK_SPATH) -filelist $(STATIC_LIBRARY_FILES_LIST)  $(DLINK2_FLAGS)
       
@@ -369,7 +345,7 @@
         $(DEBUG_DIR)(+)$(MODULE_NAME).efi
         $(OUTPUT_DIR)(+)$(MODULE_NAME).map
 
-    <Command.MSFT, Command.INTEL, Command.RVCT, Command.CLANGPDB>
+    <Command.MSFT, Command.INTEL, Command.CLANGPDB>
         "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)
         $(CP) ${dst} $(DEBUG_DIR)
         $(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
@@ -661,7 +637,7 @@
     <OutputFile.MSFT, OutputFile.INTEL, OutputFile.GCC, OutputFile.CLANGPDB>
         $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.lib
 
-    <OutputFile.XCODE, OutputFile.RVCT>
+    <OutputFile.XCODE>
         $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
 
     <Command.MSFT, Command.INTEL, Command.CLANGPDB>
@@ -671,5 +647,5 @@
     <Command.GCC>
         "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
         "$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc ${dst}
-    <Command.XCODE, Command.RVCT, Command.CLANGGCC>
+    <Command.XCODE, Command.CLANGGCC>
         "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 9c310cf23d25..5ed19810b727 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -333,24 +333,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
 #                               https://acpica.org/downloads
-#   RVCT        -win-   Requires:
-#                             ARM C/C++ Compiler, 5.00
-#                        Optional:
-#                             Required to build EBC drivers:
-#                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
-#                             Required to build platforms or ACPI tables:
-#                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
-#                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
-#                        Notes: Since this tool chain is obsolete, it doesn't enable the compiler option for included header file list generation,
-#                               and lose the incremental build capability.
-#   RVCTLINUX   -unix-   Requires:
-#                             ARM C/C++ Compiler, 5.00
-#                        Optional:
-#                             Required to build platforms or ACPI tables:
-#                               Intel(r) ACPI Compiler from
-#                               https://acpica.org/downloads
-#                        Notes: Since this tool chain is obsolete, it doesn't enable the compiler option for included header file list generation,
-#                               and lose the incremental build capability.
 # * Commented out - All versions of VS2005 use the same standard install directory
 #
 ####################################################################################
@@ -361,7 +343,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #   MSFT           - Microsoft
 #   GCC            - GNU GCC
 #   INTEL          - INTEL
-#   RVCT           - ARM RealView Toolchain
 ####################################################################################
 ####################################################################################
 #
@@ -3012,144 +2993,6 @@ RELEASE_XCODE5_X64_ASM_FLAGS  = -arch x86_64
   NOOPT_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c -g -gdwarf -O0       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
 RELEASE_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c    -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
 
-####################################################################################
-#
-# RVCT Common
-#
-####################################################################################
-
-DEFINE RVCT_ALL_ASM_FLAGS   = --diag_suppress=1786 --diag_error=warning --apcs /interwork
-DEFINE RVCT_ALL_CC_FLAGS    = --c90 --no_autoinline --asm --gnu --apcs /interwork --signed_chars --no_unaligned_access --split_sections --enum_is_int --preinclude AutoGen.h --diag_suppress=186,188,1,111,68 --diag_warning 167 --diag_error=warning --diag_style=ide --protect_stack
-DEFINE RVCT_ALL_DLINK_FLAGS = --no_scanlib --no_exceptions --datacompressor off --strict --symbols --diag_style=ide --no_legacyalign --scatter $(EDK_TOOLS_PATH)/Scripts/Rvct-Align32.sct
-
-####################################################################################
-#
-# ARM RealView Tools - Windows
-#
-####################################################################################
-#   RVCT         - Tools from ARM
-
-*_RVCT_*_*_FAMILY          = RVCT
-
-#
-# Use default values, or override in DSC file
-#
-*_RVCT_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
-*_RVCT_ARM_ARCHASM_FLAGS   =
-*_RVCT_ARM_ARCHDLINK_FLAGS =
-*_RVCT_ARM_PLATFORM_FLAGS  = --cpu 7-A
-
-  DEBUG_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-RELEASE_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-
-
-*_RVCT_ARM_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
-*_RVCT_ARM_PP_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E --preinclude AutoGen.h
-*_RVCT_ARM_VFRPP_FLAGS     = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude $(MODULE_NAME)StrDefs.h
-*_RVCT_ARM_MAKE_PATH       = nmake /NOLOGO
-*_RVCT_ARM_SLINK_FLAGS     = --partial -o
-  DEBUG_RVCT_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
-RELEASE_RVCT_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
-
-##################
-# ARM definitions
-##################
-*_RVCT_ARM_CC_PATH         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCT_ARM_SLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCT_ARM_DLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCT_ARM_ASM_PATH        = ENV(RVCT_TOOLS_PATH)armasm
-*_RVCT_ARM_PP_PATH         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCT_ARM_VFRPP_PATH      = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCT_ARM_FROMELF_PATH    = ENV(RVCT_TOOLS_PATH)fromelf
-
-####################################################################################
-#
-# ARM RealView Tools - Linux
-#
-####################################################################################
-#   RVCTLINUX         - Tools from ARM in a Cygwin environment
-*_RVCTLINUX_*_*_FAMILY               = RVCT
-*_RVCTLINUX_*_*_BUILDRULEFAMILY      = RVCTLINUX
-
-*_RVCTLINUX_*_MAKE_PATH       = make
-
-#
-# Use default values, or override in DSC file
-#
-*_RVCTLINUX_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
-*_RVCTLINUX_ARM_ARCHASM_FLAGS   =
-*_RVCTLINUX_ARM_ARCHDLINK_FLAGS =
-*_RVCTLINUX_ARM_PLATFORM_FLAGS  = --cpu 7-A
-
-DEBUG_RVCTLINUX_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-RELEASE_RVCTLINUX_ARM_DLINK_FLAGS   = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-
-*_RVCTLINUX_ARM_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
-*_RVCTLINUX_ARM_PP_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
-*_RVCTLINUX_ARM_VFRPP_FLAGS     = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude $(MODULE_NAME)StrDefs.h
-*_RVCTLINUX_ARM_SLINK_FLAGS     = --partial -o
-  DEBUG_RVCTLINUX_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
-RELEASE_RVCTLINUX_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
-
-##################
-# ARM definitions
-##################
-*_RVCTLINUX_ARM_CC_PATH         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTLINUX_ARM_SLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCTLINUX_ARM_DLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCTLINUX_ARM_ASM_PATH        = ENV(RVCT_TOOLS_PATH)armasm
-*_RVCTLINUX_ARM_PP_PATH         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTLINUX_ARM_VFRPP_PATH      = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTLINUX_ARM_FROMELF_PATH    = ENV(RVCT_TOOLS_PATH)fromelf
-
-####################################################################################
-#
-# ARM RealView Tools - Cygwin
-#
-####################################################################################
-#   ARMCYGWIN         - Tools from ARM in a Cygwin environment
-
-*_RVCTCYGWIN_*_*_FAMILY               = RVCT
-*_RVCTCYGWIN_*_*_BUILDRULEFAMILY      = RVCTCYGWIN
-
-*_RVCTCYGWIN_ARM_CCPATH_FLAG         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTCYGWIN_ARM_SLINKPATH_FLAG      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCTCYGWIN_ARM_DLINKPATH_FLAG      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCTCYGWIN_ARM_ASMPATH_FLAG        = ENV(RVCT_TOOLS_PATH)armasm
-*_RVCTCYGWIN_ARM_PPPATH_FLAG         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTCYGWIN_ARM_VFRPPPATH_FLAG      = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTCYGWIN_ARM_FROMELFPATH_FLAG    = ENV(RVCT_TOOLS_PATH)fromelf
-
-#
-# Use default values, or override in DSC file
-#
-*_RVCTCYGWIN_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
-*_RVCTCYGWIN_ARM_ARCHASM_FLAGS   =
-*_RVCTCYGWIN_ARM_ARCHDLINK_FLAGS =
-*_RVCTCYGWIN_ARM_PLATFORM_FLAGS  = --cpu 7-A
-
-  DEBUG_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
-RELEASE_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
-
-*_RVCTCYGWIN_ARM_ASM_FLAGS       = "$(ASMPATH_FLAG)" $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
-*_RVCTCYGWIN_ARM_PP_FLAGS        = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
-*_RVCTCYGWIN_ARM_VFRPP_FLAGS     = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude `cygpath -m $(MODULE_NAME)StrDefs.h`
-*_RVCTCYGWIN_ARM_MAKE_PATH       = make
-*_RVCTCYGWIN_ARM_SLINK_FLAGS     = "$(SLINKPATH_FLAG)" --partial -o
-  DEBUG_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
-RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
-
-##################
-# ARM definitions
-##################
-*_RVCTCYGWIN_ARM_CC_PATH         = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_SLINK_PATH      = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_DLINK_PATH      = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_ASM_PATH        = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_PP_PATH         = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_VFRPP_PATH      = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_FROMELF_PATH    = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-
 #################
 # ASM 16 linker definitions
 #################
diff --git a/BaseTools/Scripts/Rvct-Align32.sct b/BaseTools/Scripts/Rvct-Align32.sct
deleted file mode 100644
index d0969a1a9633..000000000000
--- a/BaseTools/Scripts/Rvct-Align32.sct
+++ /dev/null
@@ -1,19 +0,0 @@
-/** @file
-
-  Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-REGION 0x220 RELOC {
-  ER_RO +0 ALIGN 32 {
-    * (+RO)
-  }
-  ER_RW +0 ALIGN 32 {
-    * (+RW)
-  }
-  ER_ZI +0 {
-    * (+ZI)
-  }
-}
diff --git a/BaseTools/Scripts/Rvct-Align4K.sct b/BaseTools/Scripts/Rvct-Align4K.sct
deleted file mode 100644
index bf3738ac1cb4..000000000000
--- a/BaseTools/Scripts/Rvct-Align4K.sct
+++ /dev/null
@@ -1,19 +0,0 @@
-/** @file
-
-  Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-REGION 0x1000 RELOC {
-  ER_RO +0 ALIGN 4096 {
-    * (+RO)
-  }
-  ER_RW +0 ALIGN 4096 {
-    * (+RW)
-  }
-  ER_ZI +0 {
-    * (+ZI)
-  }
-}
diff --git a/BaseTools/Source/C/Include/Common/BaseTypes.h b/BaseTools/Source/C/Include/Common/BaseTypes.h
index 150980b4c0bf..e669da894c32 100644
--- a/BaseTools/Source/C/Include/Common/BaseTypes.h
+++ b/BaseTools/Source/C/Include/Common/BaseTypes.h
@@ -57,15 +57,7 @@
 #define NULL  ((VOID *) 0)
 #endif
 
-#ifdef __CC_ARM
-  //
-  // Older RVCT ARM compilers don't fully support #pragma pack and require __packed
-  // as a prefix for the structure.
-  //
-  #define PACKED  __packed
-#else
-  #define PACKED
-#endif
+#define PACKED
 
 //
 //  Support for variable length argument lists using the ANSI standard.
diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py b/BaseTools/Source/Python/AutoGen/BuildEngine.py
index 722fead75af6..752a1a1f6a86 100644
--- a/BaseTools/Source/Python/AutoGen/BuildEngine.py
+++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py
@@ -317,7 +317,7 @@ class BuildRule:
     #   @param  LineIndex           The line number from which the parsing will begin
     #   @param  SupportedFamily     The list of supported tool chain families
     #
-    def __init__(self, File=None, Content=None, LineIndex=0, SupportedFamily=[TAB_COMPILER_MSFT, "INTEL", "GCC", "RVCT"]):
+    def __init__(self, File=None, Content=None, LineIndex=0, SupportedFamily=[TAB_COMPILER_MSFT, "INTEL", "GCC"]):
         self.RuleFile = File
         # Read build rules from file if it's not none
         if File is not None:
diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index e55efff059f9..da406e6ff468 100755
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -166,7 +166,7 @@ class BuildFile(object):
         GMAKE_FILETYPE :   "include"
     }
 
-    _INC_FLAG_ = {TAB_COMPILER_MSFT : "/I", "GCC" : "-I", "INTEL" : "-I", "RVCT" : "-I", "NASM" : "-I"}
+    _INC_FLAG_ = {TAB_COMPILER_MSFT : "/I", "GCC" : "-I", "INTEL" : "-I", "NASM" : "-I"}
 
     ## Constructor of BuildFile
     #
diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
index 368a31047e82..d05410b32966 100755
--- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
@@ -32,7 +32,7 @@ import tempfile
 ## Mapping Makefile type
 gMakeTypeMap = {TAB_COMPILER_MSFT:"nmake", "GCC":"gmake"}
 #
-# Regular expression for finding Include Directories, the difference between MSFT and INTEL/GCC/RVCT
+# Regular expression for finding Include Directories, the difference between MSFT and INTEL/GCC
 # is the former use /I , the Latter used -I to specify include directories
 #
 gBuildOptIncludePatternMsft = re.compile(r"(?:.*?)/I[ \t]*([^ ]*)", re.MULTILINE | re.DOTALL)
@@ -684,12 +684,12 @@ class ModuleAutoGen(AutoGen):
     @cached_property
     def BuildOptionIncPathList(self):
         #
-        # Regular expression for finding Include Directories, the difference between MSFT and INTEL/GCC/RVCT
+        # Regular expression for finding Include Directories, the difference between MSFT and INTEL/GCC
         # is the former use /I , the Latter used -I to specify include directories
         #
         if self.PlatformInfo.ToolChainFamily in (TAB_COMPILER_MSFT):
             BuildOptIncludeRegEx = gBuildOptIncludePatternMsft
-        elif self.PlatformInfo.ToolChainFamily in ('INTEL', 'GCC', 'RVCT'):
+        elif self.PlatformInfo.ToolChainFamily in ('INTEL', 'GCC'):
             BuildOptIncludeRegEx = gBuildOptIncludePatternOther
         else:
             #
@@ -704,16 +704,7 @@ class ModuleAutoGen(AutoGen):
             except KeyError:
                 FlagOption = ''
 
-            if self.ToolChainFamily != 'RVCT':
-                IncPathList = [NormPath(Path, self.Macros) for Path in BuildOptIncludeRegEx.findall(FlagOption)]
-            else:
-                #
-                # RVCT may specify a list of directory seperated by commas
-                #
-                IncPathList = []
-                for Path in BuildOptIncludeRegEx.findall(FlagOption):
-                    PathList = GetSplitList(Path, TAB_COMMA_SPLIT)
-                    IncPathList.extend(NormPath(PathEntry, self.Macros) for PathEntry in PathList)
+            IncPathList = [NormPath(Path, self.Macros) for Path in BuildOptIncludeRegEx.findall(FlagOption)]
 
             #
             # EDK II modules must not reference header files outside of the packages they depend on or
diff --git a/BaseTools/Source/Python/UPT/Library/DataType.py b/BaseTools/Source/Python/UPT/Library/DataType.py
index bd216786a565..2033149aa6dc 100644
--- a/BaseTools/Source/Python/UPT/Library/DataType.py
+++ b/BaseTools/Source/Python/UPT/Library/DataType.py
@@ -939,7 +939,6 @@ MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF = 5014
 TOOL_FAMILY_LIST = ["MSFT",
                     "INTEL",
                     "GCC",
-                    "RVCT"
                     ]
 
 TYPE_HOB_SECTION = 'HOB'
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 00/10] Multiple packages: Remove RVCT support
  2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
                   ` (9 preceding siblings ...)
  2022-05-03 18:48 ` [PATCH 10/10] BaseTools: " Rebecca Cran
@ 2022-05-03 19:13 ` Ard Biesheuvel
  2022-05-04  9:00   ` [edk2-devel] " Leif Lindholm
  2022-05-11 17:36   ` Rebecca Cran
  10 siblings, 2 replies; 18+ messages in thread
From: Ard Biesheuvel @ 2022-05-03 19:13 UTC (permalink / raw)
  To: Rebecca Cran
  Cc: edk2-devel-groups-io, Leif Lindholm, Ard Biesheuvel, Sami Mujawar,
	Gerd Hoffmann, Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao,
	Jian J Wang, Xiaoyu Lu, Guomin Jiang, Abner Chang,
	Daniel Schaefer, Ray Ni, Michael D Kinney, Zhiguang Liu,
	Maciej Rabeda, Jiaxin Wu, Siyuan Fu, Jordan Justen,
	Anthony Perard, Julien Grall

On Tue, 3 May 2022 at 20:48, Rebecca Cran <quic_rcran@quicinc.com> wrote:
>
> RVCT is obsolete, no longer supported and only supports 32-bit systems.
> Since it's no longer used, remove it.
>
> Personal PR: https://github.com/tianocore/edk2/pull/2833
>
> Rebecca Cran (10):
>   ArmPkg: Remove RVCT support
>   ArmPlatformPkg: Remove RVCT support
>   CryptoPkg: Remove RVCT support
>   MdePkg: Remove RVCT support
>   FatPkg: Remove RVCT support
>   NetworkPkg: Remove RVCT support
>   ArmVirtPkg: Remove RVCT support
>   EmbeddedPkg: Remove RVCT support
>   OvmfPkg: Remove RVCT support
>   BaseTools: Remove RVCT support
>

Thanks a lot for doing this.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

Unless anyone objects, let's get this merged asap.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [edk2-devel] [PATCH 00/10] Multiple packages: Remove RVCT support
  2022-05-03 19:13 ` [PATCH 00/10] Multiple packages: " Ard Biesheuvel
@ 2022-05-04  9:00   ` Leif Lindholm
  2022-05-11 17:36   ` Rebecca Cran
  1 sibling, 0 replies; 18+ messages in thread
From: Leif Lindholm @ 2022-05-04  9:00 UTC (permalink / raw)
  To: devel, ardb
  Cc: Rebecca Cran, Ard Biesheuvel, Sami Mujawar, Gerd Hoffmann,
	Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao, Jian J Wang,
	Xiaoyu Lu, Guomin Jiang, Abner Chang, Daniel Schaefer, Ray Ni,
	Michael D Kinney, Zhiguang Liu, Maciej Rabeda, Jiaxin Wu,
	Siyuan Fu, Jordan Justen, Anthony Perard, Julien Grall

On Tue, May 03, 2022 at 21:13:18 +0200, Ard Biesheuvel wrote:
> On Tue, 3 May 2022 at 20:48, Rebecca Cran <quic_rcran@quicinc.com> wrote:
> >
> > RVCT is obsolete, no longer supported and only supports 32-bit systems.
> > Since it's no longer used, remove it.
> >
> > Personal PR: https://github.com/tianocore/edk2/pull/2833
> >
> > Rebecca Cran (10):
> >   ArmPkg: Remove RVCT support
> >   ArmPlatformPkg: Remove RVCT support
> >   CryptoPkg: Remove RVCT support
> >   MdePkg: Remove RVCT support
> >   FatPkg: Remove RVCT support
> >   NetworkPkg: Remove RVCT support
> >   ArmVirtPkg: Remove RVCT support
> >   EmbeddedPkg: Remove RVCT support
> >   OvmfPkg: Remove RVCT support
> >   BaseTools: Remove RVCT support
> >
> 
> Thanks a lot for doing this.
> 
> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
> 
> Unless anyone objects, let's get this merged asap.

Acked-by: Leif Lindholm <quic_llindhol@quicinc.com>
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* 回复: [edk2-devel] [PATCH 10/10] BaseTools: Remove RVCT support
  2022-05-03 18:48 ` [PATCH 10/10] BaseTools: " Rebecca Cran
@ 2022-05-05  1:27   ` gaoliming
  2022-05-09  0:20   ` Bob Feng
  1 sibling, 0 replies; 18+ messages in thread
From: gaoliming @ 2022-05-05  1:27 UTC (permalink / raw)
  To: devel, quic_rcran, 'Leif Lindholm',
	'Ard Biesheuvel', 'Sami Mujawar',
	'Gerd Hoffmann', 'Bob Feng', 'Yuwei Chen',
	'Jiewen Yao', 'Jian J Wang', 'Xiaoyu Lu',
	'Guomin Jiang', 'Abner Chang',
	'Daniel Schaefer', 'Ray Ni',
	'Michael D Kinney', 'Zhiguang Liu',
	'Maciej Rabeda', 'Jiaxin Wu', 'Siyuan Fu',
	'Jordan Justen', 'Anthony Perard',
	'Julien Grall'

Acked-by: Liming Gao <gaoliming@byosoft.com.cn>

> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Rebecca Cran
> 发送时间: 2022年5月4日 2:48
> 收件人: devel@edk2.groups.io; Leif Lindholm <quic_llindhol@quicinc.com>;
> Ard Biesheuvel <ardb+tianocore@kernel.org>; Sami Mujawar
> <sami.mujawar@arm.com>; Gerd Hoffmann <kraxel@redhat.com>; Bob Feng
> <bob.c.feng@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Yuwei
> Chen <yuwei.chen@intel.com>; Jiewen Yao <jiewen.yao@intel.com>; Jian J
> Wang <jian.j.wang@intel.com>; Xiaoyu Lu <xiaoyu1.lu@intel.com>; Guomin
> Jiang <guomin.jiang@intel.com>; Abner Chang <abner.chang@hpe.com>;
> Daniel Schaefer <daniel.schaefer@hpe.com>; Ray Ni <ray.ni@intel.com>;
> Michael D Kinney <michael.d.kinney@intel.com>; Zhiguang Liu
> <zhiguang.liu@intel.com>; Maciej Rabeda <maciej.rabeda@linux.intel.com>;
> Jiaxin Wu <jiaxin.wu@intel.com>; Siyuan Fu <siyuan.fu@intel.com>; Jordan
> Justen <jordan.l.justen@intel.com>; Anthony Perard
> <anthony.perard@citrix.com>; Julien Grall <julien@xen.org>
> 抄送: Rebecca Cran <quic_rcran@quicinc.com>
> 主题: [edk2-devel] [PATCH 10/10] BaseTools: Remove RVCT support
> 
> RVCT is obsolete and no longer used.
> Remove support for it.
> 
> Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
> ---
>  BaseTools/Conf/build_rule.template               |  42 ++----
>  BaseTools/Conf/tools_def.template                | 157
> --------------------
>  BaseTools/Scripts/Rvct-Align32.sct               |  19 ---
>  BaseTools/Scripts/Rvct-Align4K.sct               |  19 ---
>  BaseTools/Source/C/Include/Common/BaseTypes.h    |  10 +-
>  BaseTools/Source/Python/AutoGen/BuildEngine.py   |   2 +-
>  BaseTools/Source/Python/AutoGen/GenMake.py       |   2 +-
>  BaseTools/Source/Python/AutoGen/ModuleAutoGen.py |  17 +--
>  BaseTools/Source/Python/UPT/Library/DataType.py  |   1 -
>  9 files changed, 16 insertions(+), 253 deletions(-)
> 
> diff --git a/BaseTools/Conf/build_rule.template
> b/BaseTools/Conf/build_rule.template
> index 435662351213..5895b48fd88d 100755
> --- a/BaseTools/Conf/build_rule.template
> +++ b/BaseTools/Conf/build_rule.template
> @@ -128,8 +128,7 @@
>      <Command.MSFT, Command.INTEL>
>          "$(CC)" /Fo${dst} $(DEPS_FLAGS) $(CC_FLAGS) $(INC) ${src}
> 
> -    <Command.GCC, Command.RVCT>
> -        # For RVCTCYGWIN CC_FLAGS must be first to work around pathing
> issues
> +    <Command.GCC>
>          "$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) -c -o ${dst} $(INC) ${src}
> 
>      <Command.XCODE>
> @@ -145,7 +144,7 @@
>      <OutputFile>
>          $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
> 
> -    <Command.GCC, Command.RVCT>
> +    <Command.GCC>
>          "$(CC)" $(CC_FLAGS) $(CC_XIPFLAGS) -c -o ${dst} $(INC) ${src}
> 
>  [C-Header-File]
> @@ -157,7 +156,7 @@
>      <Command>
> 
>  [Assembly-Code-File.COMMON.COMMON]
> -    <InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
> +    <InputFile.MSFT, InputFile.INTEL>
>          ?.asm, ?.Asm, ?.ASM
> 
>      <InputFile.GCC>
> @@ -175,16 +174,15 @@
>          Trim --source-code --convert-hex --trim-long -o
> ${d_path}(+)${s_base}.iiii ${d_path}(+)${s_base}.ii
>          "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC)
> ${d_path}(+)${s_base}.iiii
> 
> -    <Command.GCC, Command.RVCT>
> +    <Command.GCC>
>          Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src}
>          "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} >
> ${d_path}(+)${s_base}.ii
>          Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iiii
> ${d_path}(+)${s_base}.ii
> -        # For RVCTCYGWIN ASM_FLAGS must be first to work around
> pathing issues
>          "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iiii
> 
> 
> [Assembly-Code-File.COMMON.ARM,Assembly-Code-File.COMMON.AARCH6
> 4]
>      # Remove --convert-hex for ARM as it breaks MSFT assemblers
> -    <InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
> +    <InputFile.MSFT, InputFile.INTEL>
>          ?.asm, ?.Asm, ?.ASM
> 
>      <InputFile.GCC>
> @@ -208,11 +206,10 @@
>          Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iiii
> ${d_path}(+)${s_base}.ii
>          "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC)
> ${d_path}(+)${s_base}.iiii
> 
> -    <Command.GCC, Command.RVCT>
> +    <Command.GCC>
>          Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src}
>          "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} >
> ${d_path}(+)${s_base}.ii
>          Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iiii
> ${d_path}(+)${s_base}.ii
> -        # For RVCTCYGWIN ASM_FLAGS must be first to work around
> pathing issues
>          "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iiii
> 
>  [Nasm-Assembly-Code-File.COMMON.COMMON]
> @@ -276,13 +273,6 @@
>          $(RM) ${dst}
>          "$(SLINK)" cr ${dst} $(SLINK_FLAGS) @$(OBJECT_FILES_LIST)
> 
> -    <Command.RVCT>
> -        "$(SLINK)" $(SLINK_FLAGS) ${dst} --via $(OBJECT_FILES_LIST)
> -
> -    <Command.RVCTCYGWIN>
> -        # $(OBJECT_FILES_LIST) has wrong paths for cygwin
> -        "$(SLINK)" $(SLINK_FLAGS) ${dst} $(OBJECT_FILES)
> -
>      <Command.XCODE>
>          "$(SLINK)" $(SLINK_FLAGS) ${dst} -filelist $(OBJECT_FILES_LIST)
> 
> @@ -307,13 +297,6 @@
>          "$(DLINK)" -o ${dst} $(DLINK_FLAGS)
> -Wl,--start-group,@$(STATIC_LIBRARY_FILES_LIST),--end-group $(CC_FLAGS)
> $(DLINK2_FLAGS)
>          "$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}
> 
> -    <Command.RVCT>
> -        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via
> $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
> -
> -    <Command.RVCTCYGWIN>
> -        #$(STATIC_LIBRARY_FILES_LIST) has wrong paths for cygwin
> -        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH)
> $(STATIC_LIBRARY_FILES) $(DLINK2_FLAGS)
> -
>      <Command.XCODE>
>          "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) -filelist
> $(STATIC_LIBRARY_FILES_LIST)  $(DLINK2_FLAGS)
> 
> @@ -349,13 +332,6 @@
>      <Command.GCC>
>          "$(DLINK)" $(DLINK_FLAGS)
> -Wl,--start-group,@$(STATIC_LIBRARY_FILES_LIST),--end-group
> $(DLINK2_FLAGS)
> 
> -    <Command.RVCT>
> -        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via
> $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
> -
> -    <Command.RVCTCYGWIN>
> -        #$(STATIC_LIBRARY_FILES_LIST) has the wrong paths for cygwin
> -        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH)
> $(STATIC_LIBRARY_FILES) $(DLINK2_FLAGS)
> -
>      <Command.XCODE>
>          "$(DLINK)" -o ${dst} $(DLINK_FLAGS)  $(DLINK_SPATH) -filelist
> $(STATIC_LIBRARY_FILES_LIST)  $(DLINK2_FLAGS)
> 
> @@ -369,7 +345,7 @@
>          $(DEBUG_DIR)(+)$(MODULE_NAME).efi
>          $(OUTPUT_DIR)(+)$(MODULE_NAME).map
> 
> -    <Command.MSFT, Command.INTEL, Command.RVCT,
> Command.CLANGPDB>
> +    <Command.MSFT, Command.INTEL, Command.CLANGPDB>
>          "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src}
> $(GENFW_FLAGS)
>          $(CP) ${dst} $(DEBUG_DIR)
>          $(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
> @@ -661,7 +637,7 @@
>      <OutputFile.MSFT, OutputFile.INTEL, OutputFile.GCC,
> OutputFile.CLANGPDB>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.lib
> 
> -    <OutputFile.XCODE, OutputFile.RVCT>
> +    <OutputFile.XCODE>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
> 
>      <Command.MSFT, Command.INTEL, Command.CLANGPDB>
> @@ -671,5 +647,5 @@
>      <Command.GCC>
>          "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g
> $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES)
> $(GENFW_FLAGS)
>          "$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
> ${dst}
> -    <Command.XCODE, Command.RVCT, Command.CLANGGCC>
> +    <Command.XCODE, Command.CLANGGCC>
>          "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g
> $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES)
> $(GENFW_FLAGS)
> diff --git a/BaseTools/Conf/tools_def.template
> b/BaseTools/Conf/tools_def.template
> index 9c310cf23d25..5ed19810b727 100755
> --- a/BaseTools/Conf/tools_def.template
> +++ b/BaseTools/Conf/tools_def.template
> @@ -333,24 +333,6 @@ DEFINE DTC_BIN                 =
> ENV(DTC_PREFIX)dtc
>  #                             Required to build platforms or ACPI
> tables:
>  #                               Intel(r) ACPI Compiler (iasl.exe) from
>  #                               https://acpica.org/downloads
> -#   RVCT        -win-   Requires:
> -#                             ARM C/C++ Compiler, 5.00
> -#                        Optional:
> -#                             Required to build EBC drivers:
> -#                               Intel(r) Compiler for Efi Byte Code
> (Intel(r) EBC Compiler)
> -#                             Required to build platforms or ACPI
> tables:
> -#                               Microsoft ASL ACPI Compiler (asl.exe)
> v4.0.0 from
> -#
> http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3
> e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
> -#                        Notes: Since this tool chain is obsolete, it
> doesn't enable the compiler option for included header file list
generation,
> -#                               and lose the incremental build
> capability.
> -#   RVCTLINUX   -unix-   Requires:
> -#                             ARM C/C++ Compiler, 5.00
> -#                        Optional:
> -#                             Required to build platforms or ACPI
> tables:
> -#                               Intel(r) ACPI Compiler from
> -#                               https://acpica.org/downloads
> -#                        Notes: Since this tool chain is obsolete, it
> doesn't enable the compiler option for included header file list
generation,
> -#                               and lose the incremental build
> capability.
>  # * Commented out - All versions of VS2005 use the same standard install
> directory
>  #
> 
> ##############################################################
> ######################
> @@ -361,7 +343,6 @@ DEFINE DTC_BIN                 =
> ENV(DTC_PREFIX)dtc
>  #   MSFT           - Microsoft
>  #   GCC            - GNU GCC
>  #   INTEL          - INTEL
> -#   RVCT           - ARM RealView Toolchain
> 
> ##############################################################
> ######################
> 
> ##############################################################
> ######################
>  #
> @@ -3012,144 +2993,6 @@ RELEASE_XCODE5_X64_ASM_FLAGS  = -arch
> x86_64
>    NOOPT_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c
> -g -gdwarf -O0       -Wall -Werror -Wextra -include AutoGen.h
> -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin
> -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter
> -Wno-missing-braces -Wno-missing-field-initializers
> -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D
> NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
>  RELEASE_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c
> -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char
> -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar
> -mno-implicit-float -mms-bitfields -Wno-unused-parameter
> -Wno-missing-braces -Wno-missing-field-initializers
> -Wno-tautological-compare -Wno-sign-compare -Wno-varargs
> -Wno-unused-const-variable
> -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D
> NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
> 
> -#############################################################
> #######################
> -#
> -# RVCT Common
> -#
> -#############################################################
> #######################
> -
> -DEFINE RVCT_ALL_ASM_FLAGS   = --diag_suppress=1786
> --diag_error=warning --apcs /interwork
> -DEFINE RVCT_ALL_CC_FLAGS    = --c90 --no_autoinline --asm --gnu --apcs
> /interwork --signed_chars --no_unaligned_access --split_sections
> --enum_is_int --preinclude AutoGen.h --diag_suppress=186,188,1,111,68
> --diag_warning 167 --diag_error=warning --diag_style=ide --protect_stack
> -DEFINE RVCT_ALL_DLINK_FLAGS = --no_scanlib --no_exceptions
> --datacompressor off --strict --symbols --diag_style=ide --no_legacyalign
> --scatter $(EDK_TOOLS_PATH)/Scripts/Rvct-Align32.sct
> -
> -#############################################################
> #######################
> -#
> -# ARM RealView Tools - Windows
> -#
> -#############################################################
> #######################
> -#   RVCT         - Tools from ARM
> -
> -*_RVCT_*_*_FAMILY          = RVCT
> -
> -#
> -# Use default values, or override in DSC file
> -#
> -*_RVCT_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
> -*_RVCT_ARM_ARCHASM_FLAGS   =
> -*_RVCT_ARM_ARCHDLINK_FLAGS =
> -*_RVCT_ARM_PLATFORM_FLAGS  = --cpu 7-A
> -
> -  DEBUG_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS)
> DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list
> $(DEST_DIR_DEBUG)/$(BASE_NAME).map
> -RELEASE_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS)
> DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list
> $(DEST_DIR_DEBUG)/$(BASE_NAME).map
> -
> -
> -*_RVCT_ARM_ASM_FLAGS       = $(ARCHASM_FLAGS)
> $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
> -*_RVCT_ARM_PP_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
> -E --preinclude AutoGen.h
> -*_RVCT_ARM_VFRPP_FLAGS     = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
> -E  -DVFRCOMPILE --preinclude $(MODULE_NAME)StrDefs.h
> -*_RVCT_ARM_MAKE_PATH       = nmake /NOLOGO
> -*_RVCT_ARM_SLINK_FLAGS     = --partial -o
> -  DEBUG_RVCT_ARM_CC_FLAGS  = $(ARCHCC_FLAGS)
> $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
> -RELEASE_RVCT_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
> --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
> -
> -##################
> -# ARM definitions
> -##################
> -*_RVCT_ARM_CC_PATH         = ENV(RVCT_TOOLS_PATH)armcc
> -*_RVCT_ARM_SLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
> -*_RVCT_ARM_DLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
> -*_RVCT_ARM_ASM_PATH        = ENV(RVCT_TOOLS_PATH)armasm
> -*_RVCT_ARM_PP_PATH         = ENV(RVCT_TOOLS_PATH)armcc
> -*_RVCT_ARM_VFRPP_PATH      = ENV(RVCT_TOOLS_PATH)armcc
> -*_RVCT_ARM_FROMELF_PATH    = ENV(RVCT_TOOLS_PATH)fromelf
> -
> -#############################################################
> #######################
> -#
> -# ARM RealView Tools - Linux
> -#
> -#############################################################
> #######################
> -#   RVCTLINUX         - Tools from ARM in a Cygwin environment
> -*_RVCTLINUX_*_*_FAMILY               = RVCT
> -*_RVCTLINUX_*_*_BUILDRULEFAMILY      = RVCTLINUX
> -
> -*_RVCTLINUX_*_MAKE_PATH       = make
> -
> -#
> -# Use default values, or override in DSC file
> -#
> -*_RVCTLINUX_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
> -*_RVCTLINUX_ARM_ARCHASM_FLAGS   =
> -*_RVCTLINUX_ARM_ARCHDLINK_FLAGS =
> -*_RVCTLINUX_ARM_PLATFORM_FLAGS  = --cpu 7-A
> -
> -DEBUG_RVCTLINUX_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS)
> DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list
> $(DEST_DIR_DEBUG)/$(BASE_NAME).map
> -RELEASE_RVCTLINUX_ARM_DLINK_FLAGS   = $(ARCHDLINK_FLAGS)
> DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list
> $(DEST_DIR_DEBUG)/$(BASE_NAME).map
> -
> -*_RVCTLINUX_ARM_ASM_FLAGS       = $(ARCHASM_FLAGS)
> $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
> -*_RVCTLINUX_ARM_PP_FLAGS        = $(ARCHCC_FLAGS)
> $(PLATFORM_FLAGS) -E
> -*_RVCTLINUX_ARM_VFRPP_FLAGS     = $(ARCHCC_FLAGS)
> $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude
> $(MODULE_NAME)StrDefs.h
> -*_RVCTLINUX_ARM_SLINK_FLAGS     = --partial -o
> -  DEBUG_RVCTLINUX_ARM_CC_FLAGS  = $(ARCHCC_FLAGS)
> $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
> -RELEASE_RVCTLINUX_ARM_CC_FLAGS  = $(ARCHCC_FLAGS)
> $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
> -
> -##################
> -# ARM definitions
> -##################
> -*_RVCTLINUX_ARM_CC_PATH         = ENV(RVCT_TOOLS_PATH)armcc
> -*_RVCTLINUX_ARM_SLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
> -*_RVCTLINUX_ARM_DLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
> -*_RVCTLINUX_ARM_ASM_PATH        =
> ENV(RVCT_TOOLS_PATH)armasm
> -*_RVCTLINUX_ARM_PP_PATH         = ENV(RVCT_TOOLS_PATH)armcc
> -*_RVCTLINUX_ARM_VFRPP_PATH      = ENV(RVCT_TOOLS_PATH)armcc
> -*_RVCTLINUX_ARM_FROMELF_PATH    =
> ENV(RVCT_TOOLS_PATH)fromelf
> -
> -#############################################################
> #######################
> -#
> -# ARM RealView Tools - Cygwin
> -#
> -#############################################################
> #######################
> -#   ARMCYGWIN         - Tools from ARM in a Cygwin environment
> -
> -*_RVCTCYGWIN_*_*_FAMILY               = RVCT
> -*_RVCTCYGWIN_*_*_BUILDRULEFAMILY      = RVCTCYGWIN
> -
> -*_RVCTCYGWIN_ARM_CCPATH_FLAG         =
> ENV(RVCT_TOOLS_PATH)armcc
> -*_RVCTCYGWIN_ARM_SLINKPATH_FLAG      =
> ENV(RVCT_TOOLS_PATH)armlink
> -*_RVCTCYGWIN_ARM_DLINKPATH_FLAG      =
> ENV(RVCT_TOOLS_PATH)armlink
> -*_RVCTCYGWIN_ARM_ASMPATH_FLAG        =
> ENV(RVCT_TOOLS_PATH)armasm
> -*_RVCTCYGWIN_ARM_PPPATH_FLAG         =
> ENV(RVCT_TOOLS_PATH)armcc
> -*_RVCTCYGWIN_ARM_VFRPPPATH_FLAG      =
> ENV(RVCT_TOOLS_PATH)armcc
> -*_RVCTCYGWIN_ARM_FROMELFPATH_FLAG    =
> ENV(RVCT_TOOLS_PATH)fromelf
> -
> -#
> -# Use default values, or override in DSC file
> -#
> -*_RVCTCYGWIN_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
> -*_RVCTCYGWIN_ARM_ARCHASM_FLAGS   =
> -*_RVCTCYGWIN_ARM_ARCHDLINK_FLAGS =
> -*_RVCTCYGWIN_ARM_PLATFORM_FLAGS  = --cpu 7-A
> -
> -  DEBUG_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)"
> $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry
> $(IMAGE_ENTRY_POINT) --map --list `cygpath -m
> $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
> -RELEASE_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)"
> $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry
> $(IMAGE_ENTRY_POINT) --map --list `cygpath -m
> $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
> -
> -*_RVCTCYGWIN_ARM_ASM_FLAGS       = "$(ASMPATH_FLAG)"
> $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
> -*_RVCTCYGWIN_ARM_PP_FLAGS        = "$(CCPATH_FLAG)"
> $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
> -*_RVCTCYGWIN_ARM_VFRPP_FLAGS     = "$(CCPATH_FLAG)"
> $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude
> `cygpath -m $(MODULE_NAME)StrDefs.h`
> -*_RVCTCYGWIN_ARM_MAKE_PATH       = make
> -*_RVCTCYGWIN_ARM_SLINK_FLAGS     = "$(SLINKPATH_FLAG)" --partial
> -o
> -  DEBUG_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)"
> $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
> -RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)"
> $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550
> DEF(RVCT_ALL_CC_FLAGS) -O2
> -
> -##################
> -# ARM definitions
> -##################
> -*_RVCTCYGWIN_ARM_CC_PATH         =
> ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
> -*_RVCTCYGWIN_ARM_SLINK_PATH      =
> ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
> -*_RVCTCYGWIN_ARM_DLINK_PATH      =
> ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
> -*_RVCTCYGWIN_ARM_ASM_PATH        =
> ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
> -*_RVCTCYGWIN_ARM_PP_PATH         =
> ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
> -*_RVCTCYGWIN_ARM_VFRPP_PATH      =
> ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
> -*_RVCTCYGWIN_ARM_FROMELF_PATH    =
> ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
> -
>  #################
>  # ASM 16 linker definitions
>  #################
> diff --git a/BaseTools/Scripts/Rvct-Align32.sct
> b/BaseTools/Scripts/Rvct-Align32.sct
> deleted file mode 100644
> index d0969a1a9633..000000000000
> --- a/BaseTools/Scripts/Rvct-Align32.sct
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
> -
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -REGION 0x220 RELOC {
> -  ER_RO +0 ALIGN 32 {
> -    * (+RO)
> -  }
> -  ER_RW +0 ALIGN 32 {
> -    * (+RW)
> -  }
> -  ER_ZI +0 {
> -    * (+ZI)
> -  }
> -}
> diff --git a/BaseTools/Scripts/Rvct-Align4K.sct
> b/BaseTools/Scripts/Rvct-Align4K.sct
> deleted file mode 100644
> index bf3738ac1cb4..000000000000
> --- a/BaseTools/Scripts/Rvct-Align4K.sct
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
> -
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -REGION 0x1000 RELOC {
> -  ER_RO +0 ALIGN 4096 {
> -    * (+RO)
> -  }
> -  ER_RW +0 ALIGN 4096 {
> -    * (+RW)
> -  }
> -  ER_ZI +0 {
> -    * (+ZI)
> -  }
> -}
> diff --git a/BaseTools/Source/C/Include/Common/BaseTypes.h
> b/BaseTools/Source/C/Include/Common/BaseTypes.h
> index 150980b4c0bf..e669da894c32 100644
> --- a/BaseTools/Source/C/Include/Common/BaseTypes.h
> +++ b/BaseTools/Source/C/Include/Common/BaseTypes.h
> @@ -57,15 +57,7 @@
>  #define NULL  ((VOID *) 0)
>  #endif
> 
> -#ifdef __CC_ARM
> -  //
> -  // Older RVCT ARM compilers don't fully support #pragma pack and
> require __packed
> -  // as a prefix for the structure.
> -  //
> -  #define PACKED  __packed
> -#else
> -  #define PACKED
> -#endif
> +#define PACKED
> 
>  //
>  //  Support for variable length argument lists using the ANSI standard.
> diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py
> b/BaseTools/Source/Python/AutoGen/BuildEngine.py
> index 722fead75af6..752a1a1f6a86 100644
> --- a/BaseTools/Source/Python/AutoGen/BuildEngine.py
> +++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py
> @@ -317,7 +317,7 @@ class BuildRule:
>      #   @param  LineIndex           The line number from which the
> parsing will begin
>      #   @param  SupportedFamily     The list of supported tool chain
> families
>      #
> -    def __init__(self, File=None, Content=None, LineIndex=0,
> SupportedFamily=[TAB_COMPILER_MSFT, "INTEL", "GCC", "RVCT"]):
> +    def __init__(self, File=None, Content=None, LineIndex=0,
> SupportedFamily=[TAB_COMPILER_MSFT, "INTEL", "GCC"]):
>          self.RuleFile = File
>          # Read build rules from file if it's not none
>          if File is not None:
> diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py
> b/BaseTools/Source/Python/AutoGen/GenMake.py
> index e55efff059f9..da406e6ff468 100755
> --- a/BaseTools/Source/Python/AutoGen/GenMake.py
> +++ b/BaseTools/Source/Python/AutoGen/GenMake.py
> @@ -166,7 +166,7 @@ class BuildFile(object):
>          GMAKE_FILETYPE :   "include"
>      }
> 
> -    _INC_FLAG_ = {TAB_COMPILER_MSFT : "/I", "GCC" : "-I", "INTEL" : "-I",
> "RVCT" : "-I", "NASM" : "-I"}
> +    _INC_FLAG_ = {TAB_COMPILER_MSFT : "/I", "GCC" : "-I", "INTEL" : "-I",
> "NASM" : "-I"}
> 
>      ## Constructor of BuildFile
>      #
> diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
> b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
> index 368a31047e82..d05410b32966 100755
> --- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
> @@ -32,7 +32,7 @@ import tempfile
>  ## Mapping Makefile type
>  gMakeTypeMap = {TAB_COMPILER_MSFT:"nmake", "GCC":"gmake"}
>  #
> -# Regular expression for finding Include Directories, the difference
between
> MSFT and INTEL/GCC/RVCT
> +# Regular expression for finding Include Directories, the difference
between
> MSFT and INTEL/GCC
>  # is the former use /I , the Latter used -I to specify include
directories
>  #
>  gBuildOptIncludePatternMsft = re.compile(r"(?:.*?)/I[ \t]*([^ ]*)",
> re.MULTILINE | re.DOTALL)
> @@ -684,12 +684,12 @@ class ModuleAutoGen(AutoGen):
>      @cached_property
>      def BuildOptionIncPathList(self):
>          #
> -        # Regular expression for finding Include Directories, the
difference
> between MSFT and INTEL/GCC/RVCT
> +        # Regular expression for finding Include Directories, the
difference
> between MSFT and INTEL/GCC
>          # is the former use /I , the Latter used -I to specify include
> directories
>          #
>          if self.PlatformInfo.ToolChainFamily in (TAB_COMPILER_MSFT):
>              BuildOptIncludeRegEx = gBuildOptIncludePatternMsft
> -        elif self.PlatformInfo.ToolChainFamily in ('INTEL', 'GCC',
'RVCT'):
> +        elif self.PlatformInfo.ToolChainFamily in ('INTEL', 'GCC'):
>              BuildOptIncludeRegEx = gBuildOptIncludePatternOther
>          else:
>              #
> @@ -704,16 +704,7 @@ class ModuleAutoGen(AutoGen):
>              except KeyError:
>                  FlagOption = ''
> 
> -            if self.ToolChainFamily != 'RVCT':
> -                IncPathList = [NormPath(Path, self.Macros) for Path in
> BuildOptIncludeRegEx.findall(FlagOption)]
> -            else:
> -                #
> -                # RVCT may specify a list of directory seperated by
> commas
> -                #
> -                IncPathList = []
> -                for Path in BuildOptIncludeRegEx.findall(FlagOption):
> -                    PathList = GetSplitList(Path, TAB_COMMA_SPLIT)
> -                    IncPathList.extend(NormPath(PathEntry,
> self.Macros) for PathEntry in PathList)
> +            IncPathList = [NormPath(Path, self.Macros) for Path in
> BuildOptIncludeRegEx.findall(FlagOption)]
> 
>              #
>              # EDK II modules must not reference header files outside of
> the packages they depend on or
> diff --git a/BaseTools/Source/Python/UPT/Library/DataType.py
> b/BaseTools/Source/Python/UPT/Library/DataType.py
> index bd216786a565..2033149aa6dc 100644
> --- a/BaseTools/Source/Python/UPT/Library/DataType.py
> +++ b/BaseTools/Source/Python/UPT/Library/DataType.py
> @@ -939,7 +939,6 @@
> MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF = 5014
>  TOOL_FAMILY_LIST = ["MSFT",
>                      "INTEL",
>                      "GCC",
> -                    "RVCT"
>                      ]
> 
>  TYPE_HOB_SECTION = 'HOB'
> --
> 2.35.3
> 
> 
> 
> 
> 




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 10/10] BaseTools: Remove RVCT support
  2022-05-03 18:48 ` [PATCH 10/10] BaseTools: " Rebecca Cran
  2022-05-05  1:27   ` 回复: [edk2-devel] " gaoliming
@ 2022-05-09  0:20   ` Bob Feng
  1 sibling, 0 replies; 18+ messages in thread
From: Bob Feng @ 2022-05-09  0:20 UTC (permalink / raw)
  To: Rebecca Cran, devel@edk2.groups.io, Leif Lindholm, Ard Biesheuvel,
	Sami Mujawar, Gerd Hoffmann, Gao, Liming, Chen, Christine,
	Yao, Jiewen, Wang, Jian J, Lu, Xiaoyu1, Jiang, Guomin,
	Chang, Abner, Schaefer, Daniel, Ni, Ray, Kinney, Michael D,
	Liu, Zhiguang, Maciej Rabeda, Wu, Jiaxin, Fu, Siyuan,
	Justen, Jordan L, Anthony Perard, Julien Grall

Reviewed-by: Bob Feng <bob.c.feng@intel.com>

-----Original Message-----
From: Rebecca Cran <quic_rcran@quicinc.com> 
Sent: Wednesday, May 4, 2022 2:48 AM
To: devel@edk2.groups.io; Leif Lindholm <quic_llindhol@quicinc.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; Sami Mujawar <sami.mujawar@arm.com>; Gerd Hoffmann <kraxel@redhat.com>; Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Lu, Xiaoyu1 <xiaoyu1.lu@intel.com>; Jiang, Guomin <guomin.jiang@intel.com>; Chang, Abner <abner.chang@hpe.com>; Schaefer, Daniel <daniel.schaefer@hpe.com>; Ni, Ray <ray.ni@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com>; Maciej Rabeda <maciej.rabeda@linux.intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>; Justen, Jordan L <jordan.l.justen@intel.com>; Anthony Perard <anthony.perard@citrix.com>; Julien Grall <julien@xen.org>
Cc: Rebecca Cran <quic_rcran@quicinc.com>
Subject: [PATCH 10/10] BaseTools: Remove RVCT support

RVCT is obsolete and no longer used.
Remove support for it.

Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com>
---
 BaseTools/Conf/build_rule.template               |  42 ++----
 BaseTools/Conf/tools_def.template                | 157 --------------------
 BaseTools/Scripts/Rvct-Align32.sct               |  19 ---
 BaseTools/Scripts/Rvct-Align4K.sct               |  19 ---
 BaseTools/Source/C/Include/Common/BaseTypes.h    |  10 +-
 BaseTools/Source/Python/AutoGen/BuildEngine.py   |   2 +-
 BaseTools/Source/Python/AutoGen/GenMake.py       |   2 +-
 BaseTools/Source/Python/AutoGen/ModuleAutoGen.py |  17 +--
 BaseTools/Source/Python/UPT/Library/DataType.py  |   1 -
 9 files changed, 16 insertions(+), 253 deletions(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index 435662351213..5895b48fd88d 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -128,8 +128,7 @@
     <Command.MSFT, Command.INTEL>
         "$(CC)" /Fo${dst} $(DEPS_FLAGS) $(CC_FLAGS) $(INC) ${src}
 
-    <Command.GCC, Command.RVCT>
-        # For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
+    <Command.GCC>
         "$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) -c -o ${dst} $(INC) ${src}
 
     <Command.XCODE>
@@ -145,7 +144,7 @@
     <OutputFile>
         $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
 
-    <Command.GCC, Command.RVCT>
+    <Command.GCC>
         "$(CC)" $(CC_FLAGS) $(CC_XIPFLAGS) -c -o ${dst} $(INC) ${src}
 
 [C-Header-File]
@@ -157,7 +156,7 @@
     <Command>
 
 [Assembly-Code-File.COMMON.COMMON]
-    <InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
+    <InputFile.MSFT, InputFile.INTEL>
         ?.asm, ?.Asm, ?.ASM
 
     <InputFile.GCC>
@@ -175,16 +174,15 @@
         Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}.iiii ${d_path}(+)${s_base}.ii
         "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iiii
 
-    <Command.GCC, Command.RVCT>
+    <Command.GCC>
         Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src}
         "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii
         Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iiii ${d_path}(+)${s_base}.ii
-        # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues
         "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iiii
 
 [Assembly-Code-File.COMMON.ARM,Assembly-Code-File.COMMON.AARCH64]
     # Remove --convert-hex for ARM as it breaks MSFT assemblers
-    <InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
+    <InputFile.MSFT, InputFile.INTEL>
         ?.asm, ?.Asm, ?.ASM
 
     <InputFile.GCC>
@@ -208,11 +206,10 @@
         Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iiii ${d_path}(+)${s_base}.ii
         "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iiii
 
-    <Command.GCC, Command.RVCT>
+    <Command.GCC>
         Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src}
         "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii
         Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iiii ${d_path}(+)${s_base}.ii
-        # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues
         "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iiii
 
 [Nasm-Assembly-Code-File.COMMON.COMMON]
@@ -276,13 +273,6 @@
         $(RM) ${dst}
         "$(SLINK)" cr ${dst} $(SLINK_FLAGS) @$(OBJECT_FILES_LIST)
     
-    <Command.RVCT>
-        "$(SLINK)" $(SLINK_FLAGS) ${dst} --via $(OBJECT_FILES_LIST)
-    
-    <Command.RVCTCYGWIN>
-        # $(OBJECT_FILES_LIST) has wrong paths for cygwin
-        "$(SLINK)" $(SLINK_FLAGS) ${dst} $(OBJECT_FILES)
-
     <Command.XCODE>
         "$(SLINK)" $(SLINK_FLAGS) ${dst} -filelist $(OBJECT_FILES_LIST)
 
@@ -307,13 +297,6 @@
         "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -Wl,--start-group,@$(STATIC_LIBRARY_FILES_LIST),--end-group $(CC_FLAGS) $(DLINK2_FLAGS)
         "$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}
 
-    <Command.RVCT>
-        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
-
-    <Command.RVCTCYGWIN>
-        #$(STATIC_LIBRARY_FILES_LIST) has wrong paths for cygwin
-        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) $(DLINK2_FLAGS)
-
     <Command.XCODE>
         "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) -filelist $(STATIC_LIBRARY_FILES_LIST)  $(DLINK2_FLAGS)
     
@@ -349,13 +332,6 @@
     <Command.GCC>
         "$(DLINK)" $(DLINK_FLAGS) -Wl,--start-group,@$(STATIC_LIBRARY_FILES_LIST),--end-group $(DLINK2_FLAGS)
 
-    <Command.RVCT>
-        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
-
-    <Command.RVCTCYGWIN>
-        #$(STATIC_LIBRARY_FILES_LIST) has the wrong paths for cygwin
-        "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) $(DLINK2_FLAGS)
-
     <Command.XCODE>
         "$(DLINK)" -o ${dst} $(DLINK_FLAGS)  $(DLINK_SPATH) -filelist $(STATIC_LIBRARY_FILES_LIST)  $(DLINK2_FLAGS)
       
@@ -369,7 +345,7 @@
         $(DEBUG_DIR)(+)$(MODULE_NAME).efi
         $(OUTPUT_DIR)(+)$(MODULE_NAME).map
 
-    <Command.MSFT, Command.INTEL, Command.RVCT, Command.CLANGPDB>
+    <Command.MSFT, Command.INTEL, Command.CLANGPDB>
         "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)
         $(CP) ${dst} $(DEBUG_DIR)
         $(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
@@ -661,7 +637,7 @@
     <OutputFile.MSFT, OutputFile.INTEL, OutputFile.GCC, OutputFile.CLANGPDB>
         $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.lib
 
-    <OutputFile.XCODE, OutputFile.RVCT>
+    <OutputFile.XCODE>
         $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
 
     <Command.MSFT, Command.INTEL, Command.CLANGPDB> @@ -671,5 +647,5 @@
     <Command.GCC>
         "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
         "$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc ${dst}
-    <Command.XCODE, Command.RVCT, Command.CLANGGCC>
+    <Command.XCODE, Command.CLANGGCC>
         "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 9c310cf23d25..5ed19810b727 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -333,24 +333,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
 #                               https://acpica.org/downloads
-#   RVCT        -win-   Requires:
-#                             ARM C/C++ Compiler, 5.00
-#                        Optional:
-#                             Required to build EBC drivers:
-#                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
-#                             Required to build platforms or ACPI tables:
-#                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
-#                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
-#                        Notes: Since this tool chain is obsolete, it doesn't enable the compiler option for included header file list generation,
-#                               and lose the incremental build capability.
-#   RVCTLINUX   -unix-   Requires:
-#                             ARM C/C++ Compiler, 5.00
-#                        Optional:
-#                             Required to build platforms or ACPI tables:
-#                               Intel(r) ACPI Compiler from
-#                               https://acpica.org/downloads
-#                        Notes: Since this tool chain is obsolete, it doesn't enable the compiler option for included header file list generation,
-#                               and lose the incremental build capability.
 # * Commented out - All versions of VS2005 use the same standard install directory  #  ####################################################################################
@@ -361,7 +343,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #   MSFT           - Microsoft
 #   GCC            - GNU GCC
 #   INTEL          - INTEL
-#   RVCT           - ARM RealView Toolchain
 ####################################################################################
 ####################################################################################
 #
@@ -3012,144 +2993,6 @@ RELEASE_XCODE5_X64_ASM_FLAGS  = -arch x86_64
   NOOPT_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c -g -gdwarf -O0       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
 RELEASE_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c    -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
 
-####################################################################################
-#
-# RVCT Common
-#
-####################################################################################
-
-DEFINE RVCT_ALL_ASM_FLAGS   = --diag_suppress=1786 --diag_error=warning --apcs /interwork
-DEFINE RVCT_ALL_CC_FLAGS    = --c90 --no_autoinline --asm --gnu --apcs /interwork --signed_chars --no_unaligned_access --split_sections --enum_is_int --preinclude AutoGen.h --diag_suppress=186,188,1,111,68 --diag_warning 167 --diag_error=warning --diag_style=ide --protect_stack
-DEFINE RVCT_ALL_DLINK_FLAGS = --no_scanlib --no_exceptions --datacompressor off --strict --symbols --diag_style=ide --no_legacyalign --scatter $(EDK_TOOLS_PATH)/Scripts/Rvct-Align32.sct
-
-####################################################################################
-#
-# ARM RealView Tools - Windows
-#
-####################################################################################
-#   RVCT         - Tools from ARM
-
-*_RVCT_*_*_FAMILY          = RVCT
-
-#
-# Use default values, or override in DSC file -#
-*_RVCT_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
-*_RVCT_ARM_ARCHASM_FLAGS   =
-*_RVCT_ARM_ARCHDLINK_FLAGS =
-*_RVCT_ARM_PLATFORM_FLAGS  = --cpu 7-A
-
-  DEBUG_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-RELEASE_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-
-
-*_RVCT_ARM_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
-*_RVCT_ARM_PP_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E --preinclude AutoGen.h
-*_RVCT_ARM_VFRPP_FLAGS     = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude $(MODULE_NAME)StrDefs.h
-*_RVCT_ARM_MAKE_PATH       = nmake /NOLOGO
-*_RVCT_ARM_SLINK_FLAGS     = --partial -o
-  DEBUG_RVCT_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g -RELEASE_RVCT_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
-
-##################
-# ARM definitions
-##################
-*_RVCT_ARM_CC_PATH         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCT_ARM_SLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCT_ARM_DLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCT_ARM_ASM_PATH        = ENV(RVCT_TOOLS_PATH)armasm
-*_RVCT_ARM_PP_PATH         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCT_ARM_VFRPP_PATH      = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCT_ARM_FROMELF_PATH    = ENV(RVCT_TOOLS_PATH)fromelf
-
-####################################################################################
-#
-# ARM RealView Tools - Linux
-#
-####################################################################################
-#   RVCTLINUX         - Tools from ARM in a Cygwin environment
-*_RVCTLINUX_*_*_FAMILY               = RVCT
-*_RVCTLINUX_*_*_BUILDRULEFAMILY      = RVCTLINUX
-
-*_RVCTLINUX_*_MAKE_PATH       = make
-
-#
-# Use default values, or override in DSC file -#
-*_RVCTLINUX_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
-*_RVCTLINUX_ARM_ARCHASM_FLAGS   =
-*_RVCTLINUX_ARM_ARCHDLINK_FLAGS =
-*_RVCTLINUX_ARM_PLATFORM_FLAGS  = --cpu 7-A
-
-DEBUG_RVCTLINUX_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-RELEASE_RVCTLINUX_ARM_DLINK_FLAGS   = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-
-*_RVCTLINUX_ARM_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
-*_RVCTLINUX_ARM_PP_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
-*_RVCTLINUX_ARM_VFRPP_FLAGS     = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude $(MODULE_NAME)StrDefs.h
-*_RVCTLINUX_ARM_SLINK_FLAGS     = --partial -o
-  DEBUG_RVCTLINUX_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g -RELEASE_RVCTLINUX_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
-
-##################
-# ARM definitions
-##################
-*_RVCTLINUX_ARM_CC_PATH         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTLINUX_ARM_SLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCTLINUX_ARM_DLINK_PATH      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCTLINUX_ARM_ASM_PATH        = ENV(RVCT_TOOLS_PATH)armasm
-*_RVCTLINUX_ARM_PP_PATH         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTLINUX_ARM_VFRPP_PATH      = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTLINUX_ARM_FROMELF_PATH    = ENV(RVCT_TOOLS_PATH)fromelf
-
-####################################################################################
-#
-# ARM RealView Tools - Cygwin
-#
-####################################################################################
-#   ARMCYGWIN         - Tools from ARM in a Cygwin environment
-
-*_RVCTCYGWIN_*_*_FAMILY               = RVCT
-*_RVCTCYGWIN_*_*_BUILDRULEFAMILY      = RVCTCYGWIN
-
-*_RVCTCYGWIN_ARM_CCPATH_FLAG         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTCYGWIN_ARM_SLINKPATH_FLAG      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCTCYGWIN_ARM_DLINKPATH_FLAG      = ENV(RVCT_TOOLS_PATH)armlink
-*_RVCTCYGWIN_ARM_ASMPATH_FLAG        = ENV(RVCT_TOOLS_PATH)armasm
-*_RVCTCYGWIN_ARM_PPPATH_FLAG         = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTCYGWIN_ARM_VFRPPPATH_FLAG      = ENV(RVCT_TOOLS_PATH)armcc
-*_RVCTCYGWIN_ARM_FROMELFPATH_FLAG    = ENV(RVCT_TOOLS_PATH)fromelf
-
-#
-# Use default values, or override in DSC file -#
-*_RVCTCYGWIN_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
-*_RVCTCYGWIN_ARM_ARCHASM_FLAGS   =
-*_RVCTCYGWIN_ARM_ARCHDLINK_FLAGS =
-*_RVCTCYGWIN_ARM_PLATFORM_FLAGS  = --cpu 7-A
-
-  DEBUG_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
-RELEASE_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
-
-*_RVCTCYGWIN_ARM_ASM_FLAGS       = "$(ASMPATH_FLAG)" $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
-*_RVCTCYGWIN_ARM_PP_FLAGS        = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
-*_RVCTCYGWIN_ARM_VFRPP_FLAGS     = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude `cygpath -m $(MODULE_NAME)StrDefs.h`
-*_RVCTCYGWIN_ARM_MAKE_PATH       = make
-*_RVCTCYGWIN_ARM_SLINK_FLAGS     = "$(SLINKPATH_FLAG)" --partial -o
-  DEBUG_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g -RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
-
-##################
-# ARM definitions
-##################
-*_RVCTCYGWIN_ARM_CC_PATH         = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_SLINK_PATH      = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_DLINK_PATH      = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_ASM_PATH        = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_PP_PATH         = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_VFRPP_PATH      = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-*_RVCTCYGWIN_ARM_FROMELF_PATH    = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
-
 #################
 # ASM 16 linker definitions
 #################
diff --git a/BaseTools/Scripts/Rvct-Align32.sct b/BaseTools/Scripts/Rvct-Align32.sct
deleted file mode 100644
index d0969a1a9633..000000000000
--- a/BaseTools/Scripts/Rvct-Align32.sct
+++ /dev/null
@@ -1,19 +0,0 @@
-/** @file
-
-  Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-REGION 0x220 RELOC {
-  ER_RO +0 ALIGN 32 {
-    * (+RO)
-  }
-  ER_RW +0 ALIGN 32 {
-    * (+RW)
-  }
-  ER_ZI +0 {
-    * (+ZI)
-  }
-}
diff --git a/BaseTools/Scripts/Rvct-Align4K.sct b/BaseTools/Scripts/Rvct-Align4K.sct
deleted file mode 100644
index bf3738ac1cb4..000000000000
--- a/BaseTools/Scripts/Rvct-Align4K.sct
+++ /dev/null
@@ -1,19 +0,0 @@
-/** @file
-
-  Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-REGION 0x1000 RELOC {
-  ER_RO +0 ALIGN 4096 {
-    * (+RO)
-  }
-  ER_RW +0 ALIGN 4096 {
-    * (+RW)
-  }
-  ER_ZI +0 {
-    * (+ZI)
-  }
-}
diff --git a/BaseTools/Source/C/Include/Common/BaseTypes.h b/BaseTools/Source/C/Include/Common/BaseTypes.h
index 150980b4c0bf..e669da894c32 100644
--- a/BaseTools/Source/C/Include/Common/BaseTypes.h
+++ b/BaseTools/Source/C/Include/Common/BaseTypes.h
@@ -57,15 +57,7 @@
 #define NULL  ((VOID *) 0)
 #endif
 
-#ifdef __CC_ARM
-  //
-  // Older RVCT ARM compilers don't fully support #pragma pack and require __packed
-  // as a prefix for the structure.
-  //
-  #define PACKED  __packed
-#else
-  #define PACKED
-#endif
+#define PACKED
 
 //
 //  Support for variable length argument lists using the ANSI standard.
diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py b/BaseTools/Source/Python/AutoGen/BuildEngine.py
index 722fead75af6..752a1a1f6a86 100644
--- a/BaseTools/Source/Python/AutoGen/BuildEngine.py
+++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py
@@ -317,7 +317,7 @@ class BuildRule:
     #   @param  LineIndex           The line number from which the parsing will begin
     #   @param  SupportedFamily     The list of supported tool chain families
     #
-    def __init__(self, File=None, Content=None, LineIndex=0, SupportedFamily=[TAB_COMPILER_MSFT, "INTEL", "GCC", "RVCT"]):
+    def __init__(self, File=None, Content=None, LineIndex=0, SupportedFamily=[TAB_COMPILER_MSFT, "INTEL", "GCC"]):
         self.RuleFile = File
         # Read build rules from file if it's not none
         if File is not None:
diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index e55efff059f9..da406e6ff468 100755
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -166,7 +166,7 @@ class BuildFile(object):
         GMAKE_FILETYPE :   "include"
     }
 
-    _INC_FLAG_ = {TAB_COMPILER_MSFT : "/I", "GCC" : "-I", "INTEL" : "-I", "RVCT" : "-I", "NASM" : "-I"}
+    _INC_FLAG_ = {TAB_COMPILER_MSFT : "/I", "GCC" : "-I", "INTEL" : 
+ "-I", "NASM" : "-I"}
 
     ## Constructor of BuildFile
     #
diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
index 368a31047e82..d05410b32966 100755
--- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
@@ -32,7 +32,7 @@ import tempfile
 ## Mapping Makefile type
 gMakeTypeMap = {TAB_COMPILER_MSFT:"nmake", "GCC":"gmake"}  # -# Regular expression for finding Include Directories, the difference between MSFT and INTEL/GCC/RVCT
+# Regular expression for finding Include Directories, the difference 
+between MSFT and INTEL/GCC
 # is the former use /I , the Latter used -I to specify include directories  #  gBuildOptIncludePatternMsft = re.compile(r"(?:.*?)/I[ \t]*([^ ]*)", re.MULTILINE | re.DOTALL) @@ -684,12 +684,12 @@ class ModuleAutoGen(AutoGen):
     @cached_property
     def BuildOptionIncPathList(self):
         #
-        # Regular expression for finding Include Directories, the difference between MSFT and INTEL/GCC/RVCT
+        # Regular expression for finding Include Directories, the 
+ difference between MSFT and INTEL/GCC
         # is the former use /I , the Latter used -I to specify include directories
         #
         if self.PlatformInfo.ToolChainFamily in (TAB_COMPILER_MSFT):
             BuildOptIncludeRegEx = gBuildOptIncludePatternMsft
-        elif self.PlatformInfo.ToolChainFamily in ('INTEL', 'GCC', 'RVCT'):
+        elif self.PlatformInfo.ToolChainFamily in ('INTEL', 'GCC'):
             BuildOptIncludeRegEx = gBuildOptIncludePatternOther
         else:
             #
@@ -704,16 +704,7 @@ class ModuleAutoGen(AutoGen):
             except KeyError:
                 FlagOption = ''
 
-            if self.ToolChainFamily != 'RVCT':
-                IncPathList = [NormPath(Path, self.Macros) for Path in BuildOptIncludeRegEx.findall(FlagOption)]
-            else:
-                #
-                # RVCT may specify a list of directory seperated by commas
-                #
-                IncPathList = []
-                for Path in BuildOptIncludeRegEx.findall(FlagOption):
-                    PathList = GetSplitList(Path, TAB_COMMA_SPLIT)
-                    IncPathList.extend(NormPath(PathEntry, self.Macros) for PathEntry in PathList)
+            IncPathList = [NormPath(Path, self.Macros) for Path in 
+ BuildOptIncludeRegEx.findall(FlagOption)]
 
             #
             # EDK II modules must not reference header files outside of the packages they depend on or diff --git a/BaseTools/Source/Python/UPT/Library/DataType.py b/BaseTools/Source/Python/UPT/Library/DataType.py
index bd216786a565..2033149aa6dc 100644
--- a/BaseTools/Source/Python/UPT/Library/DataType.py
+++ b/BaseTools/Source/Python/UPT/Library/DataType.py
@@ -939,7 +939,6 @@ MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF = 5014  TOOL_FAMILY_LIST = ["MSFT",
                     "INTEL",
                     "GCC",
-                    "RVCT"
                     ]
 
 TYPE_HOB_SECTION = 'HOB'
--
2.35.3


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 00/10] Multiple packages: Remove RVCT support
  2022-05-03 19:13 ` [PATCH 00/10] Multiple packages: " Ard Biesheuvel
  2022-05-04  9:00   ` [edk2-devel] " Leif Lindholm
@ 2022-05-11 17:36   ` Rebecca Cran
  2022-05-12  6:56     ` 回复: " gaoliming
       [not found]     ` <16EE493155EF5A09.4117@groups.io>
  1 sibling, 2 replies; 18+ messages in thread
From: Rebecca Cran @ 2022-05-11 17:36 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: edk2-devel-groups-io, Leif Lindholm, Ard Biesheuvel, Sami Mujawar,
	Gerd Hoffmann, Bob Feng, Liming Gao, Yuwei Chen, Jiewen Yao,
	Jian J Wang, Xiaoyu Lu, Guomin Jiang, Abner Chang,
	Daniel Schaefer, Ray Ni, Michael D Kinney, Zhiguang Liu,
	Maciej Rabeda, Jiaxin Wu, Siyuan Fu, Jordan Justen,
	Anthony Perard, Julien Grall

Could we get this pushed soon, so it's in plenty of time for the new 
stable tag?

-- 
Rebecca Cran

On 5/3/22 13:13, Ard Biesheuvel wrote:
> On Tue, 3 May 2022 at 20:48, Rebecca Cran <quic_rcran@quicinc.com> wrote:
>> RVCT is obsolete, no longer supported and only supports 32-bit systems.
>> Since it's no longer used, remove it.
>>
>> Personal PR: https://github.com/tianocore/edk2/pull/2833
>>
>> Rebecca Cran (10):
>>    ArmPkg: Remove RVCT support
>>    ArmPlatformPkg: Remove RVCT support
>>    CryptoPkg: Remove RVCT support
>>    MdePkg: Remove RVCT support
>>    FatPkg: Remove RVCT support
>>    NetworkPkg: Remove RVCT support
>>    ArmVirtPkg: Remove RVCT support
>>    EmbeddedPkg: Remove RVCT support
>>    OvmfPkg: Remove RVCT support
>>    BaseTools: Remove RVCT support
>>
> Thanks a lot for doing this.
>
> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
>
> Unless anyone objects, let's get this merged asap.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* 回复: [PATCH 00/10] Multiple packages: Remove RVCT support
  2022-05-11 17:36   ` Rebecca Cran
@ 2022-05-12  6:56     ` gaoliming
       [not found]     ` <16EE493155EF5A09.4117@groups.io>
  1 sibling, 0 replies; 18+ messages in thread
From: gaoliming @ 2022-05-12  6:56 UTC (permalink / raw)
  To: 'Rebecca Cran', 'Ard Biesheuvel'
  Cc: 'edk2-devel-groups-io', 'Leif Lindholm',
	'Ard Biesheuvel', 'Sami Mujawar',
	'Gerd Hoffmann', 'Bob Feng', 'Yuwei Chen',
	'Jiewen Yao', 'Jian J Wang', 'Xiaoyu Lu',
	'Guomin Jiang', 'Abner Chang',
	'Daniel Schaefer', 'Ray Ni',
	'Michael D Kinney', 'Zhiguang Liu',
	'Maciej Rabeda', 'Jiaxin Wu', 'Siyuan Fu',
	'Jordan Justen', 'Anthony Perard',
	'Julien Grall'

Yes. This patch has passed code review before soft feature freeze. So, it can be merged for this stable tag.

Thanks
Liming
> -----邮件原件-----
> 发件人: Rebecca Cran <quic_rcran@quicinc.com>
> 发送时间: 2022年5月12日 1:37
> 收件人: Ard Biesheuvel <ardb@kernel.org>
> 抄送: edk2-devel-groups-io <devel@edk2.groups.io>; Leif Lindholm
> <quic_llindhol@quicinc.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>;
> Sami Mujawar <sami.mujawar@arm.com>; Gerd Hoffmann
> <kraxel@redhat.com>; Bob Feng <bob.c.feng@intel.com>; Liming Gao
> <gaoliming@byosoft.com.cn>; Yuwei Chen <yuwei.chen@intel.com>; Jiewen
> Yao <jiewen.yao@intel.com>; Jian J Wang <jian.j.wang@intel.com>; Xiaoyu
> Lu <xiaoyu1.lu@intel.com>; Guomin Jiang <guomin.jiang@intel.com>; Abner
> Chang <abner.chang@hpe.com>; Daniel Schaefer
> <daniel.schaefer@hpe.com>; Ray Ni <ray.ni@intel.com>; Michael D Kinney
> <michael.d.kinney@intel.com>; Zhiguang Liu <zhiguang.liu@intel.com>;
> Maciej Rabeda <maciej.rabeda@linux.intel.com>; Jiaxin Wu
> <jiaxin.wu@intel.com>; Siyuan Fu <siyuan.fu@intel.com>; Jordan Justen
> <jordan.l.justen@intel.com>; Anthony Perard <anthony.perard@citrix.com>;
> Julien Grall <julien@xen.org>
> 主题: Re: [PATCH 00/10] Multiple packages: Remove RVCT support
> 
> Could we get this pushed soon, so it's in plenty of time for the new
> stable tag?
> 
> --
> Rebecca Cran
> 
> On 5/3/22 13:13, Ard Biesheuvel wrote:
> > On Tue, 3 May 2022 at 20:48, Rebecca Cran <quic_rcran@quicinc.com>
> wrote:
> >> RVCT is obsolete, no longer supported and only supports 32-bit systems.
> >> Since it's no longer used, remove it.
> >>
> >> Personal PR: https://github.com/tianocore/edk2/pull/2833
> >>
> >> Rebecca Cran (10):
> >>    ArmPkg: Remove RVCT support
> >>    ArmPlatformPkg: Remove RVCT support
> >>    CryptoPkg: Remove RVCT support
> >>    MdePkg: Remove RVCT support
> >>    FatPkg: Remove RVCT support
> >>    NetworkPkg: Remove RVCT support
> >>    ArmVirtPkg: Remove RVCT support
> >>    EmbeddedPkg: Remove RVCT support
> >>    OvmfPkg: Remove RVCT support
> >>    BaseTools: Remove RVCT support
> >>
> > Thanks a lot for doing this.
> >
> > Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
> >
> > Unless anyone objects, let's get this merged asap.




^ permalink raw reply	[flat|nested] 18+ messages in thread

* 回复: [edk2-devel] 回复: [PATCH 00/10] Multiple packages: Remove RVCT support
       [not found]     ` <16EE493155EF5A09.4117@groups.io>
@ 2022-05-14  1:10       ` gaoliming
  0 siblings, 0 replies; 18+ messages in thread
From: gaoliming @ 2022-05-14  1:10 UTC (permalink / raw)
  To: devel, gaoliming, 'Rebecca Cran',
	'Ard Biesheuvel'
  Cc: 'Leif Lindholm', 'Ard Biesheuvel',
	'Sami Mujawar', 'Gerd Hoffmann',
	'Bob Feng', 'Yuwei Chen', 'Jiewen Yao',
	'Jian J Wang', 'Xiaoyu Lu',
	'Guomin Jiang', 'Abner Chang',
	'Daniel Schaefer', 'Ray Ni',
	'Michael D Kinney', 'Zhiguang Liu',
	'Maciej Rabeda', 'Jiaxin Wu', 'Siyuan Fu',
	'Jordan Justen', 'Anthony Perard',
	'Julien Grall'

Merge it https://github.com/tianocore/edk2/pull/2887

Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 gaoliming
> 发送时间: 2022年5月12日 14:56
> 收件人: 'Rebecca Cran' <quic_rcran@quicinc.com>; 'Ard Biesheuvel'
> <ardb@kernel.org>
> 抄送: 'edk2-devel-groups-io' <devel@edk2.groups.io>; 'Leif Lindholm'
> <quic_llindhol@quicinc.com>; 'Ard Biesheuvel' <ardb+tianocore@kernel.org>;
> 'Sami Mujawar' <sami.mujawar@arm.com>; 'Gerd Hoffmann'
> <kraxel@redhat.com>; 'Bob Feng' <bob.c.feng@intel.com>; 'Yuwei Chen'
> <yuwei.chen@intel.com>; 'Jiewen Yao' <jiewen.yao@intel.com>; 'Jian J
> Wang' <jian.j.wang@intel.com>; 'Xiaoyu Lu' <xiaoyu1.lu@intel.com>;
> 'Guomin Jiang' <guomin.jiang@intel.com>; 'Abner Chang'
> <abner.chang@hpe.com>; 'Daniel Schaefer' <daniel.schaefer@hpe.com>;
> 'Ray Ni' <ray.ni@intel.com>; 'Michael D Kinney'
> <michael.d.kinney@intel.com>; 'Zhiguang Liu' <zhiguang.liu@intel.com>;
> 'Maciej Rabeda' <maciej.rabeda@linux.intel.com>; 'Jiaxin Wu'
> <jiaxin.wu@intel.com>; 'Siyuan Fu' <siyuan.fu@intel.com>; 'Jordan Justen'
> <jordan.l.justen@intel.com>; 'Anthony Perard' <anthony.perard@citrix.com>;
> 'Julien Grall' <julien@xen.org>
> 主题: [edk2-devel] 回复: [PATCH 00/10] Multiple packages: Remove RVCT
> support
> 
> Yes. This patch has passed code review before soft feature freeze. So, it can be
> merged for this stable tag.
> 
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: Rebecca Cran <quic_rcran@quicinc.com>
> > 发送时间: 2022年5月12日 1:37
> > 收件人: Ard Biesheuvel <ardb@kernel.org>
> > 抄送: edk2-devel-groups-io <devel@edk2.groups.io>; Leif Lindholm
> > <quic_llindhol@quicinc.com>; Ard Biesheuvel
> <ardb+tianocore@kernel.org>;
> > Sami Mujawar <sami.mujawar@arm.com>; Gerd Hoffmann
> > <kraxel@redhat.com>; Bob Feng <bob.c.feng@intel.com>; Liming Gao
> > <gaoliming@byosoft.com.cn>; Yuwei Chen <yuwei.chen@intel.com>;
> Jiewen
> > Yao <jiewen.yao@intel.com>; Jian J Wang <jian.j.wang@intel.com>; Xiaoyu
> > Lu <xiaoyu1.lu@intel.com>; Guomin Jiang <guomin.jiang@intel.com>;
> Abner
> > Chang <abner.chang@hpe.com>; Daniel Schaefer
> > <daniel.schaefer@hpe.com>; Ray Ni <ray.ni@intel.com>; Michael D Kinney
> > <michael.d.kinney@intel.com>; Zhiguang Liu <zhiguang.liu@intel.com>;
> > Maciej Rabeda <maciej.rabeda@linux.intel.com>; Jiaxin Wu
> > <jiaxin.wu@intel.com>; Siyuan Fu <siyuan.fu@intel.com>; Jordan Justen
> > <jordan.l.justen@intel.com>; Anthony Perard
> <anthony.perard@citrix.com>;
> > Julien Grall <julien@xen.org>
> > 主题: Re: [PATCH 00/10] Multiple packages: Remove RVCT support
> >
> > Could we get this pushed soon, so it's in plenty of time for the new
> > stable tag?
> >
> > --
> > Rebecca Cran
> >
> > On 5/3/22 13:13, Ard Biesheuvel wrote:
> > > On Tue, 3 May 2022 at 20:48, Rebecca Cran <quic_rcran@quicinc.com>
> > wrote:
> > >> RVCT is obsolete, no longer supported and only supports 32-bit systems.
> > >> Since it's no longer used, remove it.
> > >>
> > >> Personal PR: https://github.com/tianocore/edk2/pull/2833
> > >>
> > >> Rebecca Cran (10):
> > >>    ArmPkg: Remove RVCT support
> > >>    ArmPlatformPkg: Remove RVCT support
> > >>    CryptoPkg: Remove RVCT support
> > >>    MdePkg: Remove RVCT support
> > >>    FatPkg: Remove RVCT support
> > >>    NetworkPkg: Remove RVCT support
> > >>    ArmVirtPkg: Remove RVCT support
> > >>    EmbeddedPkg: Remove RVCT support
> > >>    OvmfPkg: Remove RVCT support
> > >>    BaseTools: Remove RVCT support
> > >>
> > > Thanks a lot for doing this.
> > >
> > > Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
> > >
> > > Unless anyone objects, let's get this merged asap.
> 
> 
> 
> 
> 
> 
> 




^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-05-14  1:10 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-03 18:48 [PATCH 00/10] Multiple packages: Remove RVCT support Rebecca Cran
2022-05-03 18:48 ` [PATCH 01/10] ArmPkg: " Rebecca Cran
2022-05-03 18:48 ` [PATCH 02/10] ArmPlatformPkg: " Rebecca Cran
2022-05-03 18:48 ` [PATCH 03/10] CryptoPkg: " Rebecca Cran
2022-05-03 18:48 ` [PATCH 04/10] MdePkg: " Rebecca Cran
2022-05-03 18:48 ` [PATCH 05/10] FatPkg: " Rebecca Cran
2022-05-03 18:48 ` [PATCH 06/10] NetworkPkg: " Rebecca Cran
2022-05-03 18:48 ` [PATCH 07/10] ArmVirtPkg: " Rebecca Cran
2022-05-03 18:48 ` [PATCH 08/10] EmbeddedPkg: " Rebecca Cran
2022-05-03 18:48 ` [PATCH 09/10] OvmfPkg: " Rebecca Cran
2022-05-03 18:48 ` [PATCH 10/10] BaseTools: " Rebecca Cran
2022-05-05  1:27   ` 回复: [edk2-devel] " gaoliming
2022-05-09  0:20   ` Bob Feng
2022-05-03 19:13 ` [PATCH 00/10] Multiple packages: " Ard Biesheuvel
2022-05-04  9:00   ` [edk2-devel] " Leif Lindholm
2022-05-11 17:36   ` Rebecca Cran
2022-05-12  6:56     ` 回复: " gaoliming
     [not found]     ` <16EE493155EF5A09.4117@groups.io>
2022-05-14  1:10       ` 回复: [edk2-devel] " gaoliming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox