]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Library/ArmLib/Common/ArmLib.c
ArmPkg/ArmLib: remove CCSIDR based cache info routines
[mirror_edk2.git] / ArmPkg / Library / ArmLib / Common / ArmLib.c
index b015dc4aa1160766ceee04a8cd57ad419825cb16..4febc45220a3baafff42d7e46ae0b38cd13e3dc6 100644 (file)
@@ -1,8 +1,9 @@
 /** @file\r
 \r
-  Copyright (c) 2008-2009, Apple Inc. All rights reserved.\r
-  \r
-  All rights reserved. This program and the accompanying materials\r
+  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
+  Copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>\r
+\r
+  This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
   http://opensource.org/licenses/bsd-license.php\r
 \r
 VOID\r
 EFIAPI\r
-ArmCacheInformation (\r
-  OUT ARM_CACHE_INFO  *CacheInfo\r
+ArmSetAuxCrBit (\r
+  IN  UINT32    Bits\r
   )\r
 {\r
-  if (CacheInfo != NULL) {\r
-    CacheInfo->Type                           = ArmCacheType();\r
-    CacheInfo->Architecture                   = ArmCacheArchitecture();\r
-    CacheInfo->DataCachePresent               = ArmDataCachePresent();\r
-    CacheInfo->DataCacheSize                  = ArmDataCacheSize();\r
-    CacheInfo->DataCacheAssociativity         = ArmDataCacheAssociativity();\r
-    CacheInfo->DataCacheLineLength            = ArmDataCacheLineLength();\r
-    CacheInfo->InstructionCachePresent        = ArmInstructionCachePresent();\r
-    CacheInfo->InstructionCacheSize           = ArmInstructionCacheSize();\r
-    CacheInfo->InstructionCacheAssociativity  = ArmInstructionCacheAssociativity();\r
-    CacheInfo->InstructionCacheLineLength     = ArmInstructionCacheLineLength();\r
-  }\r
+  UINT32 val = ArmReadAuxCr();\r
+  val |= Bits;\r
+  ArmWriteAuxCr(val);\r
 }\r
 \r
 VOID\r
 EFIAPI\r
-ArmSwitchProcessorMode (\r
-  IN ARM_PROCESSOR_MODE Mode\r
+ArmUnsetAuxCrBit (\r
+  IN  UINT32    Bits\r
   )\r
 {\r
-  CPSRMaskInsert(ARM_PROCESSOR_MODE_MASK, Mode);\r
+  UINT32 val = ArmReadAuxCr();\r
+  val &= ~Bits;\r
+  ArmWriteAuxCr(val);\r
 }\r
 \r
+//\r
+// Helper functions for accessing CPUACTLR\r
+//\r
+\r
+VOID\r
+EFIAPI\r
+ArmSetCpuActlrBit (\r
+  IN  UINTN    Bits\r
+  )\r
+{\r
+  UINTN Value;\r
+  Value =  ArmReadCpuActlr ();\r
+  Value |= Bits;\r
+  ArmWriteCpuActlr (Value);\r
+}\r
 \r
-ARM_PROCESSOR_MODE\r
+VOID\r
 EFIAPI\r
-ArmProcessorMode (\r
-  VOID\r
+ArmUnsetCpuActlrBit (\r
+  IN  UINTN    Bits\r
   )\r
 {\r
-  return (ARM_PROCESSOR_MODE)(CPSRRead() & (UINT32)ARM_PROCESSOR_MODE_MASK);\r
+  UINTN Value;\r
+  Value = ArmReadCpuActlr ();\r
+  Value &= ~Bits;\r
+  ArmWriteCpuActlr (Value);\r
 }\r