lkml.org 
[lkml]   [2022]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6.0 216/862] ARM: 9247/1: mm: set readonly for MT_MEMORY_RO with ARM_LPAE
    Date
    From: Wang Kefeng <wangkefeng.wang@huawei.com>

    [ Upstream commit 14ca1a4690750bb54e1049e49f3140ef48958a6e ]

    MT_MEMORY_RO is introduced by commit 598f0a99fa8a ("ARM: 9210/1:
    Mark the FDT_FIXED sections as shareable"), which is a readonly
    memory type for FDT area, but there are some different between
    ARM_LPAE and non-ARM_LPAE, we need to setup PMD_SECT_AP2 and
    L_PMD_SECT_RDONLY for MT_MEMORY_RO when ARM_LAPE enabled.

    non-ARM_LPAE 0xff800000-0xffa00000 2M PGD KERNEL ro NX SHD
    ARM_LPAE 0xff800000-0xffc00000 4M PMD RW NX SHD
    ARM_LPAE+fix 0xff800000-0xffc00000 4M PMD ro NX SHD

    Fixes: 598f0a99fa8a ("ARM: 9210/1: Mark the FDT_FIXED sections as shareable")
    Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
    Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm/mm/mmu.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
    index a49f0b9c0f75..463fc2a8448f 100644
    --- a/arch/arm/mm/mmu.c
    +++ b/arch/arm/mm/mmu.c
    @@ -300,7 +300,11 @@ static struct mem_type mem_types[] __ro_after_init = {
    .prot_pte = L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY |
    L_PTE_XN | L_PTE_RDONLY,
    .prot_l1 = PMD_TYPE_TABLE,
    +#ifdef CONFIG_ARM_LPAE
    + .prot_sect = PMD_TYPE_SECT | L_PMD_SECT_RDONLY | PMD_SECT_AP2,
    +#else
    .prot_sect = PMD_TYPE_SECT,
    +#endif
    .domain = DOMAIN_KERNEL,
    },
    [MT_ROM] = {
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-10-19 10:53    [W:2.539 / U:0.252 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site