--- zzzz-none-000/linux-4.1.38/arch/arm64/include/asm/pgtable.h 2017-01-18 18:48:06.000000000 +0000 +++ bcm63-7582-715/linux-4.1.38/arch/arm64/include/asm/pgtable.h 2020-11-25 10:06:48.000000000 +0000 @@ -57,6 +57,9 @@ #ifdef CONFIG_SMP #define PROT_DEFAULT (PTE_TYPE_PAGE | PTE_AF | PTE_SHARED) +#if defined(CONFIG_BCM_KF_COHERENT_OUTER_SHARED) && defined(CONFIG_BCM_COHERENT_OUTER_SHARED) +#define PROT_DEFAULT_OUTER (PTE_TYPE_PAGE | PTE_AF | PTE_OUTER_SHARED) +#endif #define PROT_SECT_DEFAULT (PMD_TYPE_SECT | PMD_SECT_AF | PMD_SECT_S) #else #define PROT_DEFAULT (PTE_TYPE_PAGE | PTE_AF) @@ -66,6 +69,9 @@ #define PROT_DEVICE_nGnRE (PROT_DEFAULT | PTE_PXN | PTE_UXN | PTE_ATTRINDX(MT_DEVICE_nGnRE)) #define PROT_NORMAL_NC (PROT_DEFAULT | PTE_PXN | PTE_UXN | PTE_ATTRINDX(MT_NORMAL_NC)) #define PROT_NORMAL (PROT_DEFAULT | PTE_PXN | PTE_UXN | PTE_ATTRINDX(MT_NORMAL)) +#if defined(CONFIG_BCM_KF_COHERENT_OUTER_SHARED) && defined(CONFIG_BCM_COHERENT_OUTER_SHARED) +#define PROT_OUTER_SHARABLE (PROT_DEFAULT_OUTER | PTE_PXN | PTE_UXN | PTE_ATTRINDX(MT_NORMAL)) +#endif #define PROT_SECT_DEVICE_nGnRE (PROT_SECT_DEFAULT | PMD_SECT_PXN | PMD_SECT_UXN | PMD_ATTRINDX(MT_DEVICE_nGnRE)) #define PROT_SECT_NORMAL (PROT_SECT_DEFAULT | PMD_SECT_PXN | PMD_SECT_UXN | PMD_ATTRINDX(MT_NORMAL))