highmem.c (259ecb34e2cd73811e250fc9c8d1f07df7bb2d14) highmem.c (39ade048a32ea653b94dcfbf816b0b13a6be8a33)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * High memory handling common code and variables.
4 *
5 * (C) 1999 Andrea Arcangeli, SuSE GmbH, andrea@suse.de
6 * Gerhard Wichert, Siemens AG, Gerhard.Wichert@pdb.siemens.de
7 *
8 *

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

145 unsigned long addr = (unsigned long)vaddr;
146
147 if (addr >= PKMAP_ADDR(0) && addr < PKMAP_ADDR(LAST_PKMAP)) {
148 int i = PKMAP_NR(addr);
149
150 return pte_page(pkmap_page_table[i]);
151 }
152
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * High memory handling common code and variables.
4 *
5 * (C) 1999 Andrea Arcangeli, SuSE GmbH, andrea@suse.de
6 * Gerhard Wichert, Siemens AG, Gerhard.Wichert@pdb.siemens.de
7 *
8 *

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

145 unsigned long addr = (unsigned long)vaddr;
146
147 if (addr >= PKMAP_ADDR(0) && addr < PKMAP_ADDR(LAST_PKMAP)) {
148 int i = PKMAP_NR(addr);
149
150 return pte_page(pkmap_page_table[i]);
151 }
152
153 return virt_to_page(vaddr);
153 return virt_to_page(addr);
154}
155EXPORT_SYMBOL(__kmap_to_page);
156
157static void flush_all_zero_pkmaps(void)
158{
159 int i;
160 int need_flush = 0;
161

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

556 kmap = arch_kmap_local_high_get(page);
557 if (kmap)
558 return kmap;
559
560 return __kmap_local_pfn_prot(page_to_pfn(page), prot);
561}
562EXPORT_SYMBOL(__kmap_local_page_prot);
563
154}
155EXPORT_SYMBOL(__kmap_to_page);
156
157static void flush_all_zero_pkmaps(void)
158{
159 int i;
160 int need_flush = 0;
161

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

556 kmap = arch_kmap_local_high_get(page);
557 if (kmap)
558 return kmap;
559
560 return __kmap_local_pfn_prot(page_to_pfn(page), prot);
561}
562EXPORT_SYMBOL(__kmap_local_page_prot);
563
564void kunmap_local_indexed(void *vaddr)
564void kunmap_local_indexed(const void *vaddr)
565{
566 unsigned long addr = (unsigned long) vaddr & PAGE_MASK;
567 pte_t *kmap_pte;
568 int idx;
569
570 if (addr < __fix_to_virt(FIX_KMAP_END) ||
571 addr > __fix_to_virt(FIX_KMAP_BEGIN)) {
572 if (IS_ENABLED(CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP)) {

--- 223 unchanged lines hidden ---
565{
566 unsigned long addr = (unsigned long) vaddr & PAGE_MASK;
567 pte_t *kmap_pte;
568 int idx;
569
570 if (addr < __fix_to_virt(FIX_KMAP_END) ||
571 addr > __fix_to_virt(FIX_KMAP_BEGIN)) {
572 if (IS_ENABLED(CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP)) {

--- 223 unchanged lines hidden ---