aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorManish Pandey <manish.pandey2@arm.com>2020-04-03 18:06:52 +0000
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>2020-04-03 18:06:52 +0000
commitf4367eb77c83ccccf3fa03e409ad2dbc13075da3 (patch)
tree249c8983cc4fb5171215b94be67a3ff8a6af584b /include
parent926cd70a0cc3a0cbf209a87765a8dc0b869798e3 (diff)
parent06aca857f4a8ceae4f2ec126b8a9892b82077415 (diff)
downloadplatform_external_arm-trusted-firmware-f4367eb77c83ccccf3fa03e409ad2dbc13075da3.tar.gz
platform_external_arm-trusted-firmware-f4367eb77c83ccccf3fa03e409ad2dbc13075da3.tar.bz2
platform_external_arm-trusted-firmware-f4367eb77c83ccccf3fa03e409ad2dbc13075da3.zip
Merge "xlat lib v2: Add support to pass shareability attribute for normal memory region" into integration
Diffstat (limited to 'include')
-rw-r--r--include/lib/xlat_tables/xlat_tables_v2.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/lib/xlat_tables/xlat_tables_v2.h b/include/lib/xlat_tables/xlat_tables_v2.h
index 9fe4a6e8a..8eb84a892 100644
--- a/include/lib/xlat_tables/xlat_tables_v2.h
+++ b/include/lib/xlat_tables/xlat_tables_v2.h
@@ -66,6 +66,11 @@
#define MT_EXECUTE_SHIFT U(5)
/* In the EL1&0 translation regime, User (EL0) or Privileged (EL1). */
#define MT_USER_SHIFT U(6)
+
+/* Shareability attribute for the memory region */
+#define MT_SHAREABILITY_SHIFT U(7)
+#define MT_SHAREABILITY_MASK (U(3) << MT_SHAREABILITY_SHIFT)
+#define MT_SHAREABILITY(_attr) ((_attr) & MT_SHAREABILITY_MASK)
/* All other bits are reserved */
/*
@@ -106,6 +111,18 @@
#define MT_USER (U(1) << MT_USER_SHIFT)
#define MT_PRIVILEGED (U(0) << MT_USER_SHIFT)
+/*
+ * Shareability defines the visibility of any cache changes to
+ * all masters belonging to a shareable domain.
+ *
+ * MT_SHAREABILITY_ISH: For inner shareable domain
+ * MT_SHAREABILITY_OSH: For outer shareable domain
+ * MT_SHAREABILITY_NSH: For non shareable domain
+ */
+#define MT_SHAREABILITY_ISH (U(1) << MT_SHAREABILITY_SHIFT)
+#define MT_SHAREABILITY_OSH (U(2) << MT_SHAREABILITY_SHIFT)
+#define MT_SHAREABILITY_NSH (U(3) << MT_SHAREABILITY_SHIFT)
+
/* Compound attributes for most common usages */
#define MT_CODE (MT_MEMORY | MT_RO | MT_EXECUTE)
#define MT_RO_DATA (MT_MEMORY | MT_RO | MT_EXECUTE_NEVER)