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 --- |