]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/Include/Drivers/ArmTrustzone.h
ArmPlatformPkg/TZASC: Allow specifying subregions to be disabled
[mirror_edk2.git] / ArmPlatformPkg / Include / Drivers / ArmTrustzone.h
index 78e98aad535ff680af5e3f2f8da9ded2a7c22b0d..827b5cd568c1f66a1f42b258c8c27311591dbd32 100644 (file)
@@ -71,6 +71,22 @@ TZPCClearDecProtBits (
 #define TZASC_REGION_SECURITY_NSW   1\r
 #define TZASC_REGION_SECURITY_NSRW  (TZASC_REGION_SECURITY_NSR|TZASC_REGION_SECURITY_NSW)\r
 \r
+/* Some useful masks */\r
+#define TZASC_REGION_SETUP_LO_ADDR_MASK   0xFFFF8000\r
+\r
+#define TZASC_REGION_ATTR_SECURITY_MASK   0xF\r
+#define TZASC_REGION_ATTR_SUBREG_DIS_MASK 0xFF\r
+#define TZASC_REGION_ATTR_SIZE_MASK       0x3F\r
+#define TZASC_REGION_ATTR_EN_MASK         0x1\r
+\r
+#define TZASC_REGION_SETUP_LO_ADDR(x)  ((x) & TZASC_REGION_SETUP_LO_ADDR_MASK)\r
+\r
+#define TZASC_REGION_ATTR_SECURITY(x)  (((x) & TZASC_REGION_ATTR_SECURITY_MASK) << 28)\r
+#define TZASC_REGION_ATTR_SUBREG_DISABLE(x) \\r
+                                       (((x) & TZASC_REGION_ATTR_SUBREG_DIS_MASK) << 8)\r
+#define TZASC_REGION_ATTR_SIZE(x)      (((x) & TZASC_REGION_ATTR_SIZE_MASK) << 1)\r
+#define TZASC_REGION_ATTR_ENABLE(x)    ((x) & TZASC_REGION_ATTR_EN_MASK)\r
+\r
 /**\r
     FIXME: Need documentation\r
 **/\r
@@ -82,7 +98,8 @@ 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
 #endif\r