mmu.c (6f50fa2a6f1395ad5f59ce7b87730f1f3ea19d76) mmu.c (e112b032a72c78f15d0c803c5dc6be444c2e6c66)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Based on arch/arm/mm/mmu.c
4 *
5 * Copyright (C) 1995-2005 Russell King
6 * Copyright (C) 2012 ARM Ltd.
7 */
8

--- 862 unchanged lines hidden (view full) ---

871 if (pgprot_val(flags)) {
872 set_pte(ptep, pfn_pte(phys >> PAGE_SHIFT, flags));
873 } else {
874 pte_clear(&init_mm, addr, ptep);
875 flush_tlb_kernel_range(addr, addr+PAGE_SIZE);
876 }
877}
878
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Based on arch/arm/mm/mmu.c
4 *
5 * Copyright (C) 1995-2005 Russell King
6 * Copyright (C) 2012 ARM Ltd.
7 */
8

--- 862 unchanged lines hidden (view full) ---

871 if (pgprot_val(flags)) {
872 set_pte(ptep, pfn_pte(phys >> PAGE_SHIFT, flags));
873 } else {
874 pte_clear(&init_mm, addr, ptep);
875 flush_tlb_kernel_range(addr, addr+PAGE_SIZE);
876 }
877}
878
879void *__init __fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot)
879void *__init fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot)
880{
881 const u64 dt_virt_base = __fix_to_virt(FIX_FDT);
882 int offset;
883 void *dt_virt;
884
885 /*
886 * Check whether the physical FDT address is set and meets the minimum
887 * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be

--- 36 unchanged lines hidden (view full) ---

924
925 if (offset + *size > SWAPPER_BLOCK_SIZE)
926 create_mapping_noalloc(round_down(dt_phys, SWAPPER_BLOCK_SIZE), dt_virt_base,
927 round_up(offset + *size, SWAPPER_BLOCK_SIZE), prot);
928
929 return dt_virt;
930}
931
880{
881 const u64 dt_virt_base = __fix_to_virt(FIX_FDT);
882 int offset;
883 void *dt_virt;
884
885 /*
886 * Check whether the physical FDT address is set and meets the minimum
887 * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be

--- 36 unchanged lines hidden (view full) ---

924
925 if (offset + *size > SWAPPER_BLOCK_SIZE)
926 create_mapping_noalloc(round_down(dt_phys, SWAPPER_BLOCK_SIZE), dt_virt_base,
927 round_up(offset + *size, SWAPPER_BLOCK_SIZE), prot);
928
929 return dt_virt;
930}
931
932void *__init fixmap_remap_fdt(phys_addr_t dt_phys)
933{
934 void *dt_virt;
935 int size;
936
937 dt_virt = __fixmap_remap_fdt(dt_phys, &size, PAGE_KERNEL_RO);
938 if (!dt_virt)
939 return NULL;
940
941 memblock_reserve(dt_phys, size);
942 return dt_virt;
943}
944
945int __init arch_ioremap_p4d_supported(void)
946{
947 return 0;
948}
949
950int __init arch_ioremap_pud_supported(void)
951{
952 /*

--- 142 unchanged lines hidden ---
932int __init arch_ioremap_p4d_supported(void)
933{
934 return 0;
935}
936
937int __init arch_ioremap_pud_supported(void)
938{
939 /*

--- 142 unchanged lines hidden ---