On Wed, Aug 19, 2015 at 11:51:46AM +0200, Ard Biesheuvel wrote:
> No platforms use the ARMv6 (ARM11) support code anymore. In fact, the
> only reference to it in ArmPkg.dsc was commented out by Andrew in SVN
> r11298 (2011-02-03) so it may well be broken. So remove it.

48h have passed.
Reviewed-by: Leif Lindholm <[email protected]>

> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ard Biesheuvel <[email protected]>
> ---
> v2: remove more outdated '#ifdef ARM_CPU_ARMv6' from ArmLib
> 
>  ArmPkg/ArmPkg.dsc                                          |   4 -
>  ArmPkg/Drivers/ArmCpuLib/Arm11MpCoreLib/Arm11Lib.c         |  37 ---
>  ArmPkg/Drivers/ArmCpuLib/Arm11MpCoreLib/Arm11MpCoreLib.inf |  32 ---
>  ArmPkg/Include/Library/ArmLib.h                            |   6 +-
>  ArmPkg/Library/ArmLib/Arm11/Arm11Lib.c                     |  49 ----
>  ArmPkg/Library/ArmLib/Arm11/Arm11Lib.inf                   |  50 ----
>  ArmPkg/Library/ArmLib/Arm11/Arm11LibMem.c                  | 135 ----------
>  ArmPkg/Library/ArmLib/Arm11/Arm11LibPrePi.inf              |  50 ----
>  ArmPkg/Library/ArmLib/Arm11/Arm11LibSec.inf                |  46 ----
>  ArmPkg/Library/ArmLib/Arm11/Arm11Support.S                 | 257 
> --------------------
>  ArmPkg/Library/ArmLib/Arm11/Arm11Support.asm               | 157 ------------
>  ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.S           |   6 -
>  ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm         |   6 -
>  13 files changed, 1 insertion(+), 834 deletions(-)
> 
> diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc
> index 10e8a1a83d46..1237eed65953 100644
> --- a/ArmPkg/ArmPkg.dsc
> +++ b/ArmPkg/ArmPkg.dsc
> @@ -152,10 +152,6 @@ [Components.ARM]
>    ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf
>    ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf
>  
> -#  ArmPkg/Library/ArmLib/Arm11/Arm11ArmLib.inf
> -#  ArmPkg/Library/ArmLib/Arm11/Arm11ArmLibPrePi.inf
> -#  ArmPkg/Library/ArmLib/Arm9/Arm9ArmLib.inf
> -#  ArmPkg/Library/ArmLib/Arm9/Arm9ArmLibPrePi.inf
>    ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf
>    ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
>  
> diff --git a/ArmPkg/Drivers/ArmCpuLib/Arm11MpCoreLib/Arm11Lib.c 
> b/ArmPkg/Drivers/ArmCpuLib/Arm11MpCoreLib/Arm11Lib.c
> deleted file mode 100644
> index a08b7b1aee3f..000000000000
> --- a/ArmPkg/Drivers/ArmCpuLib/Arm11MpCoreLib/Arm11Lib.c
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2011-2012, ARM Limited. All rights reserved.
> -
> -  This program and the accompanying materials
> -  are licensed and made available under the terms and conditions of the BSD 
> License
> -  which accompanies this distribution.  The full text of the license may be 
> found at
> -  http://opensource.org/licenses/bsd-license.php
> -
> -  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -
> -**/
> -
> -#include <Base.h>
> -#include <Library/ArmLib.h>
> -#include <Library/ArmCpuLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/PcdLib.h>
> -
> -VOID
> -ArmCpuSetup (
> -  IN  UINTN         MpId
> -  )
> -{
> -  ASSERT(0); //TODO: Implement me
> -}
> -
> -
> -VOID
> -ArmCpuSetupSmpNonSecure (
> -  IN  UINTN         MpId
> -  )
> -{
> -  ASSERT(0); //TODO: Implement me
> -}
> -
> diff --git a/ArmPkg/Drivers/ArmCpuLib/Arm11MpCoreLib/Arm11MpCoreLib.inf 
> b/ArmPkg/Drivers/ArmCpuLib/Arm11MpCoreLib/Arm11MpCoreLib.inf
> deleted file mode 100644
> index 3a796c19d0cc..000000000000
> --- a/ArmPkg/Drivers/ArmCpuLib/Arm11MpCoreLib/Arm11MpCoreLib.inf
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -#/* @file
> -#  Copyright (c) 2011-2012, ARM Limited. All rights reserved.
> -#
> -#  This program and the accompanying materials
> -#  are licensed and made available under the terms and conditions of the BSD 
> License
> -#  which accompanies this distribution.  The full text of the license may be 
> found at
> -#  http://opensource.org/licenses/bsd-license.php
> -#
> -#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -#
> -#*/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = Arm11MpCoreLib
> -  FILE_GUID                      = dc8a69e0-6be0-469c-94d3-5e6d71aa9808
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = ArmCpuLib
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  ArmPkg/ArmPkg.dec
> -
> -[LibraryClasses]
> -  ArmLib
> -  IoLib
> -  PcdLib
> -
> -[Sources.common]
> -  Arm11Lib.c
> diff --git a/ArmPkg/Include/Library/ArmLib.h b/ArmPkg/Include/Library/ArmLib.h
> index 9effb3eea9bf..c83a5a7f1b3c 100644
> --- a/ArmPkg/Include/Library/ArmLib.h
> +++ b/ArmPkg/Include/Library/ArmLib.h
> @@ -19,11 +19,7 @@
>  #include <Uefi/UefiBaseType.h>
>  
>  #ifdef MDE_CPU_ARM
> -  #ifdef ARM_CPU_ARMv6
> -    #include <Chipset/ARM1176JZ-S.h>
> -  #else
> -    #include <Chipset/ArmV7.h>
> -  #endif
> +  #include <Chipset/ArmV7.h>
>  #elif defined(MDE_CPU_AARCH64)
>    #include <Chipset/AArch64.h>
>  #else
> diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11Lib.c 
> b/ArmPkg/Library/ArmLib/Arm11/Arm11Lib.c
> deleted file mode 100644
> index 8c54b6cc8fd5..000000000000
> --- a/ArmPkg/Library/ArmLib/Arm11/Arm11Lib.c
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> -  Copyright (c) 2011 - 2014, ARM Limited. All rights reserved.
> -
> -  This program and the accompanying materials
> -  are licensed and made available under the terms and conditions of the BSD 
> License
> -  which accompanies this distribution.  The full text of the license may be 
> found at
> -  http://opensource.org/licenses/bsd-license.php
> -
> -  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -
> -**/
> -
> -#include <Chipset/ARM1176JZ-S.h>
> -
> -#include <Library/ArmLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/PcdLib.h>
> -
> -VOID
> -EFIAPI
> -ArmWriteVBar (
> -  IN  UINTN   VectorBase
> -  )
> -{
> -  ASSERT(FeaturePcdGet (PcdRelocateVectorTable) == TRUE);
> -
> -  if (VectorBase == 0x0) {
> -    ArmSetLowVectors ();
> -  } else if (VectorBase == 0xFFFF0000) {
> -    ArmSetHighVectors ();
> -  } else {
> -    // Feature not supported by ARM11. The Vector Table is either at 0x0 or 
> 0xFFFF0000
> -    ASSERT(0);
> -  }
> -}
> -
> -UINTN
> -EFIAPI
> -ArmReadVBar (
> -  VOID
> -  )
> -{
> -  ASSERT((FeaturePcdGet (PcdRelocateVectorTable) == TRUE) && ((PcdGet32 
> (PcdCpuVectorBaseAddress) == 0x0) || (PcdGet32 (PcdCpuVectorBaseAddress) == 
> 0xFFFF0000)));
> -  return PcdGet32 (PcdCpuVectorBaseAddress);
> -}
> -
> diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11Lib.inf 
> b/ArmPkg/Library/ArmLib/Arm11/Arm11Lib.inf
> deleted file mode 100644
> index 6ac74d985c78..000000000000
> --- a/ArmPkg/Library/ArmLib/Arm11/Arm11Lib.inf
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -#/** @file
> -# Semihosting  serail port lib
> -#
> -# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
> -#
> -#  This program and the accompanying materials
> -#  are licensed and made available under the terms and conditions of the BSD 
> License
> -#  which accompanies this distribution. The full text of the license may be 
> found at
> -#  http://opensource.org/licenses/bsd-license.php
> -#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = Arm11ArmLib
> -  FILE_GUID                      = 00586300-0E06-4790-AC44-86C56ACBB942
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = ArmLib
> -
> -[Sources.common]
> -  ../Common/Arm/ArmLibSupport.S    | GCC
> -  ../Common/Arm/ArmLibSupport.asm  | RVCT
> -  ../Common/ArmLib.c
> -
> -  Arm11Support.S    | GCC
> -  Arm11Support.asm  | RVCT
> -
> -  Arm11Lib.c
> -  Arm11LibMem.c
> -  ../Arm9/Arm9CacheInformation.c
> -
> -[Packages]
> -  ArmPkg/ArmPkg.dec
> -  MdePkg/MdePkg.dec
> -
> -[LibraryClasses]
> -  MemoryAllocationLib
> -
> -[Protocols]
> -  gEfiCpuArchProtocolGuid
> -
> -[FeaturePcd]
> -  gArmTokenSpaceGuid.PcdRelocateVectorTable
> -
> -[FixedPcd]
> -  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress
> diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11LibMem.c 
> b/ArmPkg/Library/ArmLib/Arm11/Arm11LibMem.c
> deleted file mode 100644
> index 0f898015251d..000000000000
> --- a/ArmPkg/Library/ArmLib/Arm11/Arm11LibMem.c
> +++ /dev/null
> @@ -1,135 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> -  Copyright (c) 2011 - 2013, ARM Limited. All rights reserved.
> -
> -  This program and the accompanying materials
> -  are licensed and made available under the terms and conditions of the BSD 
> License
> -  which accompanies this distribution.  The full text of the license may be 
> found at
> -  http://opensource.org/licenses/bsd-license.php
> -
> -  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -
> -**/
> -
> -#include <Chipset/ARM1176JZ-S.h>
> -#include <Library/ArmLib.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -
> -VOID
> -FillTranslationTable (
> -  IN  UINT32                        *TranslationTable,
> -  IN  ARM_MEMORY_REGION_DESCRIPTOR  *MemoryRegion
> -  )
> -{
> -  UINT32  *Entry;
> -  UINTN   Sections;
> -  UINTN   Index;
> -  UINT32  Attributes;
> -  UINT32  PhysicalBase = MemoryRegion->PhysicalBase;
> -
> -  switch (MemoryRegion->Attributes) {
> -    case ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK:
> -      Attributes = TT_DESCRIPTOR_SECTION_WRITE_BACK(0);
> -      break;
> -    case ARM_MEMORY_REGION_ATTRIBUTE_WRITE_THROUGH:
> -      Attributes = TT_DESCRIPTOR_SECTION_WRITE_THROUGH(0);
> -      break;
> -    case ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED:
> -      Attributes = TT_DESCRIPTOR_SECTION_UNCACHED(0);
> -      break;
> -    case ARM_MEMORY_REGION_ATTRIBUTE_NONSECURE_WRITE_BACK:
> -      Attributes = TT_DESCRIPTOR_SECTION_WRITE_BACK(1);
> -      break;
> -    case ARM_MEMORY_REGION_ATTRIBUTE_NONSECURE_WRITE_THROUGH:
> -      Attributes = TT_DESCRIPTOR_SECTION_WRITE_THROUGH(1);
> -      break;
> -    case ARM_MEMORY_REGION_ATTRIBUTE_NONSECURE_UNCACHED_UNBUFFERED:
> -      Attributes = TT_DESCRIPTOR_SECTION_UNCACHED(1);
> -      break;
> -    default:
> -      Attributes = TT_DESCRIPTOR_SECTION_UNCACHED(0);
> -      break;
> -  }
> -
> -  Entry    = TRANSLATION_TABLE_ENTRY_FOR_VIRTUAL_ADDRESS(TranslationTable, 
> MemoryRegion->VirtualBase);
> -  Sections = ((( MemoryRegion->Length - 1 ) / TT_DESCRIPTOR_SECTION_SIZE ) + 
> 1 );
> -
> -  for (Index = 0; Index < Sections; Index++)
> -  {
> -    *Entry++     =  TT_DESCRIPTOR_SECTION_BASE_ADDRESS(PhysicalBase) | 
> Attributes;
> -    PhysicalBase += TT_DESCRIPTOR_SECTION_SIZE;
> -  }
> -}
> -
> -RETURN_STATUS
> -EFIAPI
> -ArmConfigureMmu (
> -  IN  ARM_MEMORY_REGION_DESCRIPTOR  *MemoryTable,
> -  OUT VOID                         **TranslationTableBase OPTIONAL,
> -  OUT UINTN                         *TranslationTableSize OPTIONAL
> -  )
> -{
> -  VOID  *TranslationTable;
> -
> -  // Allocate pages for translation table.
> -  TranslationTable = AllocatePages (EFI_SIZE_TO_PAGES 
> (TRANSLATION_TABLE_SIZE + TRANSLATION_TABLE_ALIGNMENT));
> -  if (TranslationTable == NULL) {
> -    return RETURN_OUT_OF_RESOURCES;
> -  }
> -  TranslationTable = (VOID *)(((UINTN)TranslationTable + 
> TRANSLATION_TABLE_ALIGNMENT_MASK) & ~TRANSLATION_TABLE_ALIGNMENT_MASK);
> -
> -  if (TranslationTableBase != NULL) {
> -    *TranslationTableBase = TranslationTable;
> -  }
> -
> -  if (TranslationTableBase != NULL) {
> -    *TranslationTableSize = TRANSLATION_TABLE_SIZE;
> -  }
> -
> -  ZeroMem(TranslationTable, TRANSLATION_TABLE_SIZE);
> -
> -  ArmCleanInvalidateDataCache();
> -  ArmInvalidateInstructionCache();
> -  ArmInvalidateTlb();
> -
> -  ArmDisableDataCache();
> -  ArmDisableInstructionCache();
> -  ArmDisableMmu();
> -
> -  // Make sure nothing sneaked into the cache
> -  ArmCleanInvalidateDataCache();
> -  ArmInvalidateInstructionCache();
> -
> -  while (MemoryTable->Length != 0) {
> -    FillTranslationTable(TranslationTable, MemoryTable);
> -    MemoryTable++;
> -  }
> -
> -  ArmSetTTBR0(TranslationTable);
> -
> -  ArmSetDomainAccessControl(DOMAIN_ACCESS_CONTROL_NONE(15) |
> -                            DOMAIN_ACCESS_CONTROL_NONE(14) |
> -                            DOMAIN_ACCESS_CONTROL_NONE(13) |
> -                            DOMAIN_ACCESS_CONTROL_NONE(12) |
> -                            DOMAIN_ACCESS_CONTROL_NONE(11) |
> -                            DOMAIN_ACCESS_CONTROL_NONE(10) |
> -                            DOMAIN_ACCESS_CONTROL_NONE( 9) |
> -                            DOMAIN_ACCESS_CONTROL_NONE( 8) |
> -                            DOMAIN_ACCESS_CONTROL_NONE( 7) |
> -                            DOMAIN_ACCESS_CONTROL_NONE( 6) |
> -                            DOMAIN_ACCESS_CONTROL_NONE( 5) |
> -                            DOMAIN_ACCESS_CONTROL_NONE( 4) |
> -                            DOMAIN_ACCESS_CONTROL_NONE( 3) |
> -                            DOMAIN_ACCESS_CONTROL_NONE( 2) |
> -                            DOMAIN_ACCESS_CONTROL_NONE( 1) |
> -                            DOMAIN_ACCESS_CONTROL_MANAGER(0));
> -
> -  ArmEnableInstructionCache();
> -  ArmEnableDataCache();
> -  ArmEnableMmu();
> -
> -  return RETURN_SUCCESS;
> -}
> diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11LibPrePi.inf 
> b/ArmPkg/Library/ArmLib/Arm11/Arm11LibPrePi.inf
> deleted file mode 100644
> index 239493d3e60d..000000000000
> --- a/ArmPkg/Library/ArmLib/Arm11/Arm11LibPrePi.inf
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -#/** @file
> -# Semihosting  serail port lib
> -#
> -# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
> -#
> -#  This program and the accompanying materials
> -#  are licensed and made available under the terms and conditions of the BSD 
> License
> -#  which accompanies this distribution. The full text of the license may be 
> found at
> -#  http://opensource.org/licenses/bsd-license.php
> -#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = Arm11ArmLib
> -  FILE_GUID                      = 8dfb4ea2-3901-44f9-ae54-ca3d50362d2f
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = ArmLib
> -
> -[Sources.common]
> -  ../Common/Arm/ArmLibSupport.S    | GCC
> -  ../Common/Arm/ArmLibSupport.asm  | RVCT
> -  ../Common/ArmLib.c
> -
> -  Arm11Support.S    | GCC
> -  Arm11Support.asm  | RVCT
> -
> -  Arm11Lib.c
> -  Arm11LibMem.c
> -  ../Arm9/Arm9CacheInformation.c
> -
> -[Packages]
> -  ArmPkg/ArmPkg.dec
> -  MdePkg/MdePkg.dec
> -
> -[LibraryClasses]
> -  PrePiLib
> -
> -[Protocols]
> -  gEfiCpuArchProtocolGuid
> -
> -[FeaturePcd]
> -  gArmTokenSpaceGuid.PcdRelocateVectorTable
> -
> -[FixedPcd]
> -  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress
> diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11LibSec.inf 
> b/ArmPkg/Library/ArmLib/Arm11/Arm11LibSec.inf
> deleted file mode 100644
> index ef3c8f8f72a4..000000000000
> --- a/ArmPkg/Library/ArmLib/Arm11/Arm11LibSec.inf
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -#/** @file
> -# Semihosting  serail port lib
> -#
> -# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
> -#
> -#  This program and the accompanying materials
> -#  are licensed and made available under the terms and conditions of the BSD 
> License
> -#  which accompanies this distribution. The full text of the license may be 
> found at
> -#  http://opensource.org/licenses/bsd-license.php
> -#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = Arm11LibSec
> -  FILE_GUID                      = bfecdbc7-a860-4993-bc09-8e3ea762a758
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = ArmLib
> -
> -[Sources.common]
> -  ../Common/Arm/ArmLibSupport.S    | GCC
> -  ../Common/Arm/ArmLibSupport.asm  | RVCT
> -  ../Common/ArmLib.c
> -
> -  Arm11Support.S    | GCC
> -  Arm11Support.asm  | RVCT
> -
> -  Arm11Lib.c
> -  ../Arm9/Arm9CacheInformation.c
> -
> -[Packages]
> -  ArmPkg/ArmPkg.dec
> -  MdePkg/MdePkg.dec
> -
> -[Protocols]
> -  gEfiCpuArchProtocolGuid
> -
> -[FeaturePcd]
> -  gArmTokenSpaceGuid.PcdRelocateVectorTable
> -
> -[FixedPcd]
> -  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress
> diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S 
> b/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S
> deleted file mode 100644
> index 25612f35ec63..000000000000
> --- a/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S
> +++ /dev/null
> @@ -1,257 +0,0 @@
> -#------------------------------------------------------------------------------
> -#
> -# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> -# Copyright (c) 2011, ARM Limited. All rights reserved.
> -#
> -# This program and the accompanying materials
> -# are licensed and made available under the terms and conditions of the BSD 
> License
> -# which accompanies this distribution.  The full text of the license may be 
> found at
> -# http://opensource.org/licenses/bsd-license.php
> -#
> -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -#
> -#------------------------------------------------------------------------------
> -
> -#include <AsmMacroIoLib.h>
> -
> -.text
> -.align 2
> -GCC_ASM_EXPORT(ArmDisableCachesAndMmu)
> -GCC_ASM_EXPORT(ArmCleanInvalidateDataCache)
> -GCC_ASM_EXPORT(ArmCleanDataCache)
> -GCC_ASM_EXPORT(ArmInvalidateDataCache)
> -GCC_ASM_EXPORT(ArmInvalidateInstructionCache)
> -GCC_ASM_EXPORT(ArmInvalidateDataCacheEntryByMVA)
> -GCC_ASM_EXPORT(ArmCleanDataCacheEntryByMVA)
> -GCC_ASM_EXPORT(ArmCleanInvalidateDataCacheEntryByMVA)
> -GCC_ASM_EXPORT(ArmEnableMmu)
> -GCC_ASM_EXPORT(ArmDisableMmu)
> -GCC_ASM_EXPORT(ArmMmuEnabled)
> -GCC_ASM_EXPORT(ArmEnableDataCache)
> -GCC_ASM_EXPORT(ArmDisableDataCache)
> -GCC_ASM_EXPORT(ArmEnableInstructionCache)
> -GCC_ASM_EXPORT(ArmDisableInstructionCache)
> -GCC_ASM_EXPORT(ArmEnableBranchPrediction)
> -GCC_ASM_EXPORT(ArmDisableBranchPrediction)
> -GCC_ASM_EXPORT(ArmDataMemoryBarrier)
> -GCC_ASM_EXPORT(ArmDataSyncronizationBarrier)
> -GCC_ASM_EXPORT(ArmInstructionSynchronizationBarrier)
> -GCC_ASM_EXPORT(ArmSetLowVectors)
> -GCC_ASM_EXPORT(ArmSetHighVectors)
> -GCC_ASM_EXPORT(ArmIsMpCore)
> -GCC_ASM_EXPORT(ArmCallWFI)
> -GCC_ASM_EXPORT(ArmReadMpidr)
> -GCC_ASM_EXPORT(ArmUpdateTranslationTableEntry)
> -GCC_ASM_EXPORT(ArmEnableFiq)
> -GCC_ASM_EXPORT(ArmDisableFiq)
> -GCC_ASM_EXPORT(ArmEnableInterrupts)
> -GCC_ASM_EXPORT(ArmDisableInterrupts)
> -GCC_ASM_EXPORT (ArmEnableVFP)
> -
> -Arm11PartNumberMask:  .word       0xFFF0
> -Arm11PartNumber:      .word       0xB020
> -
> -.set DC_ON, (0x1<<2)
> -.set IC_ON, (0x1<<12)
> -.set XP_ON, (0x1<<23)
> -.set CTRL_M_BIT,  (1 << 0)
> -.set CTRL_C_BIT,  (1 << 2)
> -.set CTRL_I_BIT,  (1 << 12)
> -
> -ASM_PFX(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
> -  bx      LR
> -
> -ASM_PFX(ArmInvalidateDataCacheEntryByMVA):
> -  mcr     p15, 0, r0, c7, c6, 1   @invalidate single data cache line
> -  bx      lr
> -
> -
> -ASM_PFX(ArmCleanDataCacheEntryByMVA):
> -  mcr     p15, 0, r0, c7, c10, 1  @clean single data cache line
> -  bx      lr
> -
> -
> -ASM_PFX(ArmCleanInvalidateDataCacheEntryByMVA):
> -  mcr     p15, 0, r0, c7, c14, 1  @clean and invalidate single data cache 
> line
> -  bx      lr
> -
> -
> -ASM_PFX(ArmCleanDataCache):
> -  mcr     p15, 0, r0, c7, c10, 0  @ clean entire data cache
> -  bx      lr
> -
> -
> -ASM_PFX(ArmCleanInvalidateDataCache):
> -  mcr     p15, 0, r0, c7, c14, 0  @ clean and invalidate entire data cache
> -  bx      lr
> -
> -
> -ASM_PFX(ArmInvalidateDataCache):
> -  mcr     p15, 0, r0, c7, c6, 0  @ invalidate entire data cache
> -  bx      lr
> -
> -
> -ASM_PFX(ArmInvalidateInstructionCache):
> -  mcr     p15, 0, r0, c7, c5, 0  @invalidate entire instruction cache
> -  mov     R0,#0
> -  mcr     p15,0,R0,c7,c5,4       @Flush Prefetch buffer
> -  bx      lr
> -
> -ASM_PFX(ArmEnableMmu):
> -  mrc     p15,0,R0,c1,c0,0
> -  orr     R0,R0,#1
> -  mcr     p15,0,R0,c1,c0,0
> -  bx      LR
> -
> -ASM_PFX(ArmMmuEnabled):
> -  mrc     p15,0,R0,c1,c0,0
> -  and     R0,R0,#1
> -  bx      LR
> -
> -ASM_PFX(ArmDisableMmu):
> -  mrc     p15,0,R0,c1,c0,0
> -  bic     R0,R0,#1
> -  mcr     p15,0,R0,c1,c0,0
> -  mov     R0,#0
> -  mcr     p15,0,R0,c7,c10,4     @Data synchronization barrier
> -  mov     R0,#0
> -  mcr     p15,0,R0,c7,c5,4      @Flush Prefetch buffer
> -  bx      LR
> -
> -ASM_PFX(ArmEnableDataCache):
> -  LoadConstantToReg(DC_ON, R1)  @ldr     R1,=DC_ON
> -  mrc     p15,0,R0,c1,c0,0      @Read control register configuration data
> -  orr     R0,R0,R1              @Set C bit
> -  mcr     p15,0,r0,c1,c0,0      @Write control register configuration data
> -  bx      LR
> -
> -ASM_PFX(ArmDisableDataCache):
> -  LoadConstantToReg(DC_ON, R1)  @ldr     R1,=DC_ON
> -  mrc     p15,0,R0,c1,c0,0      @Read control register configuration data
> -  bic     R0,R0,R1              @Clear C bit
> -  mcr     p15,0,r0,c1,c0,0      @Write control register configuration data
> -  bx      LR
> -
> -ASM_PFX(ArmEnableInstructionCache):
> -  ldr     R1,=IC_ON
> -  mrc     p15,0,R0,c1,c0,0     @Read control register configuration data
> -  orr     R0,R0,R1             @Set I bit
> -  mcr     p15,0,r0,c1,c0,0     @Write control register configuration data
> -  bx      LR
> -
> -ASM_PFX(ArmDisableInstructionCache):
> -  ldr     R1,=IC_ON
> -  mrc     p15,0,R0,c1,c0,0     @Read control register configuration data
> -  bic     R0,R0,R1             @Clear I bit.
> -  mcr     p15,0,r0,c1,c0,0     @Write control register configuration data
> -  bx      LR
> -
> -ASM_PFX(ArmEnableBranchPrediction):
> -  mrc     p15, 0, r0, c1, c0, 0
> -  orr     r0, r0, #0x00000800
> -  mcr     p15, 0, r0, c1, c0, 0
> -  bx      LR
> -
> -ASM_PFX(ArmDisableBranchPrediction):
> -  mrc     p15, 0, r0, c1, c0, 0
> -  bic     r0, r0, #0x00000800
> -  mcr     p15, 0, r0, c1, c0, 0
> -  bx      LR
> -
> -ASM_PFX(ArmDataMemoryBarrier):
> -  mov R0, #0
> -  mcr P15, #0, R0, C7, C10, #5
> -  bx      LR
> -
> -ASM_PFX(ArmDataSyncronizationBarrier):
> -  mov R0, #0
> -  mcr P15, #0, R0, C7, C10, #4
> -  bx      LR
> -
> -ASM_PFX(ArmInstructionSynchronizationBarrier):
> -  mov R0, #0
> -  mcr P15, #0, R0, C7, C5, #4
> -  bx      LR
> -
> -ASM_PFX(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)
> -  bx      LR
> -
> -ASM_PFX(ArmSetHighVectors):
> -  mrc     p15, 0, r0, c1, c0, 0 @ Read SCTLR into R0 (Read control register 
> configuration data)
> -  orr     r0, r0, #0x00002000   @ clear V bit
> -  mcr     p15, 0, r0, c1, c0, 0 @ Write R0 into SCTLR (Write control 
> register configuration data)
> -  bx      LR
> -
> -ASM_PFX(ArmIsMpCore):
> -  push    { r1 }
> -  mrc     p15, 0, r0, c0, c0, 0
> -  # Extract Part Number to check it is an ARM11MP core (0xB02)
> -  LoadConstantToReg (Arm11PartNumberMask, r1)
> -  and     r0, r0, r1
> -  LoadConstantToReg (Arm11PartNumber, r1)
> -  cmp     r0, r1
> -  movne   r0, #0
> -  pop     { r1 }
> -  bx      lr
> -
> -ASM_PFX(ArmCallWFI):
> -  wfi
> -  bx      lr
> -
> -ASM_PFX(ArmReadMpidr):
> -  mrc     p15, 0, r0, c0, c0, 5       @ read MPIDR
> -  bx      lr
> -
> -ASM_PFX(ArmEnableFiq):
> -  mrs     R0,CPSR
> -  bic     R0,R0,#0x40    @Enable FIQ interrupts
> -  msr     CPSR_c,R0
> -  bx      LR
> -
> -ASM_PFX(ArmDisableFiq):
> -  mrs     R0,CPSR
> -  orr     R1,R0,#0x40    @Disable FIQ interrupts
> -  msr     CPSR_c,R1
> -  tst     R0,#0x80
> -  moveq   R0,#1
> -  movne   R0,#0
> -  bx      LR
> -
> -ASM_PFX(ArmEnableInterrupts):
> -  mrs     R0,CPSR
> -  bic     R0,R0,#0x80    @Enable IRQ interrupts
> -  msr     CPSR_c,R0
> -  bx      LR
> -
> -ASM_PFX(ArmDisableInterrupts):
> -  mrs     R0,CPSR
> -  orr     R1,R0,#0x80    @Disable IRQ interrupts
> -  msr     CPSR_c,R1
> -  tst     R0,#0x80
> -  moveq   R0,#1
> -  movne   R0,#0
> -  bx      LR
> -
> -ASM_PFX(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
> -  # Set EN bit in FPEXC. The Advanced SIMD and VFP extensions are enabled 
> and operate normally.
> -  mov     r0, #0x40000000
> -  #TODO: Fixme - need compilation flag
> -  #fmxr    FPEXC, r0
> -  bx      lr
> -
> -ASM_FUNCTION_REMOVE_IF_UNREFERENCED
> diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11Support.asm 
> b/ArmPkg/Library/ArmLib/Arm11/Arm11Support.asm
> deleted file mode 100644
> index 53283d1eea2a..000000000000
> --- a/ArmPkg/Library/ArmLib/Arm11/Arm11Support.asm
> +++ /dev/null
> @@ -1,157 +0,0 @@
> -//------------------------------------------------------------------------------
> -//
> -// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> -//
> -// This program and the accompanying materials
> -// are licensed and made available under the terms and conditions of the BSD 
> License
> -// which accompanies this distribution.  The full text of the license may be 
> found at
> -// http://opensource.org/licenses/bsd-license.php
> -//
> -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -//
> -//------------------------------------------------------------------------------
> -
> -    EXPORT  ArmCleanInvalidateDataCache
> -    EXPORT  ArmCleanDataCache
> -    EXPORT  ArmInvalidateDataCache
> -    EXPORT  ArmInvalidateInstructionCache
> -    EXPORT  ArmInvalidateDataCacheEntryByMVA
> -    EXPORT  ArmCleanDataCacheEntryByMVA
> -    EXPORT  ArmCleanInvalidateDataCacheEntryByMVA
> -    EXPORT  ArmEnableMmu
> -    EXPORT  ArmDisableMmu
> -    EXPORT  ArmMmuEnabled
> -    EXPORT  ArmEnableDataCache
> -    EXPORT  ArmDisableDataCache
> -    EXPORT  ArmEnableInstructionCache
> -    EXPORT  ArmDisableInstructionCache
> -    EXPORT  ArmEnableBranchPrediction
> -    EXPORT  ArmDisableBranchPrediction
> -    EXPORT  ArmDataMemoryBarrier
> -    EXPORT  ArmDataSyncronizationBarrier
> -    EXPORT  ArmInstructionSynchronizationBarrier
> -
> -
> -DC_ON       EQU     ( 0x1:SHL:2 )
> -IC_ON       EQU     ( 0x1:SHL:12 )
> -XP_ON       EQU     ( 0x1:SHL:23 )
> -
> -
> -    AREA    ArmCacheLib, CODE, READONLY
> -    PRESERVE8
> -
> -
> -ArmInvalidateDataCacheEntryByMVA
> -  mcr     p15, 0, r0, c7, c6, 1   ; invalidate single data cache line
> -  bx      lr
> -
> -
> -ArmCleanDataCacheEntryByMVA
> -  mcr     p15, 0, r0, c7, c10, 1  ; clean single data cache line
> -  bx      lr
> -
> -
> -ArmCleanInvalidateDataCacheEntryByMVA
> -  mcr     p15, 0, r0, c7, c14, 1  ; clean and invalidate single data cache 
> line
> -  bx      lr
> -
> -
> -ArmCleanDataCache
> -  mcr     p15, 0, r0, c7, c10, 0  ; clean entire data cache
> -  bx      lr
> -
> -
> -ArmCleanInvalidateDataCache
> -  mcr     p15, 0, r0, c7, c14, 0  ; clean and invalidate entire data cache
> -  bx      lr
> -
> -
> -ArmInvalidateDataCache
> -  mcr     p15, 0, r0, c7, c6, 0  ; invalidate entire data cache
> -  bx      lr
> -
> -
> -ArmInvalidateInstructionCache
> -  mcr     p15, 0, r0, c7, c5, 0  ;invalidate entire instruction cache
> -  mov     R0,#0
> -  mcr     p15,0,R0,c7,c5,4       ;Flush Prefetch buffer
> -  bx      lr
> -
> -ArmEnableMmu
> -  mrc     p15,0,R0,c1,c0,0
> -  orr     R0,R0,#1
> -  mcr     p15,0,R0,c1,c0,0
> -  bx      LR
> -
> -ArmMmuEnabled
> -  mrc     p15,0,R0,c1,c0,0
> -  and     R0,R0,#1
> -  bx      LR
> -
> -ArmDisableMmu
> -  mrc     p15,0,R0,c1,c0,0
> -  bic     R0,R0,#1
> -  mcr     p15,0,R0,c1,c0,0
> -  mov     R0,#0
> -  mcr     p15,0,R0,c7,c10,4     ;Data synchronization barrier
> -  mov     R0,#0
> -  mcr     p15,0,R0,c7,c5,4      ;Flush Prefetch buffer
> -  bx      LR
> -
> -ArmEnableDataCache
> -  LDR     R1,=DC_ON
> -  MRC     p15,0,R0,c1,c0,0      ;Read control register configuration data
> -  ORR     R0,R0,R1              ;Set C bit
> -  MCR     p15,0,r0,c1,c0,0      ;Write control register configuration data
> -  BX      LR
> -
> -ArmDisableDataCache
> -  LDR     R1,=DC_ON
> -  MRC     p15,0,R0,c1,c0,0      ;Read control register configuration data
> -  BIC     R0,R0,R1              ;Clear C bit
> -  MCR     p15,0,r0,c1,c0,0      ;Write control register configuration data
> -  BX      LR
> -
> -ArmEnableInstructionCache
> -  LDR     R1,=IC_ON
> -  MRC     p15,0,R0,c1,c0,0     ;Read control register configuration data
> -  ORR     R0,R0,R1             ;Set I bit
> -  MCR     p15,0,r0,c1,c0,0     ;Write control register configuration data
> -  BX      LR
> -
> -ArmDisableInstructionCache
> -  LDR     R1,=IC_ON
> -  MRC     p15,0,R0,c1,c0,0     ;Read control register configuration data
> -  BIC     R0,R0,R1             ;Clear I bit.
> -  MCR     p15,0,r0,c1,c0,0     ;Write control register configuration data
> -  BX      LR
> -
> -ArmEnableBranchPrediction
> -  mrc     p15, 0, r0, c1, c0, 0
> -  orr     r0, r0, #0x00000800
> -  mcr     p15, 0, r0, c1, c0, 0
> -  bx      LR
> -
> -ArmDisableBranchPrediction
> -  mrc     p15, 0, r0, c1, c0, 0
> -  bic     r0, r0, #0x00000800
> -  mcr     p15, 0, r0, c1, c0, 0
> -  bx      LR
> -
> -ASM_PFX(ArmDataMemoryBarrier):
> -  mov R0, #0
> -  mcr P15, #0, R0, C7, C10, #5
> -  bx      LR
> -
> -ASM_PFX(ArmDataSyncronizationBarrier):
> -  mov R0, #0
> -  mcr P15, #0, R0, C7, C10, #4
> -  bx      LR
> -
> -ASM_PFX(ArmInstructionSynchronizationBarrier):
> -  MOV R0, #0
> -  MCR P15, #0, R0, C7, C5, #4
> -  bx      LR
> -
> -    END
> diff --git a/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.S 
> b/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.S
> index 43842f325e4e..59f991885995 100644
> --- a/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.S
> +++ b/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.S
> @@ -15,12 +15,6 @@
>  
>  #include <AsmMacroIoLib.h>
>  
> -#ifdef ARM_CPU_ARMv6
> -// No memory barriers for ARMv6
> -#define isb
> -#define dsb
> -#endif
> -
>  .text
>  .align 2
>  GCC_ASM_EXPORT(ArmReadMidr)
> diff --git a/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm 
> b/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm
> index 8864c1605668..0974d4608f75 100644
> --- a/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm
> +++ b/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm
> @@ -17,12 +17,6 @@
>  
>      INCLUDE AsmMacroIoLib.inc
>  
> -#ifdef ARM_CPU_ARMv6
> -// No memory barriers for ARMv6
> -#define isb
> -#define dsb
> -#endif
> -
>      EXPORT ArmReadMidr
>      EXPORT ArmCacheInfo
>      EXPORT ArmGetInterruptState
> -- 
> 1.9.1
> 
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to