diff options
author | Manish Pandey <manish.pandey2@arm.com> | 2020-04-03 18:06:52 +0000 |
---|---|---|
committer | TrustedFirmware Code Review <review@review.trustedfirmware.org> | 2020-04-03 18:06:52 +0000 |
commit | f4367eb77c83ccccf3fa03e409ad2dbc13075da3 (patch) | |
tree | 249c8983cc4fb5171215b94be67a3ff8a6af584b /include | |
parent | 926cd70a0cc3a0cbf209a87765a8dc0b869798e3 (diff) | |
parent | 06aca857f4a8ceae4f2ec126b8a9892b82077415 (diff) | |
download | platform_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.h | 17 |
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) |