On 19 August 2015 at 12:47, Leif Lindholm <leif.lindh...@linaro.org> wrote:
> 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 <leif.lindh...@linaro.org>
>

Thanks
Committed as SVN r18237

-- 
Ard.

>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
>> ---
>> 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
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to