]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/Drivers/ArmTrustZone/ArmTrustZone.c
ArmPlatformPkg: remove unused PL310 driver
[mirror_edk2.git] / ArmPlatformPkg / Drivers / ArmTrustZone / ArmTrustZone.c
index 070c0dcb5d4d29f910a46d120963803ed20f8c0c..1f002198e5521126610d27c460bd71b128311444 100644 (file)
@@ -87,20 +87,27 @@ TZASCSetRegion (
   IN  UINTN LowAddress,\r
   IN  UINTN HighAddress,\r
   IN  UINTN Size,\r
-  IN  UINTN Security\r
+  IN  UINTN Security,\r
+  IN  UINTN SubregionDisableMask\r
   )\r
 {\r
   UINT32*     Region;\r
+  UINT32      RegionAttributes;\r
 \r
   if (RegionId > TZASCGetNumRegions(TzascBase)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
+  RegionAttributes = TZASC_REGION_ATTR_SECURITY(Security) |\r
+                     TZASC_REGION_ATTR_SUBREG_DISABLE(SubregionDisableMask) |\r
+                     TZASC_REGION_ATTR_SIZE(Size) |\r
+                     TZASC_REGION_ATTR_ENABLE(Enabled);\r
+\r
   Region = (UINT32*)((UINTN)TzascBase + TZASC_REGIONS_REG + (RegionId * 0x10));\r
 \r
-  MmioWrite32((UINTN)(Region), LowAddress&0xFFFF8000);\r
+  MmioWrite32((UINTN)(Region), TZASC_REGION_SETUP_LO_ADDR(LowAddress));\r
   MmioWrite32((UINTN)(Region+1), HighAddress);\r
-  MmioWrite32((UINTN)(Region+2), ((Security & 0xF) <<28) | ((Size & 0x3F) << 1) | (Enabled & 0x1));\r
+  MmioWrite32((UINTN)(Region+2), RegionAttributes);\r
 \r
   return EFI_SUCCESS;\r
 }\r